Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
nirt::gui::IGUIEditBox Class Referenceabstract

Single line edit box for editing simple text. More...

#include <nirtcpp/core/engine/IGUIEditBox.hpp>

Inheritance diagram for nirt::gui::IGUIEditBox:
Inheritance graph
Collaboration diagram for nirt::gui::IGUIEditBox:
Collaboration graph

Public Member Functions

 IGUIEditBox (IGUIEnvironment *environment, IGUIElement *parent, s32 id, core::rect< s32 > rectangle)
 constructor
 
virtual void setOverrideFont (IGUIFont *font=0)=0
 Sets another skin independent font.
 
virtual IGUIFontgetOverrideFont () const =0
 Gets the override font (if any)
 
virtual IGUIFontgetActiveFont () const =0
 Get the font which is used right now for drawing.
 
virtual void setOverrideColor (video::SColor color)=0
 Sets another color for the text.
 
virtual video::SColor getOverrideColor () const =0
 Gets the override color.
 
virtual void enableOverrideColor (bool enable)=0
 Sets if the text should use the override color or the color in the gui skin.
 
virtual bool isOverrideColorEnabled (void) const =0
 Checks if an override color is enabled.
 
virtual void setDrawBackground (bool draw)=0
 Sets whether to draw the background.
 
virtual bool isDrawBackgroundEnabled () const =0
 Checks if background drawing is enabled.
 
virtual void setDrawBorder (bool border)=0
 Turns the border on or off.
 
virtual bool isDrawBorderEnabled () const =0
 Checks if border drawing is enabled.
 
virtual void setTextAlignment (EGUI_ALIGNMENT horizontal, EGUI_ALIGNMENT vertical)=0
 Sets text justification mode.
 
virtual void setWordWrap (bool enable)=0
 Enables or disables word wrap.
 
virtual bool isWordWrapEnabled () const =0
 Checks if word wrap is enabled.
 
virtual void setMultiLine (bool enable)=0
 Enables or disables newlines.
 
virtual bool isMultiLineEnabled () const =0
 Checks if multi line editing is enabled.
 
virtual void setAutoScroll (bool enable)=0
 Enables or disables automatic scrolling with cursor position.
 
virtual bool isAutoScrollEnabled () const =0
 Checks to see if automatic scrolling is enabled.
 
virtual void setPasswordBox (bool passwordBox, wchar_t passwordChar=L' *')=0
 Sets whether the edit box is a password box. Setting this to true will.
 
virtual bool isPasswordBox () const =0
 Returns true if the edit box is currently a password box.
 
virtual core::dimension2du getTextDimension ()=0
 Gets the size area of the text in the edit box.
 
virtual void setMax (u32 max)=0
 Sets the maximum amount of characters which may be entered in the box.
 
virtual u32 getMax () const =0
 Returns maximum amount of characters, previously set by setMax();.
 
virtual void setCursorChar (const wchar_t cursorChar)=0
 Set the character used for the cursor.
 
virtual wchar_t getCursorChar () const =0
 Get the character used for the cursor.
 
virtual void setCursorBlinkTime (nirt::u32 timeMs)=0
 Set the blinktime for the cursor. 2x blinktime is one full cycle.
 
virtual nirt::u32 getCursorBlinkTime () const =0
 Get the cursor blinktime.
 
- 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.
 
IGUIElementgetParent () const
 Returns parent of this element.
 
core::rect< s32getRelativePosition () 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< s32getAbsolutePosition () const
 Gets the absolute rectangle of this element.
 
core::rect< s32getAbsoluteClippingRect () 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 IGUIElementgetElementFromPoint (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.
 
IGUIElementgetTabGroup ()
 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::stringwgetToolTipText () 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 IGUIElementgetElementFromId (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 c8getTypeName () const
 Returns the type name of the gui element.
 
virtual const c8getName () 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 c8getDebugName () 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.
 
IGUIElementParent
 Pointer to the parent.
 
core::rect< s32RelativeRect
 relative rect of element
 
core::rect< s32AbsoluteRect
 absolute rect of element
 
core::rect< s32AbsoluteClippingRect
 absolute clipping rect of element
 
core::rect< s32DesiredRect
 
core::rect< s32LastParentRect
 for calculating the difference when resizing parent
 
core::rect< f32ScaleRect
 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
 
IGUIEnvironmentEnvironment
 GUI Environment.
 
EGUI_ELEMENT_TYPE Type
 type of element
 

Detailed Description

Single line edit box for editing simple text.

This element can create the following events of type EGUI_EVENT_TYPE:
  • EGET_EDITBOX_ENTER
  • EGET_EDITBOX_CHANGED
  • EGET_EDITBOX_MARKING_CHANGED

Member Function Documentation

◆ enableOverrideColor()

virtual void nirt::gui::IGUIEditBox::enableOverrideColor ( bool  enable)
pure virtual

Sets if the text should use the override color or the color in the gui skin.

Parameters
enableIf set to true, the override color, which can be set with IGUIEditBox::setOverrideColor is used, otherwise the EGDC_BUTTON_TEXT color of the skin.

◆ getActiveFont()

virtual IGUIFont * nirt::gui::IGUIEditBox::getActiveFont ( ) const
pure virtual

Get the font which is used right now for drawing.

Currently this is the override font when one is set and the font of the active skin otherwise

◆ getOverrideFont()

virtual IGUIFont * nirt::gui::IGUIEditBox::getOverrideFont ( ) const
pure virtual

Gets the override font (if any)

Returns
The override font (may be 0)

◆ getTextDimension()

virtual core::dimension2du nirt::gui::IGUIEditBox::getTextDimension ( )
pure virtual

Gets the size area of the text in the edit box.

Returns
The size in pixels of the text

◆ isAutoScrollEnabled()

virtual bool nirt::gui::IGUIEditBox::isAutoScrollEnabled ( ) const
pure virtual

Checks to see if automatic scrolling is enabled.

Returns
true if automatic scrolling is enabled, false if not

◆ isDrawBackgroundEnabled()

virtual bool nirt::gui::IGUIEditBox::isDrawBackgroundEnabled ( ) const
pure virtual

Checks if background drawing is enabled.

Returns
true if background drawing is enabled, false otherwise

◆ isDrawBorderEnabled()

virtual bool nirt::gui::IGUIEditBox::isDrawBorderEnabled ( ) const
pure virtual

Checks if border drawing is enabled.

Returns
true if border drawing is enabled, false otherwise

◆ isMultiLineEnabled()

virtual bool nirt::gui::IGUIEditBox::isMultiLineEnabled ( ) const
pure virtual

Checks if multi line editing is enabled.

Returns
true if multi-line is enabled, false otherwise

◆ isOverrideColorEnabled()

virtual bool nirt::gui::IGUIEditBox::isOverrideColorEnabled ( void  ) const
pure virtual

Checks if an override color is enabled.

Returns
true if the override color is enabled, false otherwise

◆ isWordWrapEnabled()

virtual bool nirt::gui::IGUIEditBox::isWordWrapEnabled ( ) const
pure virtual

Checks if word wrap is enabled.

Returns
true if word wrap is enabled, false otherwise

◆ setAutoScroll()

virtual void nirt::gui::IGUIEditBox::setAutoScroll ( bool  enable)
pure virtual

Enables or disables automatic scrolling with cursor position.

Parameters
enableIf set to true, the text will move around with the cursor position

◆ setCursorChar()

virtual void nirt::gui::IGUIEditBox::setCursorChar ( const wchar_t  cursorChar)
pure virtual

Set the character used for the cursor.

By default it's "_"

◆ setDrawBorder()

virtual void nirt::gui::IGUIEditBox::setDrawBorder ( bool  border)
pure virtual

Turns the border on or off.

Parameters
bordertrue if you want the border to be drawn, false if not

◆ setMax()

virtual void nirt::gui::IGUIEditBox::setMax ( u32  max)
pure virtual

Sets the maximum amount of characters which may be entered in the box.

Parameters
maxMaximum amount of characters. If 0, the character amount is infinity.

◆ setMultiLine()

virtual void nirt::gui::IGUIEditBox::setMultiLine ( bool  enable)
pure virtual

Enables or disables newlines.

Parameters
enableIf set to true, the EGET_EDITBOX_ENTER event will not be fired, instead a newline character will be inserted.

◆ setOverrideColor()

virtual void nirt::gui::IGUIEditBox::setOverrideColor ( video::SColor  color)
pure virtual

Sets another color for the text.

If set, the edit box does not use the EGDC_BUTTON_TEXT color defined in the skin, but the set color instead. You don't need to call IGUIEditBox::enableOverrrideColor(true) after this, this is done by this function. If you set a color, and you want the text displayed with the color of the skin again, call IGUIEditBox::enableOverrideColor(false);

Parameters
colorNew color of the text.

◆ setOverrideFont()

virtual void nirt::gui::IGUIEditBox::setOverrideFont ( IGUIFont font = 0)
pure virtual

Sets another skin independent font.

If this is set to zero, the button uses the font of the skin.

Parameters
fontNew font to set.

◆ setPasswordBox()

virtual void nirt::gui::IGUIEditBox::setPasswordBox ( bool  passwordBox,
wchar_t  passwordChar = L' *' 
)
pure virtual

Sets whether the edit box is a password box. Setting this to true will.

disable MultiLine, WordWrap and the ability to copy with ctrl+c or ctrl+x

Parameters
passwordBoxtrue to enable password, false to disable
passwordCharthe character that is displayed instead of letters

◆ setTextAlignment()

virtual void nirt::gui::IGUIEditBox::setTextAlignment ( EGUI_ALIGNMENT  horizontal,
EGUI_ALIGNMENT  vertical 
)
pure virtual

Sets text justification mode.

Parameters
horizontalEGUIA_UPPERLEFT for left justified (default), EGUIA_LOWERRIGHT for right justified, or EGUIA_CENTER for centered text.
verticalEGUIA_UPPERLEFT to align with top edge, EGUIA_LOWERRIGHT for bottom edge, or EGUIA_CENTER for centered text (default).

◆ setWordWrap()

virtual void nirt::gui::IGUIEditBox::setWordWrap ( bool  enable)
pure virtual

Enables or disables word wrap.

Parameters
enableIf set to true, words going over one line are broken to the next line.

The documentation for this class was generated from the following file:

Nirtcpp    @cppfx.xyz

Utxcpp    utx::print