Crazy Eddie's GUI System
0.8.4
|
Base class for the ScrollablePane widget. More...
Public Member Functions | |
ScrollablePane (const String &type, const String &name) | |
Constructor for the ScrollablePane base class. | |
~ScrollablePane (void) | |
Destructor for the ScrollablePane base class. | |
const ScrolledContainer * | getContentPane (void) const |
Returns a pointer to the window holding the pane contents. | |
bool | isVertScrollbarAlwaysShown (void) const |
Return whether the vertical scroll bar is always shown. | |
void | setShowVertScrollbar (bool setting) |
Set whether the vertical scroll bar should always be shown. | |
bool | isHorzScrollbarAlwaysShown (void) const |
Return whether the horizontal scroll bar is always shown. | |
void | setShowHorzScrollbar (bool setting) |
Set whether the horizontal scroll bar should always be shown. | |
bool | isContentPaneAutoSized (void) const |
Return whether the content pane is auto sized. | |
void | setContentPaneAutoSized (bool setting) |
Set whether the content pane should be auto-sized. | |
const Rectf & | getContentPaneArea (void) const |
Return the current content pane area for the ScrollablePane. | |
void | setContentPaneArea (const Rectf &area) |
Set the current content pane area for the ScrollablePane. | |
float | getHorizontalStepSize (void) const |
Returns the horizontal scrollbar step size as a fraction of one complete view page. | |
void | setHorizontalStepSize (float step) |
Sets the horizontal scrollbar step size as a fraction of one complete view page. | |
float | getHorizontalOverlapSize (void) const |
Returns the horizontal scrollbar overlap size as a fraction of one complete view page. | |
void | setHorizontalOverlapSize (float overlap) |
Sets the horizontal scrollbar overlap size as a fraction of one complete view page. | |
float | getHorizontalScrollPosition (void) const |
Returns the horizontal scroll position as a fraction of the complete scrollable width. | |
void | setHorizontalScrollPosition (float position) |
Sets the horizontal scroll position as a fraction of the complete scrollable width. | |
float | getVerticalStepSize (void) const |
Returns the vertical scrollbar step size as a fraction of one complete view page. | |
void | setVerticalStepSize (float step) |
Sets the vertical scrollbar step size as a fraction of one complete view page. | |
float | getVerticalOverlapSize (void) const |
Returns the vertical scrollbar overlap size as a fraction of one complete view page. | |
void | setVerticalOverlapSize (float overlap) |
Sets the vertical scrollbar overlap size as a fraction of one complete view page. | |
float | getVerticalScrollPosition (void) const |
Returns the vertical scroll position as a fraction of the complete scrollable height. | |
void | setVerticalScrollPosition (float position) |
Sets the vertical scroll position as a fraction of the complete scrollable height. | |
Rectf | getViewableArea (void) const |
Return a Rect that described the pane's viewable area, relative to this Window, in pixels. | |
Scrollbar * | getVertScrollbar () const |
Return a pointer to the vertical scrollbar component widget for this ScrollablePane. | |
Scrollbar * | getHorzScrollbar () const |
Return a pointer to the horizontal scrollbar component widget for this ScrollablePane. | |
void | initialiseComponents (void) |
Initialises the Window based object ready for use. | |
void | destroy (void) |
Internal destroy method which actually just adds the window and any parent destructed child windows to the dead pool. | |
Static Public Attributes | |
static const String | WidgetTypeName |
Window factory name. | |
static const String | EventNamespace |
Namespace for global events. | |
static const String | EventContentPaneChanged |
static const String | EventVertScrollbarModeChanged |
static const String | EventHorzScrollbarModeChanged |
static const String | EventAutoSizeSettingChanged |
static const String | EventContentPaneScrolled |
static const String | VertScrollbarName |
Widget name for the vertical scrollbar component. | |
static const String | HorzScrollbarName |
Widget name for the horizontal scrollbar component. | |
static const String | ScrolledContainerName |
Widget name for the scrolled container component. | |
Protected Member Functions | |
void | configureScrollbars (void) |
display required integrated scroll bars according to current size of the ScrollablePane view area and the size of the attached ScrolledContainer. | |
bool | isVertScrollbarNeeded (void) const |
Return whether the vertical scrollbar is needed. | |
bool | isHorzScrollbarNeeded (void) const |
Return whether the horizontal scrollbar is needed. | |
void | updateContainerPosition (void) |
Update the content container position according to the current state of the widget (like scrollbar positions, etc). | |
ScrolledContainer * | getScrolledContainer () const |
Return a pointer to the ScrolledContainer component widget for this ScrollablePane. | |
virtual bool | validateWindowRenderer (const WindowRenderer *renderer) const |
Function used in checking if a WindowRenderer is valid for this window. | |
virtual void | onContentPaneChanged (WindowEventArgs &e) |
Event trigger method called when some pane content has changed size or location. | |
virtual void | onVertScrollbarModeChanged (WindowEventArgs &e) |
Event trigger method called when the setting that controls whether the vertical scrollbar is always shown or not, is changed. | |
virtual void | onHorzScrollbarModeChanged (WindowEventArgs &e) |
Event trigger method called when the setting that controls whether the horizontal scrollbar is always shown or not, is changed. | |
virtual void | onAutoSizeSettingChanged (WindowEventArgs &e) |
Notification method called whenever the setting that controls whether the content pane is automatically sized is changed. | |
virtual void | onContentPaneScrolled (WindowEventArgs &e) |
Notification method called whenever the content pane is scrolled via changes in the scrollbar positions. | |
bool | handleScrollChange (const EventArgs &e) |
Handler method which gets subscribed to the scrollbar position change events. | |
bool | handleContentAreaChange (const EventArgs &e) |
Handler method which gets subscribed to the ScrolledContainer content change events. | |
bool | handleAutoSizePaneChanged (const EventArgs &e) |
Handler method which gets subscribed to the ScrolledContainer auto-size setting changes. | |
void | addChild_impl (Element *element) |
void | removeChild_impl (Element *element) |
void | onSized (ElementEventArgs &e) |
Handler called when the window's size changes. | |
void | onMouseWheel (MouseEventArgs &e) |
Handler called when the mouse wheel (z-axis) position changes within this window's area. | |
NamedElement * | getChildByNamePath_impl (const String &name_path) const |
Protected Attributes | |
bool | d_forceVertScroll |
true if vertical scrollbar should always be displayed | |
bool | d_forceHorzScroll |
true if horizontal scrollbar should always be displayed | |
Rectf | d_contentRect |
holds content area so we can track changes. | |
float | d_vertStep |
vertical scroll step fraction. | |
float | d_vertOverlap |
vertical scroll overlap fraction. | |
float | d_horzStep |
horizontal scroll step fraction. | |
float | d_horzOverlap |
horizontal scroll overlap fraction. | |
Event::Connection | d_contentChangedConn |
Event connection to content pane. | |
Event::Connection | d_autoSizeChangedConn |
Event connection to content pane. |
Base class for the ScrollablePane widget.
The ScrollablePane widget allows child windows to be attached which cover an area larger than the ScrollablePane itself and these child windows can be scrolled into view using the scrollbars of the scrollable pane.
void CEGUI::ScrollablePane::addChild_impl | ( | Element * | element | ) | [protected, virtual] |
Add given element to child list at an appropriate position.
Reimplemented from CEGUI::Window.
void CEGUI::ScrollablePane::destroy | ( | void | ) | [virtual] |
Internal destroy method which actually just adds the window and any parent destructed child windows to the dead pool.
This is virtual to allow for specialised cleanup which may be required in some advanced cases. If you override this for the above reason, you MUST call this base class version.
Reimplemented from CEGUI::Window.
NamedElement* CEGUI::ScrollablePane::getChildByNamePath_impl | ( | const String & | name_path | ) | const [protected, virtual] |
Retrieves a child at name_path or 0 if none such exists.
Reimplemented from CEGUI::NamedElement.
const ScrolledContainer* CEGUI::ScrollablePane::getContentPane | ( | void | ) | const |
Returns a pointer to the window holding the pane contents.
The purpose of this is so that attached windows may be inspected, client code may not modify the returned window in any way.
const Rectf& CEGUI::ScrollablePane::getContentPaneArea | ( | void | ) | const |
Return the current content pane area for the ScrollablePane.
float CEGUI::ScrollablePane::getHorizontalOverlapSize | ( | void | ) | const |
Returns the horizontal scrollbar overlap size as a fraction of one complete view page.
float CEGUI::ScrollablePane::getHorizontalScrollPosition | ( | void | ) | const |
Returns the horizontal scroll position as a fraction of the complete scrollable width.
float CEGUI::ScrollablePane::getHorizontalStepSize | ( | void | ) | const |
Returns the horizontal scrollbar step size as a fraction of one complete view page.
Scrollbar* CEGUI::ScrollablePane::getHorzScrollbar | ( | ) | const |
Return a pointer to the horizontal scrollbar component widget for this ScrollablePane.
UnknownObjectException | Thrown if the horizontal Scrollbar component does not exist. |
ScrolledContainer* CEGUI::ScrollablePane::getScrolledContainer | ( | ) | const [protected] |
Return a pointer to the ScrolledContainer component widget for this ScrollablePane.
UnknownObjectException | Thrown if the scrolled container component does not exist. |
float CEGUI::ScrollablePane::getVerticalOverlapSize | ( | void | ) | const |
Returns the vertical scrollbar overlap size as a fraction of one complete view page.
float CEGUI::ScrollablePane::getVerticalScrollPosition | ( | void | ) | const |
Returns the vertical scroll position as a fraction of the complete scrollable height.
float CEGUI::ScrollablePane::getVerticalStepSize | ( | void | ) | const |
Returns the vertical scrollbar step size as a fraction of one complete view page.
Scrollbar* CEGUI::ScrollablePane::getVertScrollbar | ( | ) | const |
Return a pointer to the vertical scrollbar component widget for this ScrollablePane.
UnknownObjectException | Thrown if the vertical Scrollbar component does not exist. |
Rectf CEGUI::ScrollablePane::getViewableArea | ( | void | ) | const |
Return a Rect that described the pane's viewable area, relative to this Window, in pixels.
void CEGUI::ScrollablePane::initialiseComponents | ( | void | ) | [virtual] |
Initialises the Window based object ready for use.
Reimplemented from CEGUI::Window.
bool CEGUI::ScrollablePane::isContentPaneAutoSized | ( | void | ) | const |
Return whether the content pane is auto sized.
bool CEGUI::ScrollablePane::isHorzScrollbarAlwaysShown | ( | void | ) | const |
Return whether the horizontal scroll bar is always shown.
bool CEGUI::ScrollablePane::isHorzScrollbarNeeded | ( | void | ) | const [protected] |
Return whether the horizontal scrollbar is needed.
bool CEGUI::ScrollablePane::isVertScrollbarAlwaysShown | ( | void | ) | const |
Return whether the vertical scroll bar is always shown.
bool CEGUI::ScrollablePane::isVertScrollbarNeeded | ( | void | ) | const [protected] |
Return whether the vertical scrollbar is needed.
virtual void CEGUI::ScrollablePane::onAutoSizeSettingChanged | ( | WindowEventArgs & | e | ) | [protected, virtual] |
Notification method called whenever the setting that controls whether the content pane is automatically sized is changed.
e | WindowEventArgs object. |
virtual void CEGUI::ScrollablePane::onContentPaneChanged | ( | WindowEventArgs & | e | ) | [protected, virtual] |
Event trigger method called when some pane content has changed size or location.
e | WindowEventArgs object. |
virtual void CEGUI::ScrollablePane::onContentPaneScrolled | ( | WindowEventArgs & | e | ) | [protected, virtual] |
Notification method called whenever the content pane is scrolled via changes in the scrollbar positions.
e | WindowEventArgs object. |
virtual void CEGUI::ScrollablePane::onHorzScrollbarModeChanged | ( | WindowEventArgs & | e | ) | [protected, virtual] |
Event trigger method called when the setting that controls whether the horizontal scrollbar is always shown or not, is changed.
e | WindowEventArgs object. |
void CEGUI::ScrollablePane::onMouseWheel | ( | MouseEventArgs & | e | ) | [protected, virtual] |
Handler called when the mouse wheel (z-axis) position changes within this window's area.
e | MouseEventArgs object. All fields are valid. |
Reimplemented from CEGUI::Window.
void CEGUI::ScrollablePane::onSized | ( | ElementEventArgs & | e | ) | [protected, virtual] |
Handler called when the window's size changes.
e | WindowEventArgs object whose 'window' pointer field is set to the window that triggered the event. For this event the trigger window is always 'this'. |
Reimplemented from CEGUI::Window.
virtual void CEGUI::ScrollablePane::onVertScrollbarModeChanged | ( | WindowEventArgs & | e | ) | [protected, virtual] |
Event trigger method called when the setting that controls whether the vertical scrollbar is always shown or not, is changed.
e | WindowEventArgs object. |
void CEGUI::ScrollablePane::removeChild_impl | ( | Element * | element | ) | [protected, virtual] |
Remove given element from child list.
Reimplemented from CEGUI::Window.
void CEGUI::ScrollablePane::setContentPaneArea | ( | const Rectf & | area | ) |
Set the current content pane area for the ScrollablePane.
area | Rect object that details the pixel extents to use for the content pane attached to this ScrollablePane. |
void CEGUI::ScrollablePane::setContentPaneAutoSized | ( | bool | setting | ) |
Set whether the content pane should be auto-sized.
setting |
|
void CEGUI::ScrollablePane::setHorizontalOverlapSize | ( | float | overlap | ) |
Sets the horizontal scrollbar overlap size as a fraction of one complete view page.
overlap | float value specifying the overlap size, where 1.0f would be the width of the viewing area. |
void CEGUI::ScrollablePane::setHorizontalScrollPosition | ( | float | position | ) |
Sets the horizontal scroll position as a fraction of the complete scrollable width.
position | float value specifying the new scroll position. |
void CEGUI::ScrollablePane::setHorizontalStepSize | ( | float | step | ) |
Sets the horizontal scrollbar step size as a fraction of one complete view page.
step | float value specifying the step size, where 1.0f would be the width of the viewing area. |
void CEGUI::ScrollablePane::setShowHorzScrollbar | ( | bool | setting | ) |
Set whether the horizontal scroll bar should always be shown.
setting |
|
void CEGUI::ScrollablePane::setShowVertScrollbar | ( | bool | setting | ) |
Set whether the vertical scroll bar should always be shown.
setting |
|
void CEGUI::ScrollablePane::setVerticalOverlapSize | ( | float | overlap | ) |
Sets the vertical scrollbar overlap size as a fraction of one complete view page.
overlap | float value specifying the overlap size, where 1.0f would be the height of the viewing area. |
void CEGUI::ScrollablePane::setVerticalScrollPosition | ( | float | position | ) |
Sets the vertical scroll position as a fraction of the complete scrollable height.
position | float value specifying the new scroll position. |
void CEGUI::ScrollablePane::setVerticalStepSize | ( | float | step | ) |
Sets the vertical scrollbar step size as a fraction of one complete view page.
step | float value specifying the step size, where 1.0f would be the height of the viewing area. |
virtual bool CEGUI::ScrollablePane::validateWindowRenderer | ( | const WindowRenderer * | renderer | ) | const [protected, virtual] |
Function used in checking if a WindowRenderer is valid for this window.
renderer | Window renderer that will be checked (it can be null!) |
Reimplemented from CEGUI::Window.
const String CEGUI::ScrollablePane::EventAutoSizeSettingChanged [static] |
Event fired when the auto size setting for the pane is changed. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the ScrollablePane whose auto size setting has been changed.
const String CEGUI::ScrollablePane::EventContentPaneChanged [static] |
Event fired when an area on the content pane has been updated. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the ScrollablePane whose content pane has been updated.
const String CEGUI::ScrollablePane::EventContentPaneScrolled [static] |
Event fired when the pane gets scrolled. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the ScrollablePane that has been scrolled.
const String CEGUI::ScrollablePane::EventHorzScrollbarModeChanged [static] |
Event fired when the horizontal scroll bar 'force' setting is changed. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the ScrollablePane whose horizontal scroll bar mode has been changed.
const String CEGUI::ScrollablePane::EventVertScrollbarModeChanged [static] |
Event fired when the vertical scroll bar 'force' setting is changed. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the ScrollablePane whose vertical scroll bar mode has been changed.