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

gcn::ListBox Class Reference

#include <listbox.hpp>

Inheritance diagram for gcn::ListBox:

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

Detailed Description

A ListBox displaying a list in which elemets can be selected.

Only one element can be selected at time. ListBox uses a ListModel to handle the list. To be able to use ListBox you must give ListBox an implemented ListModel which represents your list.

Definition at line 72 of file listbox.hpp.

Public Member Functions

 ListBox ()
 Constructor.
 ListBox (ListModel *listModel)
 Constructor.
virtual ~ListBox ()
 Destructor.
virtual int getSelected ()
 Gets the ListModel index of the selected element.
virtual void setSelected (int selected)
 Sets the ListModel index of the selected element.
virtual void setListModel (ListModel *listModel)
 Sets the ListModel to use.
virtual ListModelgetListModel ()
 Gets the ListModel used.
virtual void adjustSize ()
 Adjusts the size of the ListBox to fit the font used.
virtual void draw (Graphics *graphics)
 Draws the Widget.
virtual void drawBorder (Graphics *graphics)
 Draws the Widget border.
virtual void logic ()
 Called for all Widgets in the gui each time Gui::logic is called.
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 Attributes

ListModelmListModel
int mSelected


Constructor & Destructor Documentation

gcn::ListBox::ListBox ListModel listModel  ) 
 

Constructor.

Parameters:
listModel the ListModel to use.
Definition at line 81 of file listbox.cpp.

References gcn::Widget::addKeyListener(), gcn::Widget::addMouseListener(), gcn::Widget::setFocusable(), setListModel(), and gcn::Widget::setWidth().


Member Function Documentation

void gcn::ListBox::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 92 of file listbox.cpp.

References gcn::Graphics::drawRectangle(), gcn::Graphics::drawText(), gcn::Graphics::fillRectangle(), gcn::Widget::getBackgroundColor(), gcn::ListModel::getElementAt(), gcn::Widget::getFont(), gcn::Widget::getForegroundColor(), gcn::Font::getHeight(), gcn::Widget::getHeight(), gcn::ListModel::getNumberOfElements(), gcn::Widget::getWidth(), gcn::Graphics::setColor(), and gcn::Graphics::setFont().

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

Draws 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 126 of file listbox.cpp.

References gcn::Color::a, gcn::Graphics::drawLine(), gcn::Widget::getBaseColor(), gcn::Widget::getBorderSize(), gcn::Widget::getHeight(), gcn::Widget::getWidth(), and gcn::Graphics::setColor().

ListModel * gcn::ListBox::getListModel  )  [virtual]
 

Gets the ListModel used.

Returns:
the ListModel used.
Definition at line 231 of file listbox.cpp.

Referenced by gcn::DropDown::draw(), and gcn::DropDown::getListModel().

int gcn::ListBox::getSelected  )  [virtual]
 

Gets the ListModel index of the selected element.

Returns:
the ListModel index of the selected element.
Definition at line 155 of file listbox.cpp.

Referenced by gcn::DropDown::draw(), gcn::DropDown::DropDown(), gcn::DropDown::getSelected(), and gcn::DropDown::setListModel().

void gcn::ListBox::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 listbox.cpp.

References gcn::Widget::generateAction(), gcn::Key::getValue(), and setSelected().

void gcn::ListBox::logic  )  [virtual]
 

Called for all Widgets in the gui each time Gui::logic is called.

You can do logic stuff here like playing an animation.

See also:
Gui

Reimplemented from gcn::Widget.

Definition at line 150 of file listbox.cpp.

References adjustSize().

void gcn::ListBox::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 215 of file listbox.cpp.

References gcn::Widget::generateAction(), gcn::Widget::getFont(), gcn::Widget::getHeight(), gcn::Widget::hasMouse(), and setSelected().

void gcn::ListBox::setListModel ListModel listModel  )  [virtual]
 

Sets the ListModel to use.

Parameters:
listModel the ListModel to use.
Definition at line 224 of file listbox.cpp.

References adjustSize().

Referenced by ListBox(), and gcn::DropDown::setListModel().

void gcn::ListBox::setSelected int  selected  )  [virtual]
 

Sets the ListModel index of the selected element.

Parameters:
selected the ListModel index of the selected element.
Definition at line 160 of file listbox.cpp.

References gcn::Widget::getFont(), gcn::Font::getHeight(), gcn::ListModel::getNumberOfElements(), gcn::Widget::getParent(), gcn::Rectangle::height, gcn::BasicContainer::showWidgetPart(), and gcn::Rectangle::y.

Referenced by gcn::DropDown::DropDown(), keyPress(), mousePress(), gcn::DropDown::setListModel(), and gcn::DropDown::setSelected().


The documentation for this class was generated from the following files:
Generated on Thu Jun 8 19:48:36 2006 for Guichan by doxygen 1.3.8