30 #ifndef _CEGUIMultiLineEditbox_h_
31 #define _CEGUIMultiLineEditbox_h_
33 #include "../CEGUIBase.h"
34 #include "../CEGUIWindow.h"
35 #include "../CEGUIFont.h"
36 #include "CEGUIMultiLineEditboxProperties.h"
42 # pragma warning(push)
43 # pragma warning(disable : 4251)
71 virtual Rect getTextRenderArea(
void)
const = 0;
75 void onLookNFeelAssigned();
178 bool hasInputFocus(
void)
const;
210 size_t getSelectionStartIndex(
void)
const;
221 size_t getSelectionEndIndex(
void)
const;
231 size_t getSelectionLength(
void)
const;
252 bool isWordWrapped(
void)
const;
276 bool isVertScrollbarAlwaysShown(
void)
const;
300 Rect getTextRenderArea(
void)
const;
303 const LineList& getFormattedLines(
void)
const {
return d_lines;}
310 size_t getLineNumberFromIndex(
size_t index)
const;
325 virtual void initialiseComponents(
void);
339 void setReadOnly(
bool setting);
353 void setCaratIndex(
size_t carat_pos);
371 void setSelection(
size_t start_pos,
size_t end_pos);
384 void setMaxTextLength(
size_t max_len);
391 void ensureCaratIsVisible(
void);
405 void setWordWrapping(
bool setting);
418 void setShowVertScrollbar(
bool setting);
421 void setSelectionBrushImage(
const Image* image);
422 const Image* getSelectionBrushImage()
const;
431 MultiLineEditbox(
const String& type,
const String& name);
438 virtual ~MultiLineEditbox(
void);
465 void formatText(
void);
475 void formatText(
const bool update_scrollbars);
487 size_t getNextTokenLength(
const String& text,
size_t start_idx)
const;
494 void configureScrollbars(
void);
507 size_t getTextIndexFromPosition(
const Point& pt)
const;
514 void clearSelection(
void);
524 void eraseSelectedText(
bool modify_text =
true);
531 void handleBackspace(
void);
538 void handleDelete(
void);
545 void handleCharLeft(uint sysKeys);
552 void handleWordLeft(uint sysKeys);
559 void handleCharRight(uint sysKeys);
566 void handleWordRight(uint sysKeys);
573 void handleDocHome(uint sysKeys);
580 void handleDocEnd(uint sysKeys);
587 void handleLineHome(uint sysKeys);
594 void handleLineEnd(uint sysKeys);
601 void handleLineUp(uint sysKeys);
608 void handleLineDown(uint sysKeys);
615 void handleNewLine(uint sysKeys);
622 void handlePageUp(uint sysKeys);
629 void handlePageDown(uint sysKeys);
642 virtual bool testClassName_impl(
const String& class_name)
const
644 if ((class_name==
"MultiLineEditBox") ||
645 (class_name==
"MultiLineEditbox"))
657 bool handle_scrollChange(
const EventArgs& args);
660 bool handle_vertScrollbarVisibilityChanged(
const EventArgs&);
663 virtual bool validateWindowRenderer(
const String& name)
const
665 return (name == EventNamespace);
784 void addMultiLineEditboxProperties(
void);
789 #if defined(_MSC_VER)
790 # pragma warning(pop)
793 #endif // end of guard _CEGUIMultiLineEditbox_h_