#include <guiEditBoxWithScrollbar.h>
Public Member Functions | |
GUIEditBoxWithScrollBar (const wchar_t *text, bool border, IGUIEnvironment *environment, IGUIElement *parent, s32 id, const core::rect< s32 > &rectangle, ISimpleTextureSource *tsrc, bool writable=true, bool has_vscrollbar=true) | |
constructor | |
virtual | ~GUIEditBoxWithScrollBar () |
destructor | |
virtual void | setDrawBackground (bool draw) |
Sets whether to draw the background. | |
virtual void | draw () |
draws the element and its children | |
virtual void | updateAbsolutePosition () |
Updates the absolute position, splits text if required. | |
virtual void | setBackgroundColor (const video::SColor &bg_color) |
Change the background color. | |
virtual bool | isDrawBackgroundEnabled () const |
virtual bool | isDrawBorderEnabled () const |
virtual void | setCursorChar (const wchar_t cursorChar) |
virtual wchar_t | getCursorChar () const |
virtual void | setCursorBlinkTime (irr::u32 timeMs) |
virtual irr::u32 | getCursorBlinkTime () const |
Public Member Functions inherited from GUIEditBox | |
GUIEditBox (IGUIEnvironment *environment, IGUIElement *parent, s32 id, core::rect< s32 > rectangle, bool border, bool writable) | |
virtual | ~GUIEditBox () |
virtual void | setOverrideFont (IGUIFont *font=0) |
Sets another skin independent font. | |
virtual IGUIFont * | getOverrideFont () const |
virtual IGUIFont * | getActiveFont () const |
Get the font which is used right now for drawing. | |
virtual void | setOverrideColor (video::SColor color) |
Sets another color for the text. | |
virtual video::SColor | getOverrideColor () const |
Gets the override color. | |
virtual void | enableOverrideColor (bool enable) |
Sets if the text should use the overide color or the color in the gui skin. | |
virtual bool | isOverrideColorEnabled (void) const |
Checks if an override color is enabled. | |
virtual void | setWordWrap (bool enable) |
Enables or disables word wrap for using the edit box as multiline text editor. | |
virtual bool | isWordWrapEnabled () const |
Checks if word wrap is enabled. | |
virtual void | setDrawBorder (bool border) |
Turns the border on or off. | |
virtual void | setMultiLine (bool enable) |
Enables or disables newlines. | |
virtual bool | isMultiLineEnabled () const |
Checks if multi line editing is enabled. | |
virtual void | setAutoScroll (bool enable) |
Enables or disables automatic scrolling with cursor position. | |
virtual bool | isAutoScrollEnabled () const |
Checks to see if automatic scrolling is enabled. | |
virtual void | setPasswordBox (bool passwordBox, wchar_t passwordChar=L' *') |
Sets whether the edit box is a password box. Setting this to true will. | |
virtual bool | isPasswordBox () const |
Returns true if the edit box is currently a password box. | |
virtual void | setTextAlignment (EGUI_ALIGNMENT horizontal, EGUI_ALIGNMENT vertical) |
Sets text justification. | |
virtual void | setText (const wchar_t *text) |
Sets the new caption of this element. | |
virtual void | setMax (u32 max) |
Sets the maximum amount of characters which may be entered in the box. | |
virtual u32 | getMax () const |
Returns maximum amount of characters, previously set by setMax();. | |
virtual core::dimension2du | getTextDimension () |
Gets the size area of the text in the edit box. | |
virtual void | setWritable (bool can_write_text) |
set true if this EditBox is writable | |
virtual bool | OnEvent (const SEvent &event) |
called if an event happened. | |
virtual bool | acceptsIME () |
Protected Member Functions | |
virtual void | breakText () |
Breaks the single text line. | |
virtual void | setTextRect (s32 line) |
sets the area of the given line | |
void | calculateScrollPos () |
calculates the current scroll position | |
void | calculateFrameRect () |
calculated the FrameRect | |
void | createVScrollBar () |
create a Vertical ScrollBar | |
s32 | getCursorPos (s32 x, s32 y) |
Protected Member Functions inherited from GUIEditBox | |
void | setTextMarkers (s32 begin, s32 end) |
set text markers | |
void | sendGuiEvent (EGUI_EVENT_TYPE type) |
send some gui event to parent | |
bool | processKey (const SEvent &event) |
virtual void | inputString (const core::stringw &str) |
virtual void | inputChar (wchar_t c) |
s32 | getLineFromPos (s32 pos) |
returns the line number that the cursor is on | |
void | updateVScrollBar () |
update the vertical scrollBar (visibilty & position) | |
Protected Attributes | |
bool | m_background |
bool | m_bg_color_used |
video::SColor | m_bg_color |
ISimpleTextureSource * | m_tsrc |
Protected Attributes inherited from GUIEditBox | |
gui::IGUIFont * | m_override_font = nullptr |
bool | m_override_color_enabled = false |
bool | m_word_wrap = false |
bool | m_multiline = false |
bool | m_autoscroll = true |
bool | m_border |
bool | m_passwordbox = false |
wchar_t | m_passwordchar = L'*' |
std::vector< core::stringw > | m_broken_text |
std::vector< s32 > | m_broken_text_positions |
EGUI_ALIGNMENT | m_halign = EGUIA_UPPERLEFT |
EGUI_ALIGNMENT | m_valign = EGUIA_CENTER |
u32 | m_blink_start_time = 0 |
s32 | m_cursor_pos = 0 |
s32 | m_hscroll_pos = 0 |
s32 | m_vscroll_pos = 0 |
u32 | m_max = 0 |
video::SColor | m_override_color = video::SColor(101, 255, 255, 255) |
core::rect< s32 > | m_current_text_rect = core::rect<s32>(0, 0, 1, 1) |
bool | m_writable |
bool | m_mouse_marking = false |
s32 | m_mark_begin = 0 |
s32 | m_mark_end = 0 |
gui::IGUIFont * | m_last_break_font = nullptr |
IOSOperator * | m_operator = nullptr |
core::rect< s32 > | m_frame_rect |
u32 | m_scrollbar_width = 0 |
GUIScrollBar * | m_vscrollbar = nullptr |
GUIEditBoxWithScrollBar::GUIEditBoxWithScrollBar | ( | const wchar_t * | text, |
bool | border, | ||
IGUIEnvironment * | environment, | ||
IGUIElement * | parent, | ||
s32 | id, | ||
const core::rect< s32 > & | rectangle, | ||
ISimpleTextureSource * | tsrc, | ||
bool | writable = true, | ||
bool | has_vscrollbar = true ) |
constructor
References breakText(), calculateFrameRect(), calculateScrollPos(), createVScrollBar(), GUIEditBox::m_operator, and GUIEditBox::setWritable().
|
inlinevirtual |
destructor
|
protectedvirtual |
Breaks the single text line.
Implements GUIEditBox.
References GUIEditBox::getActiveFont(), GUIEditBox::m_broken_text, GUIEditBox::m_broken_text_positions, GUIEditBox::m_cursor_pos, GUIEditBox::m_last_break_font, GUIEditBox::m_multiline, GUIEditBox::m_scrollbar_width, and GUIEditBox::m_word_wrap.
Referenced by GUIEditBoxWithScrollBar(), draw(), and updateAbsolutePosition().
|
protected |
calculated the FrameRect
References GUIEditBox::m_border, GUIEditBox::m_frame_rect, and GUIEditBox::updateVScrollBar().
Referenced by GUIEditBoxWithScrollBar(), draw(), and updateAbsolutePosition().
|
protectedvirtual |
calculates the current scroll position
Implements GUIEditBox.
References GUIEditBox::getActiveFont(), GUIEditBox::getLineFromPos(), GUIEditBox::m_autoscroll, GUIEditBox::m_broken_text, GUIEditBox::m_broken_text_positions, GUIEditBox::m_current_text_rect, GUIEditBox::m_cursor_pos, GUIEditBox::m_frame_rect, GUIEditBox::m_hscroll_pos, GUIEditBox::m_multiline, GUIEditBox::m_override_font, GUIEditBox::m_valign, GUIEditBox::m_vscroll_pos, GUIEditBox::m_vscrollbar, GUIEditBox::m_word_wrap, GUIScrollBar::setPos(), and setTextRect().
Referenced by GUIEditBoxWithScrollBar(), and updateAbsolutePosition().
|
protected |
create a Vertical ScrollBar
create a vertical scroll bar
References GUIEditBox::m_frame_rect, GUIEditBox::m_override_font, GUIEditBox::m_scrollbar_width, m_tsrc, GUIEditBox::m_vscrollbar, GUIScrollBar::setLargeStep(), and GUIScrollBar::setSmallStep().
Referenced by GUIEditBoxWithScrollBar().
|
virtual |
draws the element and its children
References breakText(), calculateFrameRect(), GUIEditBox::getActiveFont(), GUIEditBox::getLineFromPos(), porting::getTimeMs(), m_background, m_bg_color, m_bg_color_used, GUIEditBox::m_blink_start_time, GUIEditBox::m_border, GUIEditBox::m_broken_text, GUIEditBox::m_broken_text_positions, GUIEditBox::m_current_text_rect, GUIEditBox::m_cursor_pos, GUIEditBox::m_frame_rect, GUIEditBox::m_last_break_font, GUIEditBox::m_mark_begin, GUIEditBox::m_mark_end, GUIEditBox::m_multiline, GUIEditBox::m_override_color, GUIEditBox::m_override_color_enabled, GUIEditBox::m_passwordbox, GUIEditBox::m_passwordchar, GUIEditBox::m_word_wrap, GUIEditBox::m_writable, and setTextRect().
Referenced by setDrawBackground().
|
virtual |
|
virtual |
|
protectedvirtual |
Implements GUIEditBox.
References GUIEditBox::getActiveFont(), idx, GUIEditBox::m_broken_text, GUIEditBox::m_broken_text_positions, GUIEditBox::m_current_text_rect, GUIEditBox::m_multiline, GUIEditBox::m_word_wrap, and setTextRect().
|
virtual |
|
virtual |
Reimplemented from GUIEditBox.
|
virtual |
Change the background color.
References m_bg_color, and m_bg_color_used.
|
virtual |
|
virtual |
|
virtual |
Sets whether to draw the background.
References draw(), and m_background.
|
protectedvirtual |
sets the area of the given line
Implements GUIEditBox.
References GUIEditBox::getActiveFont(), GUIEditBox::m_broken_text, GUIEditBox::m_current_text_rect, GUIEditBox::m_frame_rect, GUIEditBox::m_halign, GUIEditBox::m_hscroll_pos, GUIEditBox::m_multiline, GUIEditBox::m_valign, GUIEditBox::m_vscroll_pos, and GUIEditBox::m_word_wrap.
Referenced by calculateScrollPos(), draw(), and getCursorPos().
|
virtual |
Updates the absolute position, splits text if required.
References breakText(), calculateFrameRect(), and calculateScrollPos().
|
protected |
Referenced by draw(), and setDrawBackground().
|
protected |
Referenced by draw(), and setBackgroundColor().
|
protected |
Referenced by draw(), and setBackgroundColor().
|
protected |
Referenced by createVScrollBar().