Crazy Eddies GUI System: CEGUI::Editbox Class Reference

Crazy Eddies GUI System 0.7.6

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes
CEGUI::Editbox Class Reference

Base class for an Editbox widget. More...

Inheritance diagram for CEGUI::Editbox:
[legend]
Collaboration diagram for CEGUI::Editbox:
[legend]

List of all members.

## Public Member Functions
bool | hasInputFocus (void) const
| return true if the Editbox has input focus.
bool | isReadOnly (void) const
| return true if the Editbox is read-only.
bool | isTextMasked (void) const
| return true if the text for the Editbox will be rendered masked.
bool | isTextValid (void) const
| return true if the Editbox text is valid given the currently set validation string.
const String & | getValidationString (void) const
| return the currently set validation string
size_t | getCaratIndex (void) const
| return the current position of the carat.
size_t | getSelectionStartIndex (void) const
| return the current selection start point.
size_t | getSelectionEndIndex (void) const
| return the current selection end point.
size_t | getSelectionLength (void) const
| return the length of the current selection (in code points / characters).
utf32 | getMaskCodePoint (void) const
| return the utf32 code point used when rendering masked text.
size_t | getMaxTextLength (void) const
| return the maximum text length set for this Editbox.
void | setReadOnly (bool setting)
| Specify whether the Editbox is read-only.
void | setTextMasked (bool setting)
| Specify whether the text for the Editbox will be rendered masked.
void | setValidationString (const String &validation_string)
| Set the text validation string.
void | setCaratIndex (size_t carat_pos)
| Set the current position of the carat.
void | setSelection (size_t start_pos, size_t end_pos)
| Define the current selection for the Editbox.
void | setMaskCodePoint (utf32 code_point)
| set the utf32 code point used when rendering masked text.
void | setMaxTextLength (size_t max_len)
| set the maximum text length for this Editbox.
| Editbox (const String &type, const String &name)
| Constructor for Editbox class.
virtual | ~Editbox (void)
| Destructor for Editbox class.
## Static Public Attributes
static const String | EventNamespace
| Namespace for global events.
static const String | WidgetTypeName
| Window factory name.
static const String | EventReadOnlyModeChanged
static const String | EventMaskedRenderingModeChanged
static const String | EventMaskCodePointChanged
static const String | EventValidationStringChanged
static const String | EventMaximumTextLengthChanged
static const String | EventTextInvalidated
static const String | EventInvalidEntryAttempted
static const String | EventCaratMoved
static const String | EventTextSelectionChanged
static const String | EventEditboxFull
static const String | EventTextAccepted
## Protected Member Functions
size_t | getTextIndexFromPosition (const Point &pt) const
| Return the text code point index that is rendered closest to screen position pt.
void | clearSelection (void)
| Clear the currently defined selection (just the region, not the text).
void | eraseSelectedText (bool modify_text=true)
| Erase the currently selected text.
bool | isStringValid (const String &str) const
| return true if the given string matches the validation regular expression.
void | handleBackspace (void)
| Processing for backspace key.
void | handleDelete (void)
| Processing for Delete key.
void | handleCharLeft (uint sysKeys)
| Processing to move carat one character left.
void | handleWordLeft (uint sysKeys)
| Processing to move carat one word left.
void | handleCharRight (uint sysKeys)
| Processing to move carat one character right.
void | handleWordRight (uint sysKeys)
| Processing to move carat one word right.
void | handleHome (uint sysKeys)
| Processing to move carat to the start of the text.
void | handleEnd (uint sysKeys)
| Processing to move carat to the end of the text.
virtual bool | testClassName_impl (const String &class_name) const
| Return whether this window was inherited from the given class name at some point in the inheritance hierarchy.
virtual bool | validateWindowRenderer (const String &name) const
| validate window renderer
virtual void | onReadOnlyChanged (WindowEventArgs &e)
| Handler called when the read only state of the Editbox has been changed.
virtual void | onMaskedRenderingModeChanged (WindowEventArgs &e)
| Handler called when the masked rendering mode (password mode) has been changed.
virtual void | onMaskCodePointChanged (WindowEventArgs &e)
| Handler called when the code point to use for masked rendering has been changed.
virtual void | onValidationStringChanged (WindowEventArgs &e)
| Event fired internally when the validation string is changed.
virtual void | onMaximumTextLengthChanged (WindowEventArgs &e)
| Handler called when the maximum text length for the edit box is changed.
virtual void | onTextInvalidatedEvent (WindowEventArgs &e)
| Handler called when something has caused the current text to now fail validation.
virtual void | onInvalidEntryAttempted (WindowEventArgs &e)
| Handler called when the user attempted to make a change to the edit box that would have caused it to fail validation.
virtual void | onCaratMoved (WindowEventArgs &e)
| Handler called when the carat (insert point) position changes.
virtual void | onTextSelectionChanged (WindowEventArgs &e)
| Handler called when the current text selection changes.
virtual void | onEditboxFullEvent (WindowEventArgs &e)
| Handler called when the edit box text has reached the set maximum length.
virtual void | onTextAcceptedEvent (WindowEventArgs &e)
| Handler called when the user accepts the edit box text by pressing Return, Enter, or Tab.
void | onMouseButtonDown (MouseEventArgs &e)
| Handler called when a mouse button has been depressed within this window's area.
void | onMouseButtonUp (MouseEventArgs &e)
| Handler called when a mouse button has been released within this window's area.
void | onMouseDoubleClicked (MouseEventArgs &e)
| Handler called when a mouse button has been double-clicked within this window's area.
void | onMouseTripleClicked (MouseEventArgs &e)
| Handler called when a mouse button has been triple-clicked within this window's area.
void | onMouseMove (MouseEventArgs &e)
| Handler called when the mouse cursor has been moved within this window's area.
void | onCaptureLost (WindowEventArgs &e)
| Handler called when this window loses capture of mouse inputs.
void | onCharacter (KeyEventArgs &e)
| Handler called when a character-key has been pressed while this window has input focus.
void | onKeyDown (KeyEventArgs &e)
| Handler called when a key as been depressed while this window has input focus.
void | onTextChanged (WindowEventArgs &e)
| Handler called when the window's text is changed.
## Protected Attributes
bool | d_readOnly
| True if the editbox is in read-only mode.
bool | d_maskText
| True if the editbox text should be rendered masked.
utf32 | d_maskCodePoint
| Code point to use when rendering masked text.
size_t | d_maxTextLen
| Maximum number of characters for this Editbox.
size_t | d_caratPos
| Position of the carat / insert-point.
size_t | d_selectionStart
| Start of selection area.
size_t | d_selectionEnd
| End of selection area.
String | d_validationString
| Copy of validation reg-ex string.
RegexMatcher * | d_validator
| Pointer to class used for validation of text.
bool | d_dragging
| true when a selection is being dragged.
size_t | d_dragAnchorIdx
| Selection index for drag selection anchor point.

## Detailed Description

Base class for an Editbox widget.

## Member Function Documentation

void CEGUI::Editbox::eraseSelectedText | ( | bool | modify_text = `true` | ) | `[protected]`

Erase the currently selected text.

Parameters:

  modify_text | when true, the actual text will be modified. When false, everything is done except erasing the characters.

size_t CEGUI::Editbox::getCaratIndex | ( | void |  | ) | const

return the current position of the carat.

Returns:
  Index of the insert carat relative to the start of the text.

utf32 CEGUI::Editbox::getMaskCodePoint | ( | void |  | ) | const`[inline]`

return the utf32 code point used when rendering masked text.

Returns:
  utf32 code point value representing the Unicode code point that will be rendered instead of the Editbox text when rendering in masked mode.

size_t CEGUI::Editbox::getMaxTextLength | ( | void |  | ) | const`[inline]`

return the maximum text length set for this Editbox.

Returns:
  The maximum number of code points (characters) that can be entered into this Editbox.

Note:
  Depending on the validation string set, the actual length of text that can be entered may be less than the value returned here (it will never be more).

size_t CEGUI::Editbox::getSelectionEndIndex | ( | void |  | ) | const

return the current selection end point.

Returns:
  Index of the selection end point relative to the start of the text. If no selection is defined this function returns the position of the carat.

size_t CEGUI::Editbox::getSelectionLength | ( | void |  | ) | const

return the length of the current selection (in code points / characters).

Returns:
  Number of code points (or characters) contained within the currently defined selection.

size_t CEGUI::Editbox::getSelectionStartIndex | ( | void |  | ) | const

return the current selection start point.

Returns:
  Index of the selection start point relative to the start of the text. If no selection is defined this function returns the position of the carat.

size_t CEGUI::Editbox::getTextIndexFromPosition | ( | const Point & | pt | ) | const`[protected]`

Return the text code point index that is rendered closest to screen position pt.

Parameters:

  pt | Point object describing a position on the screen in pixels.

Returns:
  Code point index into the text that is rendered closest to screen position pt.

const String& CEGUI::Editbox::getValidationString | ( | void |  | ) | const`[inline]`

return the currently set validation string

Note:
  Validation is performed by means of a regular expression. If the text matches the regex, the text is said to have passed validation. If the text does not match with the regex then the text fails validation.

Returns:
  String object containing the current validation regex data

bool CEGUI::Editbox::hasInputFocus | ( | void |  | ) | const

return true if the Editbox has input focus.

Returns:
  - true if the Editbox has keyboard input focus.
  - false if the Editbox does not have keyboard input focus.

bool CEGUI::Editbox::isReadOnly | ( | void |  | ) | const`[inline]`

return true if the Editbox is read-only.

Returns:
  true if the Editbox is read only and can't be edited by the user, false if the Editbox is not read only and may be edited by the user.

bool CEGUI::Editbox::isTextMasked | ( | void |  | ) | const`[inline]`

return true if the text for the Editbox will be rendered masked.

Returns:
  true if the Editbox text will be rendered masked using the currently set mask code point, false if the Editbox text will be rendered as ordinary text.

bool CEGUI::Editbox::isTextValid | ( | void |  | ) | const

return true if the Editbox text is valid given the currently set validation string.

Note:
  It is possible to programmatically set 'invalid' text for the Editbox by calling setText. This has certain implications since if invalid text is set, whatever the user types into the box will be rejected when the input is validated.
  Validation is performed by means of a regular expression. If the text matches the regex, the text is said to have passed validation. If the text does not match with the regex then the text fails validation.

Returns:
  - true if the current Editbox text passes validation.
  - false if the text does not pass validation.

void CEGUI::Editbox::onCaptureLost | ( | WindowEventArgs & | e | ) | `[protected, virtual]`

Handler called when this window loses capture of mouse inputs.

Parameters:

  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.

void CEGUI::Editbox::onCharacter | ( | KeyEventArgs & | e | ) | `[protected, virtual]`

Handler called when a character-key has been pressed while this window has input focus.

Parameters:

  e | KeyEventArgs object whose 'codepoint' field is set to the Unicode code point (encoded as utf32) for the character typed, and whose 'sysKeys' field represents the combination of SystemKey that were active when the event was generated. All other fields should be considered as 'junk'.

Reimplemented from CEGUI::Window.

void CEGUI::Editbox::onKeyDown | ( | KeyEventArgs & | e | ) | `[protected, virtual]`

Handler called when a key as been depressed while this window has input focus.

Parameters:

  e | KeyEventArgs object whose 'scancode' field is set to the Key::Scan value representing the key that was pressed, and whose 'sysKeys' field represents the combination of SystemKey that were active when the event was generated.

Reimplemented from CEGUI::Window.

void CEGUI::Editbox::onMouseButtonDown | ( | MouseEventArgs & | e | ) | `[protected, virtual]`

Handler called when a mouse button has been depressed within this window's area.

Parameters:

  e | MouseEventArgs object. All fields are valid.

Reimplemented from CEGUI::Window.

void CEGUI::Editbox::onMouseButtonUp | ( | MouseEventArgs & | e | ) | `[protected, virtual]`

Handler called when a mouse button has been released within this window's area.

Parameters:

  e | MouseEventArgs object. All fields are valid.

Reimplemented from CEGUI::Window.

void CEGUI::Editbox::onMouseDoubleClicked | ( | MouseEventArgs & | e | ) | `[protected, virtual]`

Handler called when a mouse button has been double-clicked within this window's area.

Parameters:

  e | MouseEventArgs object. All fields are valid.

Reimplemented from CEGUI::Window.

void CEGUI::Editbox::onMouseMove | ( | MouseEventArgs & | e | ) | `[protected, virtual]`

Handler called when the mouse cursor has been moved within this window's area.

Parameters:

  e | MouseEventArgs object. All fields are valid.

Reimplemented from CEGUI::Window.

void CEGUI::Editbox::onMouseTripleClicked | ( | MouseEventArgs & | e | ) | `[protected, virtual]`

Handler called when a mouse button has been triple-clicked within this window's area.

Parameters:

  e | MouseEventArgs object. All fields are valid.

Reimplemented from CEGUI::Window.

void CEGUI::Editbox::onTextChanged | ( | WindowEventArgs & | e | ) | `[protected, virtual]`

Handler called when the window's text is changed.

Parameters:

  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::Editbox::onTextInvalidatedEvent | ( | WindowEventArgs & | e | ) | `[protected, virtual]`

Handler called when something has caused the current text to now fail validation.

This can be caused by changing the validation string or setting a maximum length that causes the current text to be truncated.

void CEGUI::Editbox::setCaratIndex | ( | size_t | carat_pos | ) |

Set the current position of the carat.

Parameters:

  carat_pos | New index for the insert carat relative to the start of the text. If the value specified is greater than the number of characters in the Editbox, the carat is positioned at the end of the text.

Returns:
  Nothing.

void CEGUI::Editbox::setMaskCodePoint | ( | utf32 | code_point | ) |

set the utf32 code point used when rendering masked text.

Parameters:

  code_point | utf32 code point value representing the Unicode code point that should be rendered instead of the Editbox text when rendering in masked mode.

Returns:
  Nothing.

void CEGUI::Editbox::setMaxTextLength | ( | size_t | max_len | ) |

set the maximum text length for this Editbox.

Parameters:

  max_len | The maximum number of code points (characters) that can be entered into this Editbox.

Note:
  Depending on the validation string set, the actual length of text that can be entered may be less than the value set here (it will never be more).

Returns:
  Nothing.

void CEGUI::Editbox::setReadOnly | ( | bool | setting | ) |

Specify whether the Editbox is read-only.

Parameters:

  setting | true if the Editbox is read only and can't be edited by the user, false if the Editbox is not read only and may be edited by the user.

Returns:
  Nothing.

void CEGUI::Editbox::setSelection | ( | size_t | start_pos,
|  | size_t | end_pos
| ) |  |

Define the current selection for the Editbox.

Parameters:

  start_pos | Index of the starting point for the selection. If this value is greater than the number of characters in the Editbox, the selection start will be set to the end of the text.
  end_pos | Index of the ending point for the selection. If this value is greater than the number of characters in the Editbox, the selection end will be set to the end of the text.

Returns:
  Nothing.

void CEGUI::Editbox::setTextMasked | ( | bool | setting | ) |

Specify whether the text for the Editbox will be rendered masked.

Parameters:

  setting | true if the Editbox text should be rendered masked using the currently set mask code point. false if the Editbox text should be rendered as ordinary text.

Returns:
  Nothing.

void CEGUI::Editbox::setValidationString | ( | const String & | validation_string | ) |

Set the text validation string.

Note:
  Validation is performed by means of a regular expression. If the text matches the regex, the text is said to have passed validation. If the text does not match with the regex then the text fails validation.

Parameters:

  validation_string | String object containing the validation regex data to be used.

Returns:
  Nothing.

virtual bool CEGUI::Editbox::testClassName_impl | ( | const String & | class_name | ) | const`[inline, protected, virtual]`

Return whether this window was inherited from the given class name at some point in the inheritance hierarchy.

Parameters:

  class_name | The class name that is to be checked.

Returns:
  - true if this window was inherited from class_name.
  - false if not.

Reimplemented from CEGUI::Window.

References CEGUI::Window::testClassName_impl().

## Member Data Documentation

const String CEGUI::Editbox::EventCaratMoved`[static]`

Event fired when the text caret position / insertion point is changed. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the Editbox whose current insertion point has changed.

const String CEGUI::Editbox::EventEditboxFull`[static]`

Event fired when the number of characters in the edit box reaches the currently set maximum. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the Editbox that has become full.

const String CEGUI::Editbox::EventInvalidEntryAttempted`[static]`

Event fired when the user attempts to chage the text in a way that would make it invalid as regards to the validation string. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the Editbox in which the users input would have invalidated the text.

const String CEGUI::Editbox::EventMaskCodePointChanged`[static]`

Event fired whrn the code point (character) used for masked text is changed. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the Editbox whose text masking codepoint has been changed.

const String CEGUI::Editbox::EventMaskedRenderingModeChanged`[static]`

Event fired when the masked rendering mode (password mode) is changed. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the Editbox that has been put into or taken out of masked text (password) mode.

const String CEGUI::Editbox::EventMaximumTextLengthChanged`[static]`

Event fired when the maximum allowable string length is changed. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the Editbox whose maximum string length has been changed.

const String CEGUI::Editbox::EventReadOnlyModeChanged`[static]`

Event fired when the read-only mode for the edit box is changed. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the Editbox whose read only setting has been changed.

const String CEGUI::Editbox::EventTextAccepted`[static]`

Event fired when the user accepts the current text by pressing Return, Enter, or Tab. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the Editbox in which the user has accepted the current text.

const String CEGUI::Editbox::EventTextInvalidated`[static]`

Event fired when the current text has become invalid as regards to the validation string. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the Editbox whose text has become invalid.

const String CEGUI::Editbox::EventTextSelectionChanged`[static]`

Event fired when the current text selection is changed. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the Editbox whose current text selection was changed.

const String CEGUI::Editbox::EventValidationStringChanged`[static]`

Event fired when the validation string is changed. Handlers are passed a const WindowEventArgs reference with WindowEventArgs::window set to the Editbox whose validation string has been changed.