Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
|
Default moveable window GUI element with border, caption and close icons. More...
#include <nirtcpp/core/engine/IGUIWindow.hpp>
Public Member Functions | |
IGUIWindow (IGUIEnvironment *environment, IGUIElement *parent, s32 id, core::rect< s32 > rectangle) | |
constructor | |
virtual IGUIButton * | getCloseButton () const =0 |
Returns pointer to the close button. | |
virtual IGUIButton * | getMinimizeButton () const =0 |
Returns pointer to the minimize button. | |
virtual IGUIButton * | getMaximizeButton () const =0 |
Returns pointer to the maximize button. | |
virtual bool | isDraggable () const =0 |
Returns true if the window can be dragged with the mouse, false if not. | |
virtual void | setDraggable (bool draggable)=0 |
Sets whether the window can be dragged by the mouse. | |
virtual void | setDrawBackground (bool draw)=0 |
Set if the window background will be drawn. | |
virtual bool | getDrawBackground () const =0 |
Get if the window background will be drawn. | |
virtual void | setDrawTitlebar (bool draw)=0 |
virtual bool | getDrawTitlebar () const =0 |
Get if the window titlebar will be drawn. | |
virtual core::rect< s32 > | getClientRect () const =0 |
Returns the rectangle of the drawable area (without border and without titlebar) | |
Public Member Functions inherited from nirt::gui::IGUIElement | |
IGUIElement (EGUI_ELEMENT_TYPE type, IGUIEnvironment *environment, IGUIElement *parent, s32 id, const core::rect< s32 > &rectangle) | |
Constructor. | |
virtual | ~IGUIElement () |
Destructor. | |
IGUIElement * | getParent () const |
Returns parent of this element. | |
core::rect< s32 > | getRelativePosition () const |
Returns the relative rectangle of this element. | |
void | setRelativePosition (const core::rect< s32 > &r) |
Sets the relative rectangle of this element. | |
void | setRelativePosition (const core::position2di &position) |
Sets the relative rectangle of this element, maintaining its current width and height. | |
void | setRelativePositionProportional (const core::rect< f32 > &r) |
Sets the relative rectangle of this element as a proportion of its parent's area. | |
core::rect< s32 > | getAbsolutePosition () const |
Gets the absolute rectangle of this element. | |
core::rect< s32 > | getAbsoluteClippingRect () const |
Returns the visible area of the element. | |
void | setNotClipped (bool noClip) |
Sets whether the element will ignore its parent's clipping rectangle. | |
bool | isNotClipped () const |
Gets whether the element will ignore its parent's clipping rectangle. | |
void | setMaxSize (core::dimension2du size) |
Sets the maximum size allowed for this element. | |
void | setMinSize (core::dimension2du size) |
Sets the minimum size allowed for this element. | |
void | setAlignment (EGUI_ALIGNMENT left, EGUI_ALIGNMENT right, EGUI_ALIGNMENT top, EGUI_ALIGNMENT bottom) |
The alignment defines how the borders of this element will be positioned when the parent element is resized. | |
EGUI_ALIGNMENT | getAlignLeft () const |
How left element border is aligned when parent is resized. | |
EGUI_ALIGNMENT | getAlignRight () const |
How right element border is aligned when parent is resized. | |
EGUI_ALIGNMENT | getAlignTop () const |
How top element border is aligned when parent is resized. | |
EGUI_ALIGNMENT | getAlignBottom () const |
How bottom element border is aligned when parent is resized. | |
virtual void | updateAbsolutePosition () |
Updates the absolute position. | |
virtual IGUIElement * | getElementFromPoint (const core::position2d< s32 > &point) |
Returns the topmost GUI element at the specific position. | |
virtual bool | isPointInside (const core::position2d< s32 > &point) const |
Returns true if a point is within this element. | |
virtual void | addChild (IGUIElement *child) |
Adds a GUI element as new child of this element. | |
virtual void | removeChild (IGUIElement *child) |
Removes a child. | |
virtual void | remove () |
Removes this element from its parent. | |
virtual void | draw () |
Draws the element and its children. | |
virtual void | OnPostRender (u32 timeMs) |
animate the element and its children. | |
virtual void | move (core::position2d< s32 > absoluteMovement) |
Moves this element. | |
virtual bool | isVisible () const |
Returns true if element is visible. | |
virtual bool | isTrulyVisible () const |
Check whether the element is truly visible, taking into accounts its parents' visibility. | |
virtual void | setVisible (bool visible) |
Sets the visible state of this element. | |
virtual bool | isSubElement () const |
Returns true if this element was created as part of its parent control. | |
virtual void | setSubElement (bool subElement) |
Sets whether this control was created as part of its parent. | |
void | setTabStop (bool enable) |
If set to true, the focus will visit this element when using the tab key to cycle through elements. | |
bool | isTabStop () const |
Returns true if this element can be focused by navigating with the tab key. | |
void | setTabOrder (s32 index) |
Sets the priority of focus when using the tab key to navigate between a group of elements. | |
s32 | getTabOrder () const |
Returns the number in the tab order sequence. | |
void | setTabGroup (bool isGroup) |
Sets whether this element is a container for a group of elements which can be navigated using the tab key. | |
bool | isTabGroup () const |
Returns true if this element is a tab group. | |
IGUIElement * | getTabGroup () |
Returns the container element which holds all elements in this element's tab group. | |
virtual bool | isEnabled () const |
Returns true if element is enabled. | |
virtual void | setEnabled (bool enabled) |
Sets the enabled state of this element. | |
virtual void | setText (const wchar_t *text) |
Sets the new caption of this element. | |
virtual const wchar_t * | getText () const |
Returns caption of this element. | |
virtual void | setToolTipText (const wchar_t *text) |
Sets the new caption of this element. | |
virtual const core::stringw & | getToolTipText () const |
Returns caption of this element. | |
virtual s32 | getID () const |
Returns id. Can be used to identify the element. | |
virtual void | setID (s32 id) |
Sets the id of this element. | |
virtual bool | OnEvent (const SEvent &event) override |
Called if an event happened. | |
virtual bool | bringToFront (IGUIElement *element) |
Brings a child to front. | |
virtual bool | sendToBack (IGUIElement *child) |
Moves a child to the back, so it's siblings are drawn on top of it. | |
virtual const core::list< IGUIElement * > & | getChildren () const |
Returns list with children of this element. | |
virtual IGUIElement * | getElementFromId (s32 id, bool searchchildren=false) const |
Finds the first element with the given id. | |
bool | isMyChild (IGUIElement *child) const |
bool | getNextElement (s32 startOrder, bool reverse, bool group, IGUIElement *&first, IGUIElement *&closest, bool includeInvisible=false, bool includeDisabled=false) const |
searches elements to find the closest next element to tab to | |
EGUI_ELEMENT_TYPE | getType () const |
Returns the type of the gui element. | |
virtual bool | hasType (EGUI_ELEMENT_TYPE type) const |
Returns true if the gui element supports the given type. | |
virtual const c8 * | getTypeName () const |
Returns the type name of the gui element. | |
virtual const c8 * | getName () const |
Returns the name of the element. | |
virtual void | setName (const c8 *name) |
Sets the name of the element. | |
virtual void | setName (const core::stringc &name) |
Sets the name of the element. | |
virtual void | serializeAttributes (io::IAttributes *out, io::SAttributeReadWriteOptions *options=0) const override |
Writes attributes of the scene node. | |
virtual void | deserializeAttributes (io::IAttributes *in, io::SAttributeReadWriteOptions *options=0) override |
Reads attributes of the scene node. | |
Public Member Functions inherited from nirt::IReferenceCounted | |
IReferenceCounted () | |
Constructor. | |
virtual | ~IReferenceCounted () |
Destructor. | |
void | grab () const |
Grabs the object. Increments the reference counter by one. | |
bool | drop () const |
Drops the object. Decrements the reference counter by one. | |
s32 | getReferenceCount () const |
Get the reference count. | |
const c8 * | getDebugName () const |
Returns the debug name of the object. | |
Public Member Functions inherited from nirt::IEventReceiver | |
virtual | ~IEventReceiver () |
Destructor. | |
Additional Inherited Members | |
Protected Member Functions inherited from nirt::gui::IGUIElement | |
void | addChildToEnd (IGUIElement *child) |
void | recalculateAbsolutePosition (bool recursive) |
Protected Member Functions inherited from nirt::IReferenceCounted | |
void | setDebugName (const c8 *newName) |
Sets the debug name of the object. | |
Protected Attributes inherited from nirt::gui::IGUIElement | |
core::list< IGUIElement * > | Children |
List of all children of this element. | |
IGUIElement * | Parent |
Pointer to the parent. | |
core::rect< s32 > | RelativeRect |
relative rect of element | |
core::rect< s32 > | AbsoluteRect |
absolute rect of element | |
core::rect< s32 > | AbsoluteClippingRect |
absolute clipping rect of element | |
core::rect< s32 > | DesiredRect |
core::rect< s32 > | LastParentRect |
for calculating the difference when resizing parent | |
core::rect< f32 > | ScaleRect |
relative scale of the element inside its parent | |
core::dimension2du | MaxSize |
maximum and minimum size of the element | |
core::dimension2du | MinSize |
bool | IsVisible |
is visible? | |
bool | IsEnabled |
is enabled? | |
bool | IsSubElement |
is a part of a larger whole and should not be serialized? | |
bool | NoClip |
does this element ignore its parent's clipping rectangle? | |
core::stringw | Text |
caption | |
core::stringw | ToolTipText |
tooltip | |
core::stringc | Name |
users can set this for identifying the element by string | |
s32 | ID |
users can set this for identifying the element by integer | |
bool | IsTabStop |
tab stop like in windows | |
s32 | TabOrder |
tab order | |
bool | IsTabGroup |
tab groups are containers like windows, use ctrl+tab to navigate | |
EGUI_ALIGNMENT | AlignLeft |
tells the element how to act when its parent is resized | |
EGUI_ALIGNMENT | AlignRight |
EGUI_ALIGNMENT | AlignTop |
EGUI_ALIGNMENT | AlignBottom |
IGUIEnvironment * | Environment |
GUI Environment. | |
EGUI_ELEMENT_TYPE | Type |
type of element | |
Default moveable window GUI element with border, caption and close icons.
|
pure virtual |
Returns the rectangle of the drawable area (without border and without titlebar)
The coordinates are given relative to the top-left position of the gui element.
So to get absolute positions you have to add the resulting rectangle to getAbsolutePosition().UpperLeftCorner.
To get it relative to the parent element you have to add the resulting rectangle to getRelativePosition().UpperLeftCorner. Beware that adding a menu will not change the clientRect as menus are own gui elements, so in that case you might want to subtract the menu area additionally.
|
pure virtual |
Returns pointer to the close button.
You can hide the button by calling setVisible(false) on the result.
|
pure virtual |
Returns pointer to the maximize button.
You can hide the button by calling setVisible(false) on the result.
|
pure virtual |
Returns pointer to the minimize button.
You can hide the button by calling setVisible(false) on the result.
|
pure virtual |
Set if the window titlebar will be drawn Note: If the background is not drawn, then the titlebar is automatically also not drawn