Crazy Eddie's GUI System
0.8.4
|
Helper container window class which is used in the implementation of the ScrollablePane widget class. More...
Public Member Functions | |
ScrolledContainer (const String &type, const String &name) | |
Constructor for ScrolledContainer objects. | |
~ScrolledContainer (void) | |
Destructor for ScrolledContainer objects. | |
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 & | getContentArea (void) const |
Return the current content pane area for the ScrolledContainer. | |
void | setContentArea (const Rectf &area) |
Set the current content pane area for the ScrolledContainer. | |
Rectf | getChildExtentsArea (void) const |
Return the current extents of the attached content. | |
virtual const CachedRectf & | getClientChildContentArea () const |
Return a Rect that is used by client child elements as content area. | |
virtual const CachedRectf & | getNonClientChildContentArea () const |
Return a Rect that is used by client child elements as content area. | |
virtual void | notifyScreenAreaChanged (bool recursive) |
Inform the window, and optionally all children, that screen area rectangles have changed. | |
Static Public Attributes | |
static const String | WidgetTypeName |
Type name for ScrolledContainer. | |
static const String | EventNamespace |
Namespace for global events. | |
static const String | EventContentChanged |
static const String | EventAutoSizeSettingChanged |
Protected Types | |
typedef std::multimap< Window *, Event::Connection > | ConnectionTracker |
type definition for collection used to track event connections. | |
Protected Member Functions | |
virtual Rectf | getUnclippedInnerRect_impl (bool skipAllPixelAlignment) const |
Default implementation of function to return Element's inner rect area. | |
Rectf | getClientChildContentArea_impl (bool skipAllPixelAlignment) const |
virtual void | onContentChanged (WindowEventArgs &e) |
Notification method called whenever the content size may have changed. | |
virtual void | onAutoSizeSettingChanged (WindowEventArgs &e) |
Notification method called whenever the setting that controls whether the content pane is automatically sized is changed. | |
bool | handleChildSized (const EventArgs &e) |
handles notifications about child windows being moved. | |
bool | handleChildMoved (const EventArgs &e) |
handles notifications about child windows being sized. | |
void | drawSelf (const RenderingContext &) |
Perform the actual rendering for this Window. | |
Rectf | getInnerRectClipper_impl () const |
Default implementation of function to return Window inner clipper area. | |
void | setArea_impl (const UVector2 &pos, const USize &size, bool topLeftSizing=false, bool fireEvents=true) |
Rectf | getHitTestRect_impl () const |
Default implementation of function to return Window hit-test area. | |
void | onChildAdded (ElementEventArgs &e) |
Handler called when a child window is added to this window. | |
void | onChildRemoved (ElementEventArgs &e) |
Handler called when a child window is removed from this window. | |
void | onParentSized (ElementEventArgs &e) |
Handler called when this window's parent window has been resized. If this window is the root / GUI Sheet window, this call will be made when the display size changes. | |
Protected Attributes | |
ConnectionTracker | d_eventConnections |
Tracks event connections we make. | |
Rectf | d_contentArea |
Holds extents of the content pane. | |
bool | d_autosizePane |
true if the pane auto-sizes itself. | |
CachedRectf | d_clientChildContentArea |
Helper container window class which is used in the implementation of the ScrollablePane widget class.
void CEGUI::ScrolledContainer::drawSelf | ( | const RenderingContext & | ctx | ) | [inline, protected, virtual] |
Perform the actual rendering for this Window.
ctx | RenderingContext holding the details of the RenderingSurface to be used for the Window rendering operations. |
Reimplemented from CEGUI::Window.
Rectf CEGUI::ScrolledContainer::getChildExtentsArea | ( | void | ) | const |
Return the current extents of the attached content.
virtual const CachedRectf& CEGUI::ScrolledContainer::getClientChildContentArea | ( | ) | const [virtual] |
Return a Rect that is used by client child elements as content area.
Client content area is used for relative sizing, positioning and clipping of child elements that are client (their NonClient property is "false").
Reimplemented from CEGUI::Element.
const Rectf& CEGUI::ScrolledContainer::getContentArea | ( | void | ) | const |
Return the current content pane area for the ScrolledContainer.
virtual const CachedRectf& CEGUI::ScrolledContainer::getNonClientChildContentArea | ( | ) | const [virtual] |
Return a Rect that is used by client child elements as content area.
Client content area is used for relative sizing, positioning and clipping of child elements that are non-client (their NonClient property is "true").
Reimplemented from CEGUI::Element.
bool CEGUI::ScrolledContainer::isContentPaneAutoSized | ( | void | ) | const |
Return whether the content pane is auto sized.
virtual void CEGUI::ScrolledContainer::notifyScreenAreaChanged | ( | bool | recursive | ) | [virtual] |
Inform the window, and optionally all children, that screen area rectangles have changed.
recursive |
Reimplemented from CEGUI::Window.
virtual void CEGUI::ScrolledContainer::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. |
void CEGUI::ScrolledContainer::onChildAdded | ( | ElementEventArgs & | e | ) | [protected, virtual] |
Handler called when a child window is added to this window.
e | WindowEventArgs object whose 'window' pointer field is set to the window that has been added. |
Reimplemented from CEGUI::Window.
void CEGUI::ScrolledContainer::onChildRemoved | ( | ElementEventArgs & | e | ) | [protected, virtual] |
Handler called when a child window is removed from this window.
e | WindowEventArgs object whose 'window' pointer field is set the window that has been removed. |
Reimplemented from CEGUI::Window.
virtual void CEGUI::ScrolledContainer::onContentChanged | ( | WindowEventArgs & | e | ) | [protected, virtual] |
Notification method called whenever the content size may have changed.
e | WindowEventArgs object. |
void CEGUI::ScrolledContainer::onParentSized | ( | ElementEventArgs & | e | ) | [protected, virtual] |
Handler called when this window's parent window has been resized. If this window is the root / GUI Sheet window, this call will be made when the display size changes.
e | WindowEventArgs object whose 'window' pointer field is set the the window that caused the event; this is typically either this window's parent window, or NULL to indicate the screen size has changed. |
Reimplemented from CEGUI::Window.
void CEGUI::ScrolledContainer::setArea_impl | ( | const UVector2 & | pos, |
const USize & | size, | ||
bool | topLeftSizing = false , |
||
bool | fireEvents = true |
||
) | [protected, virtual] |
Implementation method to modify element area while correctly applying min / max size processing, and firing any appropriate events.
pos | UVector2 object describing the new area position. |
size | USize object describing the new area size. |
topLeftSizing |
|
fireEvents |
|
Reimplemented from CEGUI::Window.
void CEGUI::ScrolledContainer::setContentArea | ( | const Rectf & | area | ) |
Set the current content pane area for the ScrolledContainer.
area | Rect object that details the pixel extents to use for the content pane represented by this ScrolledContainer. |
void CEGUI::ScrolledContainer::setContentPaneAutoSized | ( | bool | setting | ) |
Set whether the content pane should be auto-sized.
setting |
|
const String CEGUI::ScrolledContainer::EventAutoSizeSettingChanged [static] |
Event fired when the autosize setting changes. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the ScrolledContainer whose auto size setting has been changed.
const String CEGUI::ScrolledContainer::EventContentChanged [static] |
Event fired whenever some child changes. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the ScrolledContainer for which a child window has changed.