Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | Related Pages

gcn::TextBox Class Reference

#include <textbox.hpp>

Inheritance diagram for gcn::TextBox:

gcn::Widget gcn::MouseListener gcn::KeyListener List of all members.

Detailed Description

A TextBox in which you can write and/or display a lines of text.

NOTE: A plain TextBox is really uggly and looks much better inside a ScrollArea.

Definition at line 73 of file textbox.hpp.

Public Member Functions

 TextBox ()
 Constructor.
 TextBox (const std::string &text)
 Constructor.
virtual void setText (const std::string &text)
 Sets the text.
virtual std::string getText () const
 Gets the text.
virtual const std::string & getTextRow (int row) const
 Gets the row of a text.
virtual void setTextRow (int row, const std::string &text)
 Sets the text of a certain row in a TextBox.
virtual unsigned int getNumberOfRows () const
 Gets the number of rows in the text.
virtual unsigned int getCaretPosition () const
 Gets the caret position in the text.
virtual void setCaretPosition (unsigned int position)
 Sets the position of the caret in the text.
virtual unsigned int getCaretRow () const
 Gets the row the caret is in in the text.
virtual void setCaretRow (int row)
 Sets the row the caret should be in in the text.
virtual unsigned int getCaretColumn () const
 Gets the column the caret is in in the text.
virtual void setCaretColumn (int column)
 Sets the column the caret should be in in the text.
virtual void setCaretRowColumn (int row, int column)
 Sets the row and the column the caret should be in in the text.
virtual void scrollToCaret ()
 Scrolls the text to the caret if the TextBox is in a ScrollArea.
virtual bool isEditable () const
 Checks if the TextBox is editable.
virtual void setEditable (bool editable)
 Sets if the TextBox should be editable or not.
virtual void addRow (const std::string row)
 Adds a text row to the text.
virtual bool isOpaque ()
 Checks if the TextBox is opaque.
virtual void setOpaque (bool opaque)
 Sets the TextBox to be opaque.
virtual void draw (Graphics *graphics)
 Draws the Widget.
virtual void drawBorder (Graphics *graphics)
 Draws a the Widget border.
virtual void fontChanged ()
 Called when the font has changed.
virtual void keyPress (const Key &key)
 Called if a key is pressed when the widget has keyboard focus.
virtual void mousePress (int x, int y, int button)
 Called when a mouse button is pressed when the mouse is in the Widget area or if the Widget has focus.

Protected Member Functions

virtual void drawCaret (Graphics *graphics, int x, int y)
 Draws the caret.
virtual void adjustSize ()
 Adjusts the TextBox size to fit the font size.

Protected Attributes

std::vector< std::string > mTextRows
int mCaretColumn
int mCaretRow
bool mEditable
bool mOpaque


Constructor & Destructor Documentation

gcn::TextBox::TextBox const std::string &  text  ) 
 

Constructor.

Parameters:
text the text of the TextBox.

Definition at line 84 of file textbox.cpp.

References gcn::Widget::addKeyListener(), gcn::Widget::addMouseListener(), adjustSize(), gcn::Widget::setBorderSize(), gcn::Widget::setFocusable(), and setText().


Member Function Documentation

void gcn::TextBox::addRow const std::string  row  )  [virtual]
 

Adds a text row to the text.

Parameters:
row a row.

Definition at line 524 of file textbox.cpp.

References adjustSize().

void gcn::TextBox::draw Graphics graphics  )  [virtual]
 

Draws the Widget.

It is called by the parent widget when it is time for the Widget to draw itself. The graphics object is set up so that all drawing is relative to the Widget, i.e coordinate (0,0) is the top-left corner of the Widget. It is not possible to draw outside of a Widgets dimension.

Parameters:
graphics a Graphics object to draw with.

Implements gcn::Widget.

Definition at line 131 of file textbox.cpp.

References drawCaret(), gcn::Widget::getBackgroundColor(), gcn::Widget::getFont(), gcn::Widget::getForegroundColor(), gcn::Widget::getHeight(), gcn::Widget::getWidth(), gcn::Widget::hasFocus(), and isEditable().

void gcn::TextBox::drawBorder Graphics graphics  )  [virtual]
 

Draws a the Widget border.

A border is drawn around a Widget. The width and height of the border is therefore the Widgets height+2*bordersize. Think of a painting that has a certain size, the border surrounds the painting.

Parameters:
graphics a Graphics object to draw with.

Reimplemented from gcn::Widget.

Definition at line 156 of file textbox.cpp.

References gcn::Widget::getBackgroundColor(), gcn::Widget::getBorderSize(), gcn::Widget::getHeight(), and gcn::Widget::getWidth().

void gcn::TextBox::drawCaret Graphics graphics,
int  x,
int  y
[protected, virtual]
 

Draws the caret.

Parameters:
graphis a Graphics object to draw with.
x the x position.
y the y position.

Definition at line 173 of file textbox.cpp.

References gcn::Widget::getFont(), gcn::Widget::getForegroundColor(), and gcn::Widget::getHeight().

Referenced by draw().

void gcn::TextBox::fontChanged  )  [virtual]
 

Called when the font has changed.

If the change is global, this function will only be called if the Widget don't have a font already set.

Reimplemented from gcn::Widget.

Definition at line 489 of file textbox.cpp.

References adjustSize().

unsigned int gcn::TextBox::getCaretColumn  )  const [virtual]
 

Gets the column the caret is in in the text.

Returns:
the column the caret is in in the text.

Definition at line 442 of file textbox.cpp.

unsigned int gcn::TextBox::getCaretPosition  )  const [virtual]
 

Gets the caret position in the text.

Returns:
the caret position in the text.

Definition at line 387 of file textbox.cpp.

unsigned int gcn::TextBox::getCaretRow  )  const [virtual]
 

Gets the row the caret is in in the text.

Returns:
the row the caret is in in the text.

Definition at line 422 of file textbox.cpp.

unsigned int gcn::TextBox::getNumberOfRows  )  const [virtual]
 

Gets the number of rows in the text.

Returns:
the number of rows in the text.

Definition at line 464 of file textbox.cpp.

std::string gcn::TextBox::getText  )  const [virtual]
 

Gets the text.

Returns:
the text of the TextBox.

Definition at line 469 of file textbox.cpp.

const std::string & gcn::TextBox::getTextRow int  row  )  const [virtual]
 

Gets the row of a text.

Returns:
the text of a certain row in the TextBox.

Definition at line 447 of file textbox.cpp.

bool gcn::TextBox::isEditable  )  const [virtual]
 

Checks if the TextBox is editable.

Returns:
true it the TextBox is editable.

Definition at line 519 of file textbox.cpp.

Referenced by draw().

bool gcn::TextBox::isOpaque  )  [virtual]
 

Checks if the TextBox is opaque.

Returns:
true if the TextBox is opaque

Definition at line 530 of file textbox.cpp.

void gcn::TextBox::keyPress const Key key  )  [virtual]
 

Called if a key is pressed when the widget has keyboard focus.

If a key is held down the widget will generate multiple key presses.

Parameters:
key the key pressed.

Reimplemented from gcn::KeyListener.

Definition at line 194 of file textbox.cpp.

References adjustSize(), gcn::BasicContainer::getDrawSize(), gcn::Widget::getFont(), gcn::Font::getHeight(), gcn::Widget::getParent(), scrollToCaret(), and setCaretRow().

void gcn::TextBox::mousePress int  x,
int  y,
int  button
[virtual]
 

Called when a mouse button is pressed when the mouse is in the Widget area or if the Widget has focus.

NOTE: A mouse press is NOT equal to a mouse click. Use mouseClickMessage to check for mouse clicks.

Parameters:
x the x coordinate of the mouse relative to the Widget itself.
y the y coordinate of the mouse relative to the Widget itself.
button the button pressed.

Reimplemented from gcn::MouseListener.

Definition at line 179 of file textbox.cpp.

References gcn::Widget::getFont(), gcn::Font::getHeight(), gcn::Font::getStringIndexAt(), and gcn::Widget::hasMouse().

void gcn::TextBox::setCaretColumn int  column  )  [virtual]
 

Sets the column the caret should be in in the text.

Parameters:
column the column number.

Definition at line 427 of file textbox.cpp.

Referenced by setCaretRow(), setCaretRowColumn(), and setTextRow().

void gcn::TextBox::setCaretPosition unsigned int  position  )  [virtual]
 

Sets the position of the caret in the text.

Parameters:
position the positon of the caret.

Definition at line 364 of file textbox.cpp.

void gcn::TextBox::setCaretRow int  row  )  [virtual]
 

Sets the row the caret should be in in the text.

Parameters:
row the row number.

Definition at line 405 of file textbox.cpp.

References setCaretColumn().

Referenced by keyPress(), and setCaretRowColumn().

void gcn::TextBox::setCaretRowColumn int  row,
int  column
[virtual]
 

Sets the row and the column the caret should be in in the text.

Parameters:
row the row number.
the column number.

Definition at line 399 of file textbox.cpp.

References setCaretColumn(), and setCaretRow().

void gcn::TextBox::setEditable bool  editable  )  [virtual]
 

Sets if the TextBox should be editable or not.

Parameters:
editable true if the TextBox should be editable.

Definition at line 514 of file textbox.cpp.

void gcn::TextBox::setOpaque bool  opaque  )  [virtual]
 

Sets the TextBox to be opaque.

Parameters:
opaque true if the TextBox should be opaque.

Definition at line 535 of file textbox.cpp.

void gcn::TextBox::setText const std::string &  text  )  [virtual]
 

Sets the text.

Parameters:
text the text of the TextBox.

Definition at line 101 of file textbox.cpp.

References adjustSize().

Referenced by TextBox().

void gcn::TextBox::setTextRow int  row,
const std::string &  text
[virtual]
 

Sets the text of a certain row in a TextBox.

Parameters:
row the row number.
text the text of a certain row in the TextBox.

Definition at line 452 of file textbox.cpp.

References adjustSize(), and setCaretColumn().


The documentation for this class was generated from the following files:
Generated on Tue May 17 21:23:27 2005 for Guichan by  doxygen 1.4.1