Crazy Eddie's GUI System  0.8.7
widgets/MultiLineEditbox.h
1 /***********************************************************************
2  created: 30/6/2004
3  author: Paul D Turner
4 
5  purpose: Interface to the Multi-lien edit box base class.
6 *************************************************************************/
7 /***************************************************************************
8  * Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team
9  *
10  * Permission is hereby granted, free of charge, to any person obtaining
11  * a copy of this software and associated documentation files (the
12  * "Software"), to deal in the Software without restriction, including
13  * without limitation the rights to use, copy, modify, merge, publish,
14  * distribute, sublicense, and/or sell copies of the Software, and to
15  * permit persons to whom the Software is furnished to do so, subject to
16  * the following conditions:
17  *
18  * The above copyright notice and this permission notice shall be
19  * included in all copies or substantial portions of the Software.
20  *
21  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24  * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
25  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27  * OTHER DEALINGS IN THE SOFTWARE.
28  ***************************************************************************/
29 #ifndef _CEGUIMultiLineEditbox_h_
30 #define _CEGUIMultiLineEditbox_h_
31 
32 #include "../Base.h"
33 #include "../Window.h"
34 #include "../Font.h"
35 
36 #include <vector>
37 
38 #if defined(_MSC_VER)
39 # pragma warning(push)
40 # pragma warning(disable : 4251)
41 #endif
42 
43 
44 // Start of CEGUI namespace section
45 namespace CEGUI
46 {
52 {
53 public:
59 
68  virtual Rectf getTextRenderArea(void) const = 0;
69 
70 protected:
71  // base class overrides
73 };
74 
79 class CEGUIEXPORT MultiLineEditbox : public Window
80 {
81 public:
82  static const String EventNamespace;
83  static const String WidgetTypeName;
84 
85  /*************************************************************************
86  Constants
87  *************************************************************************/
88  // event names
113  static const String EventCaretMoved;
126  static const String EventEditboxFull;
141 
142  /*************************************************************************
143  Child Widget name constants
144  *************************************************************************/
145  static const String VertScrollbarName;
146  static const String HorzScrollbarName;
147 
148  /*************************************************************************
149  Implementation struct
150  *************************************************************************/
156  struct LineInfo
157  {
158  size_t d_startIdx;
159  size_t d_length;
160  float d_extent;
161  };
162  typedef std::vector<LineInfo
163  CEGUI_VECTOR_ALLOC(LineInfo)> LineList;
164 
165  /*************************************************************************
166  Accessor Functions
167  *************************************************************************/
176  bool hasInputFocus(void) const;
177 
178 
187  bool isReadOnly(void) const {return d_readOnly;}
188 
189 
197  size_t getCaretIndex(void) const {return d_caretPos;}
198 
199 
208  size_t getSelectionStartIndex(void) const;
209 
210 
219  size_t getSelectionEndIndex(void) const;
220 
221 
229  size_t getSelectionLength(void) const;
230 
231 
239  size_t getMaxTextLength(void) const {return d_maxTextLen;}
240 
241 
250  bool isWordWrapped(void) const;
251 
252 
265 
274  bool isVertScrollbarAlwaysShown(void) const;
275 
288 
289 
299 
300  // get d_lines
301  const LineList& getFormattedLines(void) const {return d_lines;}
302 
308  size_t getLineNumberFromIndex(size_t index) const;
309 
310  /*************************************************************************
311  Manipulators
312  *************************************************************************/
323  virtual void initialiseComponents(void);
324 
325 
337  void setReadOnly(bool setting);
338 
339 
351  void setCaretIndex(size_t caret_pos);
352 
353 
369  void setSelection(size_t start_pos, size_t end_pos);
370 
371 
383  void setSelectionStart(size_t start_pos);
384 
395  void setSelectionLength(size_t length);
396 
407  void setMaxTextLength(size_t max_len);
408 
409 
415 
416 
428  void setWordWrapping(bool setting);
429 
441  void setShowVertScrollbar(bool setting);
442 
443  // selection brush image property support
444  void setSelectionBrushImage(const Image* image);
445  const Image* getSelectionBrushImage() const;
446 
448  virtual bool performCopy(Clipboard& clipboard);
449 
451  virtual bool performCut(Clipboard& clipboard);
452 
454  virtual bool performPaste(Clipboard& clipboard);
455 
464  void formatText(const bool update_scrollbars);
465 
466  /*************************************************************************
467  Construction and Destruction
468  *************************************************************************/
473  MultiLineEditbox(const String& type, const String& name);
474 
475 
480  virtual ~MultiLineEditbox(void);
481 
482 
483 protected:
484  /*************************************************************************
485  Implementation Methods (abstract)
486  *************************************************************************/
495  //virtual Rect getTextRenderArea_impl(void) const = 0;
496 
497 
498  /*************************************************************************
499  Implementation Methods
500  *************************************************************************/
507  void formatText(void);
508 
519  size_t getNextTokenLength(const String& text, size_t start_idx) const;
520 
521 
527 
528 
539  size_t getTextIndexFromPosition(const Vector2f& pt) const;
540 
541 
546  void clearSelection(void);
547 
548 
556  void eraseSelectedText(bool modify_text = true);
557 
558 
563  void handleBackspace(void);
564 
565 
570  void handleDelete(void);
571 
572 
577  void handleCharLeft(uint sysKeys);
578 
579 
584  void handleWordLeft(uint sysKeys);
585 
586 
591  void handleCharRight(uint sysKeys);
592 
593 
598  void handleWordRight(uint sysKeys);
599 
600 
605  void handleDocHome(uint sysKeys);
606 
607 
612  void handleDocEnd(uint sysKeys);
613 
614 
619  void handleLineHome(uint sysKeys);
620 
621 
626  void handleLineEnd(uint sysKeys);
627 
628 
633  void handleLineUp(uint sysKeys);
634 
635 
640  void handleLineDown(uint sysKeys);
641 
642 
647  void handleNewLine(uint sysKeys);
648 
649 
654  void handlePageUp(uint sysKeys);
655 
656 
661  void handlePageDown(uint sysKeys);
662 
667  bool handle_scrollChange(const EventArgs& args);
668 
669  // handler triggered when vertical scrollbar is shown or hidden
670  bool handle_vertScrollbarVisibilityChanged(const EventArgs&);
671 
672  // validate window renderer
673  virtual bool validateWindowRenderer(const WindowRenderer* renderer) const;
674 
675  /*************************************************************************
676  New event handlers
677  *************************************************************************/
683 
684 
690 
691 
697 
698 
704 
705 
711 
712 
718 
719 
725 
726 
732 
733 
734  /*************************************************************************
735  Overridden event handlers
736  *************************************************************************/
738  virtual void onMouseButtonUp(MouseEventArgs& e);
741  virtual void onMouseMove(MouseEventArgs& e);
742  virtual void onCaptureLost(WindowEventArgs& e);
743  virtual void onCharacter(KeyEventArgs& e);
744  virtual void onKeyDown(KeyEventArgs& e);
745  virtual void onTextChanged(WindowEventArgs& e);
746  virtual void onSized(ElementEventArgs& e);
747  virtual void onMouseWheel(MouseEventArgs& e);
748  virtual void onFontChanged(WindowEventArgs& e);
749 
750 
751  /*************************************************************************
752  Implementation data
753  *************************************************************************/
754  bool d_readOnly;
755  size_t d_maxTextLen;
756  size_t d_caretPos;
758  size_t d_selectionEnd;
759  bool d_dragging;
761 
763  bool d_wordWrap;
766 
767  // component widget settings
770 
771  // images
773 
774 
775 private:
776  /*************************************************************************
777  Private methods
778  *************************************************************************/
779  void addMultiLineEditboxProperties(void);
780 };
781 
782 } // End of CEGUI namespace section
783 
784 #if defined(_MSC_VER)
785 # pragma warning(pop)
786 #endif
787 
788 #endif // end of guard _CEGUIMultiLineEditbox_h_
CEGUI::Clipboard
Defines a clipboard handling class.
Definition: Clipboard.h:84
CEGUI::MultiLineEditbox::EventEditboxFull
static const String EventEditboxFull
Definition: widgets/MultiLineEditbox.h:126
CEGUI::MultiLineEditbox::d_caretPos
size_t d_caretPos
Position of the caret / insert-point.
Definition: widgets/MultiLineEditbox.h:756
CEGUI::MultiLineEditbox::onFontChanged
virtual void onFontChanged(WindowEventArgs &e)
Handler called when the window's font is changed.
CEGUI::MultiLineEditbox::setMaxTextLength
void setMaxTextLength(size_t max_len)
set the maximum text length for this edit box.
CEGUI::MultiLineEditbox::validateWindowRenderer
virtual bool validateWindowRenderer(const WindowRenderer *renderer) const
Function used in checking if a WindowRenderer is valid for this window.
CEGUI::Scrollbar
Base scroll bar class.
Definition: widgets/Scrollbar.h:90
CEGUI::MultiLineEditbox::onMaximumTextLengthChanged
void onMaximumTextLengthChanged(WindowEventArgs &e)
Handler called when the maximum text length for the edit box changes.
CEGUI::MultiLineEditbox::onVertScrollbarModeChanged
void onVertScrollbarModeChanged(WindowEventArgs &e)
Handler called when the 'always show' setting for the vertical scroll bar changes.
CEGUI::MultiLineEditboxWindowRenderer::getTextRenderArea
virtual Rectf getTextRenderArea(void) const =0
Return a Rect object describing, in un-clipped pixels, the window relative area that the text should ...
CEGUI::MultiLineEditbox::~MultiLineEditbox
virtual ~MultiLineEditbox(void)
Destructor for the MultiLineEditbox base class.
CEGUI::MultiLineEditbox::onTextSelectionChanged
void onTextSelectionChanged(WindowEventArgs &e)
Handler called when the text selection changes.
CEGUI::MultiLineEditbox::getNextTokenLength
size_t getNextTokenLength(const String &text, size_t start_idx) const
Return the length of the next token in String text starting at index start_idx.
CEGUI::MultiLineEditbox::onHorzScrollbarModeChanged
void onHorzScrollbarModeChanged(WindowEventArgs &e)
Handler called when 'always show' setting for the horizontal scroll bar changes.
CEGUI::MultiLineEditbox::configureScrollbars
void configureScrollbars(void)
display required integrated scroll bars according to current state of the edit box and update their v...
CEGUI::MultiLineEditbox::EventNamespace
static const String EventNamespace
Namespace for global events.
Definition: widgets/MultiLineEditbox.h:82
CEGUI::MultiLineEditbox::onMouseDoubleClicked
virtual void onMouseDoubleClicked(MouseEventArgs &e)
Handler called when a mouse button has been double-clicked within this window's area.
CEGUI::MultiLineEditbox::onMouseTripleClicked
virtual void onMouseTripleClicked(MouseEventArgs &e)
Handler called when a mouse button has been triple-clicked within this window's area.
CEGUI::MultiLineEditbox::getCaretIndex
size_t getCaretIndex(void) const
return the current position of the caret.
Definition: widgets/MultiLineEditbox.h:197
CEGUI::MultiLineEditbox::d_selectionStart
size_t d_selectionStart
Start of selection area.
Definition: widgets/MultiLineEditbox.h:757
CEGUI::MultiLineEditbox::onWordWrapModeChanged
void onWordWrapModeChanged(WindowEventArgs &e)
Handler called when the word wrap mode for the the edit box changes.
CEGUI::MultiLineEditbox::getTextIndexFromPosition
size_t getTextIndexFromPosition(const Vector2f &pt) const
Return the text code point index that is rendered closest to screen position pt.
CEGUI::MultiLineEditbox::d_forceHorzScroll
bool d_forceHorzScroll
true if horizontal scrollbar should always be displayed
Definition: widgets/MultiLineEditbox.h:769
CEGUI::MultiLineEditbox::d_readOnly
bool d_readOnly
true if the edit box is in read-only mode
Definition: widgets/MultiLineEditbox.h:754
CEGUI::MultiLineEditbox::handleDelete
void handleDelete(void)
Processing for Delete key.
CEGUI::ElementEventArgs
EventArgs based class that is used for objects passed to handlers triggered for events concerning som...
Definition: Element.h:211
CEGUI::MultiLineEditbox::onEditboxFullEvent
void onEditboxFullEvent(WindowEventArgs &e)
Handler called when the edit box is full.
CEGUI::MultiLineEditbox::performCut
virtual bool performCut(Clipboard &clipboard)
Asks the widget to perform a clipboard cut to the provided clipboard.
CEGUI::MultiLineEditbox::onCaretMoved
void onCaretMoved(WindowEventArgs &e)
Handler called when the caret moves.
CEGUI::MultiLineEditbox::handlePageDown
void handlePageDown(uint sysKeys)
Processing to move caret one page down.
CEGUI::MultiLineEditbox::onCaptureLost
virtual void onCaptureLost(WindowEventArgs &e)
Handler called when this window loses capture of mouse inputs.
CEGUI::MultiLineEditboxWindowRenderer
Base class for multi-line edit box window renderer objects.
Definition: widgets/MultiLineEditbox.h:52
CEGUI::MultiLineEditbox::EventTextSelectionChanged
static const String EventTextSelectionChanged
Definition: widgets/MultiLineEditbox.h:119
CEGUI::MultiLineEditbox::getHorzScrollbar
Scrollbar * getHorzScrollbar() const
Return a pointer to the horizontal scrollbar component widget for this MultiLineEditbox.
CEGUI::MultiLineEditbox::handleDocEnd
void handleDocEnd(uint sysKeys)
Processing to move caret to the end of the text.
CEGUI::MultiLineEditbox::EventWordWrapModeChanged
static const String EventWordWrapModeChanged
Definition: widgets/MultiLineEditbox.h:100
CEGUI::MultiLineEditbox::setSelectionLength
void setSelectionLength(size_t length)
Define the current selection for the Editbox.
CEGUI::MultiLineEditbox::setWordWrapping
void setWordWrapping(bool setting)
Set whether the text will be word wrapped or not.
CEGUI::MultiLineEditbox::d_widestExtent
float d_widestExtent
Holds the extent of the widest line as calculated in the last formatting pass.
Definition: widgets/MultiLineEditbox.h:765
CEGUI::MultiLineEditbox::getTextRenderArea
Rectf getTextRenderArea(void) const
Return a Rect object describing, in un-clipped pixels, the window relative area that the text should ...
CEGUI
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
CEGUI::MouseEventArgs
EventArgs based class that is used for objects passed to input event handlers concerning mouse input.
Definition: InputEvent.h:281
CEGUI::MultiLineEditbox::EventHorzScrollbarModeChanged
static const String EventHorzScrollbarModeChanged
Definition: widgets/MultiLineEditbox.h:140
CEGUI::MultiLineEditbox::isReadOnly
bool isReadOnly(void) const
return true if the edit box is read-only.
Definition: widgets/MultiLineEditbox.h:187
CEGUI::MultiLineEditbox::onTextChanged
virtual void onTextChanged(WindowEventArgs &e)
Handler called when the window's text is changed.
CEGUI::MultiLineEditbox::onMouseWheel
virtual void onMouseWheel(MouseEventArgs &e)
Handler called when the mouse wheel (z-axis) position changes within this window's area.
CEGUI::MultiLineEditbox::d_selectionBrush
const Image * d_selectionBrush
Image to use as the selection brush (should be set by derived class).
Definition: widgets/MultiLineEditbox.h:772
CEGUI::MultiLineEditbox::MultiLineEditbox
MultiLineEditbox(const String &type, const String &name)
Constructor for the MultiLineEditbox base class.
CEGUI::Vector2< float >
CEGUI::MultiLineEditbox::LineInfo
struct used to store information about a formatted line within the paragraph.
Definition: widgets/MultiLineEditbox.h:157
CEGUI::MultiLineEditbox::setShowVertScrollbar
void setShowVertScrollbar(bool setting)
Set whether the vertical scroll bar should always be shown.
CEGUI::MultiLineEditbox::getVertScrollbar
Scrollbar * getVertScrollbar() const
Return a pointer to the vertical scrollbar component widget for this MultiLineEditbox.
CEGUI::WindowEventArgs
EventArgs based class that is used for objects passed to handlers triggered for events concerning som...
Definition: InputEvent.h:252
CEGUI::MultiLineEditbox::onMouseMove
virtual void onMouseMove(MouseEventArgs &e)
Handler called when the mouse cursor has been moved within this window's area.
CEGUI::MultiLineEditbox::d_dragAnchorIdx
size_t d_dragAnchorIdx
Selection index for drag selection anchor point.
Definition: widgets/MultiLineEditbox.h:760
CEGUI::MultiLineEditbox::d_lines
LineList d_lines
Holds the lines for the current formatting.
Definition: widgets/MultiLineEditbox.h:764
CEGUI::MultiLineEditbox::EventCaretMoved
static const String EventCaretMoved
Definition: widgets/MultiLineEditbox.h:113
CEGUI::MultiLineEditbox::onMouseButtonDown
virtual void onMouseButtonDown(MouseEventArgs &e)
Handler called when a mouse button has been depressed within this window's area.
CEGUI::MultiLineEditbox::initialiseComponents
virtual void initialiseComponents(void)
Initialise the Window based object ready for use.
CEGUI::MultiLineEditbox::handleDocHome
void handleDocHome(uint sysKeys)
Processing to move caret to the start of the text.
CEGUI::KeyEventArgs
EventArgs based class that is used for objects passed to input event handlers concerning keyboard inp...
Definition: InputEvent.h:315
CEGUI::MultiLineEditbox
Base class for the multi-line edit box widget.
Definition: widgets/MultiLineEditbox.h:80
CEGUI::MultiLineEditbox::LineInfo::d_extent
float d_extent
Rendered extent of this line.
Definition: widgets/MultiLineEditbox.h:160
CEGUI::MultiLineEditboxWindowRenderer::MultiLineEditboxWindowRenderer
MultiLineEditboxWindowRenderer(const String &name)
Constructor.
CEGUI::MultiLineEditbox::getMaxTextLength
size_t getMaxTextLength(void) const
return the maximum text length set for this edit box.
Definition: widgets/MultiLineEditbox.h:239
CEGUI::MultiLineEditbox::handleLineHome
void handleLineHome(uint sysKeys)
Processing to move caret to the start of the current line.
CEGUI::MultiLineEditbox::isWordWrapped
bool isWordWrapped(void) const
Return whether the text in the edit box will be word-wrapped.
CEGUI::MultiLineEditbox::d_maxTextLen
size_t d_maxTextLen
Maximum number of characters for this Editbox.
Definition: widgets/MultiLineEditbox.h:755
CEGUI::MultiLineEditbox::handleBackspace
void handleBackspace(void)
Processing for backspace key.
CEGUI::MultiLineEditbox::LineInfo::d_startIdx
size_t d_startIdx
Starting index for this line.
Definition: widgets/MultiLineEditbox.h:158
CEGUI::MultiLineEditbox::handleLineEnd
void handleLineEnd(uint sysKeys)
Processing to move caret to the end of the current line.
CEGUI::MultiLineEditbox::getLineNumberFromIndex
size_t getLineNumberFromIndex(size_t index) const
Return the line number a given index falls on with the current formatting. Will return last line if i...
CEGUI::MultiLineEditbox::WidgetTypeName
static const String WidgetTypeName
Window factory name.
Definition: widgets/MultiLineEditbox.h:83
CEGUI::MultiLineEditbox::setReadOnly
void setReadOnly(bool setting)
Specify whether the edit box is read-only.
CEGUI::MultiLineEditbox::getSelectionLength
size_t getSelectionLength(void) const
return the length of the current selection (in code points / characters).
CEGUI::MultiLineEditbox::clearSelection
void clearSelection(void)
Clear the current selection setting.
CEGUI::MultiLineEditbox::handleWordLeft
void handleWordLeft(uint sysKeys)
Processing to move caret one word left.
CEGUI::MultiLineEditbox::setCaretIndex
void setCaretIndex(size_t caret_pos)
Set the current position of the caret.
CEGUI::MultiLineEditbox::onCharacter
virtual void onCharacter(KeyEventArgs &e)
Handler called when a character-key has been pressed while this window has input focus.
CEGUI::MultiLineEditbox::onSized
virtual void onSized(ElementEventArgs &e)
Handler called when the window's size changes.
CEGUI::MultiLineEditbox::setSelection
void setSelection(size_t start_pos, size_t end_pos)
Define the current selection for the edit box.
CEGUI::MultiLineEditbox::LineInfo::d_length
size_t d_length
Code point length of this line.
Definition: widgets/MultiLineEditbox.h:159
CEGUI::MultiLineEditbox::d_selectionEnd
size_t d_selectionEnd
End of selection area.
Definition: widgets/MultiLineEditbox.h:758
CEGUI::MultiLineEditbox::handlePageUp
void handlePageUp(uint sysKeys)
Processing to move caret one page up.
CEGUI::MultiLineEditbox::VertScrollbarName
static const String VertScrollbarName
Widget name for the vertical scrollbar component.
Definition: widgets/MultiLineEditbox.h:145
CEGUI::MultiLineEditbox::isVertScrollbarAlwaysShown
bool isVertScrollbarAlwaysShown(void) const
Return whether the vertical scroll bar is always shown.
CEGUI::MultiLineEditbox::handle_scrollChange
bool handle_scrollChange(const EventArgs &args)
Internal handler that is triggered when the user interacts with the scrollbars.
CEGUI::MultiLineEditbox::hasInputFocus
bool hasInputFocus(void) const
return true if the edit box has input focus.
CEGUI::MultiLineEditbox::d_wordWrap
bool d_wordWrap
true when formatting uses word-wrapping.
Definition: widgets/MultiLineEditbox.h:763
CEGUI::Window
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition: Window.h:151
CEGUI::MultiLineEditbox::getSelectionStartIndex
size_t getSelectionStartIndex(void) const
return the current selection start point.
CEGUI::MultiLineEditbox::handleLineUp
void handleLineUp(uint sysKeys)
Processing to move caret up a line.
CEGUI::WindowRenderer
Base-class for the assignable WindowRenderer object.
Definition: WindowRenderer.h:52
CEGUI::MultiLineEditbox::LineList
std::vector< LineInfo CEGUI_VECTOR_ALLOC(LineInfo)> LineList
Type for collection of LineInfos.
Definition: widgets/MultiLineEditbox.h:163
CEGUI::MultiLineEditbox::EventReadOnlyModeChanged
static const String EventReadOnlyModeChanged
Definition: widgets/MultiLineEditbox.h:94
CEGUI::MultiLineEditbox::EventVertScrollbarModeChanged
static const String EventVertScrollbarModeChanged
Definition: widgets/MultiLineEditbox.h:133
CEGUI::MultiLineEditboxWindowRenderer::onLookNFeelAssigned
void onLookNFeelAssigned()
Handler called when a Look'N'Feel is assigned to our window.
CEGUI::MultiLineEditbox::onKeyDown
virtual void onKeyDown(KeyEventArgs &e)
Handler called when a key as been depressed while this window has input focus.
CEGUI::MultiLineEditbox::handleLineDown
void handleLineDown(uint sysKeys)
Processing to move caret down a line.
CEGUI::MultiLineEditbox::handleNewLine
void handleNewLine(uint sysKeys)
Processing to insert a new line / paragraph.
CEGUI::String
String class used within the GUI system.
Definition: String.h:64
CEGUI::MultiLineEditbox::ensureCaretIsVisible
void ensureCaretIsVisible(void)
Scroll the view so that the current caret position is visible.
CEGUI::MultiLineEditbox::onMouseButtonUp
virtual void onMouseButtonUp(MouseEventArgs &e)
Handler called when a mouse button has been released within this window's area.
CEGUI::MultiLineEditbox::formatText
void formatText(void)
Return a Rect object describing, in un-clipped pixels, the window relative area that the text should ...
CEGUI::MultiLineEditbox::formatText
void formatText(const bool update_scrollbars)
Format the text into lines as dictated by the formatting options.
CEGUI::MultiLineEditbox::d_dragging
bool d_dragging
true when a selection is being dragged.
Definition: widgets/MultiLineEditbox.h:759
CEGUI::MultiLineEditbox::performCopy
virtual bool performCopy(Clipboard &clipboard)
Asks the widget to perform a clipboard copy to the provided clipboard.
CEGUI::MultiLineEditbox::getSelectionEndIndex
size_t getSelectionEndIndex(void) const
return the current selection end point.
CEGUI::Rect< float >
CEGUI::MultiLineEditbox::handleCharRight
void handleCharRight(uint sysKeys)
Processing to move caret one character right.
CEGUI::MultiLineEditbox::handleWordRight
void handleWordRight(uint sysKeys)
Processing to move caret one word right.
CEGUI::MultiLineEditbox::eraseSelectedText
void eraseSelectedText(bool modify_text=true)
Erase the currently selected text.
CEGUI::MultiLineEditbox::d_lineBreakChars
static String d_lineBreakChars
Holds what we consider to be line break characters.
Definition: widgets/MultiLineEditbox.h:762
CEGUI::MultiLineEditbox::HorzScrollbarName
static const String HorzScrollbarName
Widget name for the horizontal scrollbar component.
Definition: widgets/MultiLineEditbox.h:146
CEGUI::Image
Interface for Image.
Definition: Image.h:161
CEGUI::MultiLineEditbox::onReadOnlyChanged
void onReadOnlyChanged(WindowEventArgs &e)
Handler called when the read-only state of the edit box changes.
CEGUI::MultiLineEditbox::setSelectionStart
void setSelectionStart(size_t start_pos)
Define the current selection start for the Editbox.
CEGUI::MultiLineEditbox::performPaste
virtual bool performPaste(Clipboard &clipboard)
Asks the widget to perform a clipboard paste from the provided clipboard.
CEGUI::EventArgs
Base class used as the argument to all subscribers Event object.
Definition: EventArgs.h:51
CEGUI::MultiLineEditbox::EventMaximumTextLengthChanged
static const String EventMaximumTextLengthChanged
Definition: widgets/MultiLineEditbox.h:107
CEGUI::MultiLineEditbox::handleCharLeft
void handleCharLeft(uint sysKeys)
Processing to move caret one character left.
CEGUI::MultiLineEditbox::d_forceVertScroll
bool d_forceVertScroll
true if vertical scrollbar should always be displayed
Definition: widgets/MultiLineEditbox.h:768