____                _       __
    / __ )____  _____   | |     / /___ ___________
   / __  / __ \/ ___/   | | /| / / __ `/ ___/ ___/
  / /_/ / /_/ (__  )    | |/ |/ / /_/ / /  (__  )
 /_____/\____/____/     |__/|__/\__,_/_/  /____/

       A futuristic real-time strategy game.
          This file is part of Bos Wars.
(C) Copyright 2001-2007 by the Bos Wars and Stratagus Project. Distributed under the "GNU General Public License"

gcn::ListBox Class Reference

#include <listbox.h>

Inheritance diagram for gcn::ListBox:

gcn::Widget gcn::MouseListener gcn::KeyListener

List of all members.

Public Member Functions

 ListBox ()
 ListBox (ListModel *listModel)
virtual ~ListBox ()
virtual int getSelected ()
virtual void setSelected (int selected)
virtual void setListModel (ListModel *listModel)
virtual ListModelgetListModel ()
virtual void adjustSize ()
virtual void draw (Graphics *graphics)
virtual void drawBorder (Graphics *graphics)
virtual void logic ()
virtual bool keyPress (const Key &key)
virtual void mousePress (int x, int y, int button)

Protected Attributes

ListModelmListModel
int mSelected


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.h.


Constructor & Destructor Documentation

gcn::ListBox::ListBox (  ) 

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(), mSelected, gcn::Widget::setFocusable(), setListModel(), and gcn::Widget::setWidth().

virtual gcn::ListBox::~ListBox (  )  [inline, virtual]

Destructor.

Definition at line 93 of file listbox.h.


Member Function Documentation

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

Gets the ListModel index of the selected element.

Returns:
the ListModel index of the selected element.

Definition at line 151 of file listbox.cpp.

References mSelected.

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

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

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

Sets the ListModel to use.

Parameters:
listModel the ListModel to use.

Definition at line 231 of file listbox.cpp.

References adjustSize(), mListModel, and mSelected.

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

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

Gets the ListModel used.

Returns:
the ListModel used.

Definition at line 238 of file listbox.cpp.

References mListModel.

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

void gcn::ListBox::adjustSize (  )  [virtual]

Adjusts the size of the ListBox to fit the font used.

Definition at line 243 of file listbox.cpp.

References gcn::Widget::getFont(), gcn::Widget::getHeight(), gcn::ListModel::getNumberOfElements(), mListModel, and gcn::Widget::setHeight().

Referenced by logic(), and setListModel().

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

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

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 122 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().

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

References adjustSize().

bool 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::Key::DOWN, gcn::Key::ENTER, gcn::Widget::generateAction(), gcn::Key::getValue(), mSelected, setSelected(), gcn::Key::SPACE, and gcn::Key::UP.

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

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


Member Data Documentation

Definition at line 148 of file listbox.h.

Referenced by adjustSize(), draw(), getListModel(), ListBox(), setListModel(), and setSelected().

int gcn::ListBox::mSelected [protected]

Definition at line 149 of file listbox.h.

Referenced by draw(), getSelected(), keyPress(), ListBox(), setListModel(), and setSelected().


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

Generated on Sat Feb 21 00:28:27 2009 for Bos Wars by  doxygen 1.5.6