Main Page | Class Hierarchy | Class List | Directories | 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)
virtual void drawBorder (Graphics *graphics)
 Draws a 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 78 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]
 

Todo:
Check cliprects so we do not have to iterate over elements in the list model

Implements gcn::Widget.

Definition at line 89 of file listbox.cpp.

References gcn::Widget::getBackgroundColor(), gcn::ListModel::getElementAt(), gcn::Widget::getFont(), gcn::Widget::getForegroundColor(), gcn::Font::getHeight(), gcn::Widget::getHeight(), and gcn::Widget::getWidth().

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

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

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

Gets the ListModel used.

Returns:
the ListModel used.

Definition at line 232 of file listbox.cpp.

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

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

Gets the ListModel index of the selected element.

Returns:
the ListModel index of the selected element.

Definition at line 152 of file listbox.cpp.

Referenced by gcn::DropDown::draw(), gcn::DropDown::DropDown(), gcn::DropDown::getSelected(), gcn::DropDown::setListBox(), 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 195 of file listbox.cpp.

References gcn::Widget::generateAction(), 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 147 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 216 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 225 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 157 of file listbox.cpp.

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

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


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