zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Zeni::Text_Box Class Reference

A Text_Box. More...

#include <Widget.h>

Inherits Zeni::Widget_Button.

Inherited by Zeni::Configurator_Video::Text_Element, and Zeni::Title_State< PLAY_STATE, INSTRUCTIONS_STATE >::Title.

Public Member Functions

 Text_Box (const Point2f &upper_left_, const Point2f &lower_right_, const String &font_name_, const String &text_, const Color &text_color_, const bool &editable_=ZENI_DEFAULT_TEXTBOX_EDITABLE, const JUSTIFY &justify_=ZENI_DEFAULT_JUSTIFY, const int &tab_spaces_=ZENI_DEFAULT_TAB_SPACES)
 
 ~Text_Box ()
 
void erase_lines (const unsigned int &begin, const unsigned int &end)
 
void fax_BG_Renderer (const Widget_Render_Function *const &renderer)
 Set the current Widget_Render_Function, giving the Widget a copy. More...
 
const Widget_Render_Functionget_BG_Renderer () const
 Get the current Widget_Render_Function. More...
 
int get_cursor_pos () const
 
const intget_edit_pos () const
 
const Fontget_Font () const
 
const Stringget_font_name () const
 
const JUSTIFYget_justify () const
 
int get_max_cursor_seek () const
 
size_t get_max_lines () const
 
int get_max_seek () const
 
size_t get_num_lines () const
 
const Stringget_text () const
 
const Colorget_text_color () const
 
void give_BG_Renderer (Widget_Render_Function *const &renderer)
 Set the current Widget_Render_Function, giving the Widget ownership. More...
 
void lend_BG_Renderer (const Widget_Render_Function *const &renderer)
 Set the current Widget_Render_Function, giving the Widget no ownership. More...
 
virtual void on_accept ()
 Called when the cursor is released inside the button. More...
 
virtual void on_change ()
 
virtual void on_focus ()
 
virtual void on_key (const SDL_Keysym &keysym, const bool &down)
 
virtual void on_mouse_button (const Point2i &pos, const bool &down, const int &button)
 
virtual void on_unfocus ()
 
virtual void render_impl () const
 
void seek (const int &edit_pos)
 
void seek_cursor (const int &cursor_pos)
 
virtual void set_editable (const bool &editable_)
 
void set_focus (const bool &value)
 
void set_font_name (const String &font_name_)
 
void set_justify (const JUSTIFY &justify_)
 
virtual void set_lower_right (const Point2f &lower_right_)
 
void set_text (const String &text_)
 
void set_text_color (const Color &text_color_)
 
virtual void set_upper_left (const Point2f &upper_left_)
 
- Public Member Functions inherited from Zeni::Widget_Button
 Widget_Button (const Point2f &upper_left_, const Point2f &lower_right_)
 
const Stateget_State () const
 Get the State of the button. More...
 
virtual void on_click ()
 Called when the cursor downclicks the button. More...
 
virtual void on_hover ()
 Called when the cursor passes over the button. More...
 
virtual void on_mouse_motion (const Point2i &pos)
 
virtual void on_reject ()
 Called when the cursor is released outside the button. More...
 
virtual void on_stray ()
 Called when the cursor is dragged off the button after being clicked. More...
 
virtual void on_unhover ()
 Called when the cursor leaves the button without clicking. More...
 
virtual void on_unstray ()
 Called when the cursor is dragged back onto the button without releasing the clicker. More...
 
- Public Member Functions inherited from Zeni::Widget
 Widget ()
 
virtual ~Widget ()
 
void fax_Renderer (const Widget_Render_Function *const &renderer)
 Set the current Widget_Render_Function, giving the Widget a copy. More...
 
const float & get_layer () const
 
const Widget_Render_Functionget_Renderer () const
 Get the current Widget_Render_Function. More...
 
void give_Renderer (Widget_Render_Function *const &renderer)
 Set the current Widget_Render_Function, giving the Widget ownership. More...
 
const bool & is_busy () const
 
const bool & is_editable () const
 
void lend_Renderer (const Widget_Render_Function *const &renderer)
 Set the current Widget_Render_Function, giving the Widget no ownership. More...
 
void on_event (const SDL_KeyboardEvent &event)
 
void on_event (const SDL_MouseButtonEvent &event)
 
void on_event (const SDL_MouseButtonEvent &event, const Projector2D &projector)
 
void on_event (const SDL_MouseMotionEvent &event)
 
void on_event (const SDL_MouseMotionEvent &event, const Projector2D &projector)
 
virtual void perform_logic ()
 
void render () const
 
void set_busy (const bool &busy_)
 
void set_layer (const float &layer_=0.0f)
 
- Public Member Functions inherited from Zeni::Widget_Rectangle
 Widget_Rectangle (const Point2f &upper_left_, const Point2f &lower_right_)
 
virtual ~Widget_Rectangle ()
 
Point2f get_center () const
 
float get_height () const
 
Point2f get_lower_left () const
 
const Point2fget_lower_right () const
 
const Point2fget_upper_left () const
 
Point2f get_upper_right () const
 
float get_width () const
 
bool is_inside (const Point2i &pos) const
 

Static Public Member Functions

static void reformat_all ()
 Reformat all Text_Box instances. More...
 

Additional Inherited Members

- Public Types inherited from Zeni::Widget_Button
enum  State {
  NORMAL, CLICKED, HOVERED, STRAYED,
  UNACTIONABLE
}
 

Detailed Description

A Text_Box.

An (optionally) editable text box. It can behave as a simple text editor.

Author
bazald

Contact: bazal.nosp@m.d@ze.nosp@m.nipex.nosp@m..com

Definition at line 816 of file Widget.h.

Constructor & Destructor Documentation

Zeni::Text_Box::Text_Box ( const Point2f upper_left_,
const Point2f lower_right_,
const String font_name_,
const String text_,
const Color text_color_,
const bool &  editable_ = ZENI_DEFAULT_TEXTBOX_EDITABLE,
const JUSTIFY justify_ = ZENI_DEFAULT_JUSTIFY,
const int tab_spaces_ = ZENI_DEFAULT_TAB_SPACES 
)
Zeni::Text_Box::~Text_Box ( )

Definition at line 853 of file Widget.cpp.

Member Function Documentation

void Zeni::Text_Box::erase_lines ( const unsigned int begin,
const unsigned int end 
)
inline

Definition at line 584 of file Widget.hxx.

References assert, get_num_lines(), i, Zeni::Widget_Renderer_Text::text, and u.

void Zeni::Text_Box::fax_BG_Renderer ( const Widget_Render_Function *const renderer)
inline

Set the current Widget_Render_Function, giving the Widget a copy.

Definition at line 624 of file Widget.hxx.

References Zeni::Widget_Render_Function::get_duplicate(), and give_BG_Renderer().

const Widget_Render_Function * Zeni::Text_Box::get_BG_Renderer ( ) const
inline

Get the current Widget_Render_Function.

Definition at line 608 of file Widget.hxx.

int Zeni::Text_Box::get_cursor_pos ( ) const

Definition at line 1252 of file Widget.cpp.

References int, j, Zeni::Point2i::x, and Zeni::Point2i::y.

Referenced by on_key().

const int & Zeni::Text_Box::get_edit_pos ( ) const

Definition at line 1248 of file Widget.cpp.

Referenced by set_lower_right(), and set_upper_left().

const Font & Zeni::Text_Box::get_Font ( ) const
inline

Definition at line 540 of file Widget.hxx.

References Zeni::Widget_Renderer_Text::font_name, and Zeni::get_Fonts().

Referenced by get_max_lines(), on_accept(), and render_impl().

const String & Zeni::Text_Box::get_font_name ( ) const
inline

Definition at line 536 of file Widget.hxx.

References Zeni::Widget_Renderer_Text::font_name.

const JUSTIFY & Zeni::Text_Box::get_justify ( ) const
inline

Definition at line 552 of file Widget.hxx.

int Zeni::Text_Box::get_max_cursor_seek ( ) const

Definition at line 1263 of file Widget.cpp.

References int, and u.

Referenced by on_key().

size_t Zeni::Text_Box::get_max_lines ( ) const
inline

Definition at line 560 of file Widget.hxx.

References get_Font(), and Zeni::Widget_Rectangle::get_height().

Referenced by Zeni::Console_State::write_to_log().

int Zeni::Text_Box::get_max_seek ( ) const

Definition at line 1259 of file Widget.cpp.

References get_text(), and int.

Referenced by set_focus(), and set_text().

size_t Zeni::Text_Box::get_num_lines ( ) const
inline

Definition at line 556 of file Widget.hxx.

Referenced by erase_lines().

const String & Zeni::Text_Box::get_text ( ) const
inline

Definition at line 544 of file Widget.hxx.

References Zeni::Widget_Renderer_Text::text.

Referenced by get_max_seek(), on_accept(), on_key(), and seek().

const Color & Zeni::Text_Box::get_text_color ( ) const
inline

Definition at line 548 of file Widget.hxx.

References Zeni::Widget_Renderer_Text::color.

void Zeni::Text_Box::give_BG_Renderer ( Widget_Render_Function *const renderer)
inline
void Zeni::Text_Box::lend_BG_Renderer ( const Widget_Render_Function *const renderer)
inline

Set the current Widget_Render_Function, giving the Widget no ownership.

Definition at line 619 of file Widget.hxx.

References give_BG_Renderer().

void Zeni::Text_Box::on_accept ( )
virtual

Called when the cursor is released inside the button.

BEGIN JUSTIFICATION FIX

END JUSTIFICATION FIX

HACK: Pleasentness Increase

Reimplemented from Zeni::Widget_Button.

Definition at line 1013 of file Widget.cpp.

References assert, get_Font(), Zeni::Widget_Rectangle::get_lower_right(), get_text(), Zeni::Font::get_text_width(), Zeni::Widget_Rectangle::get_upper_left(), i, int, j, k, m, seek(), Zeni::String::size(), u, Zeni::Point2i::x, Zeni::Point2f::x, Zeni::Point2i::y, Zeni::ZENI_CENTER, Zeni::ZENI_LEFT, and Zeni::ZENI_RIGHT.

void Zeni::Text_Box::on_change ( )
virtual

Definition at line 1073 of file Widget.cpp.

Referenced by on_key().

void Zeni::Text_Box::on_focus ( )
virtual

Definition at line 1067 of file Widget.cpp.

Referenced by on_mouse_button(), and set_focus().

void Zeni::Text_Box::on_mouse_button ( const Point2i pos,
const bool &  down,
const int button 
)
virtual
void Zeni::Text_Box::on_unfocus ( )
virtual

Definition at line 1070 of file Widget.cpp.

Referenced by on_mouse_button(), and set_focus().

void Zeni::Text_Box::reformat_all ( )
static

Reformat all Text_Box instances.

Definition at line 1397 of file Widget.cpp.

void Zeni::Text_Box::seek_cursor ( const int cursor_pos)
void Zeni::Text_Box::set_editable ( const bool &  editable_)
virtual

Reimplemented from Zeni::Widget.

Definition at line 1230 of file Widget.cpp.

References Zeni::Widget::set_editable().

Referenced by Text_Box().

void Zeni::Text_Box::set_focus ( const bool &  value)

Definition at line 1334 of file Widget.cpp.

References get_max_seek(), Zeni::Widget::is_editable(), on_focus(), on_unfocus(), and seek().

void Zeni::Text_Box::set_font_name ( const String font_name_)
inline

Definition at line 564 of file Widget.hxx.

References Zeni::Widget_Renderer_Text::font_name, and seek().

void Zeni::Text_Box::set_justify ( const JUSTIFY justify_)
inline
void Zeni::Text_Box::set_lower_right ( const Point2f lower_right_)
virtual

Reimplemented from Zeni::Widget_Rectangle.

Definition at line 1242 of file Widget.cpp.

References get_edit_pos(), seek(), and Zeni::Widget_Rectangle::set_lower_right().

void Zeni::Text_Box::set_text ( const String text_)
inline

Definition at line 570 of file Widget.hxx.

References get_max_seek(), min, seek(), and Zeni::Widget_Renderer_Text::text.

void Zeni::Text_Box::set_text_color ( const Color text_color_)
inline

Definition at line 576 of file Widget.hxx.

References Zeni::Widget_Renderer_Text::color.

void Zeni::Text_Box::set_upper_left ( const Point2f upper_left_)
virtual

Reimplemented from Zeni::Widget_Rectangle.

Definition at line 1236 of file Widget.cpp.

References get_edit_pos(), seek(), and Zeni::Widget_Rectangle::set_upper_left().


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