_________ __                 __
        /   _____//  |_____________ _/  |______     ____  __ __  ______
        \_____  \\   __\_  __ \__  \\   __\__  \   / ___\|  |  \/  ___/
        /        \|  |  |  | \// __ \|  |  / __ \_/ /_/  >  |  /\___ \
       /_______  /|__|  |__|  (____  /__| (____  /\___  /|____//____  >
               \/                  \/          \//_____/            \/
    ______________________                           ______________________
                          T H E   W A R   B E G I N S
                   Stratagus - A free fantasy real time strategy game engine

Public Member Functions | Protected Attributes | List of all members
gcn::ListBox Class Reference

#include <listbox.h>

Inheritance diagram for gcn::ListBox:
gcn::Widget gcn::MouseListener gcn::KeyListener ImageListBox

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)
 
- Public Member Functions inherited from gcn::Widget
 Widget ()
 
virtual ~Widget ()
 
virtual BasicContainergetParent () const
 
virtual void setWidth (int width)
 
virtual int getWidth () const
 
virtual void setHeight (int height)
 
virtual int getHeight () const
 
virtual void setSize (int width, int height)
 
virtual void setX (int x)
 
virtual int getX () const
 
virtual void setY (int y)
 
virtual int getY () const
 
virtual void setPosition (int x, int y)
 
virtual void setDimension (const Rectangle &dimension)
 
virtual void setBorderSize (unsigned int borderSize)
 
virtual unsigned int getBorderSize () const
 
virtual const RectanglegetDimension () const
 
virtual void setFocusable (bool focusable)
 
virtual bool isFocusable () const
 
virtual bool hasFocus () const
 
virtual void setEnabled (bool enabled)
 
virtual bool isEnabled () const
 
virtual void lostFocus ()
 
virtual void gotFocus ()
 
virtual bool hasMouse () const
 
virtual void setVisible (bool visible)
 
virtual bool isVisible () const
 
virtual void setBaseColor (const Color &color)
 
virtual const ColorgetBaseColor () const
 
virtual void setForegroundColor (const Color &color)
 
virtual const ColorgetForegroundColor () const
 
virtual void setBackgroundColor (const Color &color)
 
virtual const ColorgetBackgroundColor () const
 
virtual void setDisabledColor (const Color &color)
 
virtual const ColorgetDisabledColor () const
 
virtual void _mouseInputMessage (const MouseInput &mouseInput)
 
virtual bool _keyInputMessage (const KeyInput &keyInput)
 
virtual void hotKeyPress ()
 
virtual void hotKeyRelease ()
 
virtual void _mouseInMessage ()
 
virtual void _mouseOutMessage ()
 
virtual void requestFocus ()
 
virtual void requestMoveToTop ()
 
virtual void requestMoveToBottom ()
 
virtual void _setFocusHandler (FocusHandler *focusHandler)
 
virtual FocusHandler_getFocusHandler ()
 
virtual void addActionListener (ActionListener *actionListener)
 
virtual void removeActionListener (ActionListener *actionListener)
 
virtual void addMouseListener (MouseListener *mouseListener)
 
virtual void removeMouseListener (MouseListener *mouseListener)
 
virtual void addKeyListener (KeyListener *keyListener)
 
virtual void removeKeyListener (KeyListener *keyListener)
 
virtual void setEventId (const std::string &eventId)
 
virtual const std::string & getEventId () const
 
virtual void getAbsolutePosition (int &x, int &y) const
 
virtual void _setParent (BasicContainer *parent)
 
FontgetFont () const
 
virtual void setFont (Font *font)
 
virtual void fontChanged ()
 
virtual int getHotKey () const
 
virtual void setHotKey (const int key)
 
virtual void setHotKey (const char *key)
 
virtual bool isTabInEnabled () const
 
virtual void setTabInEnabled (bool enabled)
 
virtual bool isTabOutEnabled () const
 
virtual void setTabOutEnabled (bool enabled)
 
virtual bool isDragged () const
 
virtual void requestModalFocus ()
 
virtual void releaseModalFocus ()
 
virtual bool hasModalFocus () const
 
virtual void setDirty (bool dirty)
 
virtual bool getDirty () const
 
- Public Member Functions inherited from gcn::MouseListener
virtual ~MouseListener ()
 
virtual void mouseIn ()
 
virtual void mouseOut ()
 
virtual void mouseRelease (int, int, int)
 
virtual void mouseClick (int, int, int, int)
 
virtual void mouseWheelUp (int, int)
 
virtual void mouseWheelDown (int, int)
 
virtual void mouseMotion (int, int)
 
- Public Member Functions inherited from gcn::KeyListener
virtual ~KeyListener ()
 
virtual bool keyRelease (const Key &)
 
virtual void hotKeyPress (const Key &)
 
virtual void hotKeyRelease (const Key &)
 

Protected Attributes

ListModelmListModel
 
int mSelected
 
- Protected Attributes inherited from gcn::Widget
MouseListenerList mMouseListeners
 
KeyListenerList mKeyListeners
 
ActionListenerList mActionListeners
 
Color mForegroundColor
 
Color mBackgroundColor
 
Color mBaseColor
 
Color mDisabledColor
 
FocusHandlermFocusHandler
 
BasicContainermParent
 
Rectangle mDimension
 
unsigned int mBorderSize
 
std::string mEventId
 
int mClickTimeStamp
 
int mClickCount
 
int mClickButton
 
bool mHasMouse
 
bool mFocusable
 
bool mVisible
 
bool mTabIn
 
bool mTabOut
 
bool mEnabled
 
FontmCurrentFont
 
int mHotKey
 
bool mDirty
 

Additional Inherited Members

- Static Public Member Functions inherited from gcn::Widget
static void setGlobalFont (Font *font)
 
static bool widgetExists (const Widget *widget)
 
- Protected Types inherited from gcn::Widget
typedef std::list< MouseListener * > MouseListenerList
 
typedef MouseListenerList::iterator MouseListenerIterator
 
typedef std::list< KeyListener * > KeyListenerList
 
typedef KeyListenerList::iterator KeyListenerIterator
 
typedef std::list< ActionListener * > ActionListenerList
 
typedef ActionListenerList::iterator ActionListenerIterator
 
- Protected Member Functions inherited from gcn::Widget
void generateAction ()
 
- Protected Member Functions inherited from gcn::MouseListener
 MouseListener ()
 
- Protected Member Functions inherited from gcn::KeyListener
 KeyListener ()
 
- Static Protected Attributes inherited from gcn::Widget
static DefaultFont mDefaultFont
 
static FontmGlobalFont = NULL
 
static std::list< Widget * > mWidgets
 

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.

Constructor & Destructor Documentation

◆ ListBox() [1/2]

gcn::ListBox::ListBox ( )

Constructor.

◆ ListBox() [2/2]

gcn::ListBox::ListBox ( ListModel listModel)

Constructor.

Parameters
listModelthe ListModel to use.

◆ ~ListBox()

virtual gcn::ListBox::~ListBox ( )
inlinevirtual

Destructor.

Member Function Documentation

◆ adjustSize()

void gcn::ListBox::adjustSize ( )
virtual

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

Reimplemented in ImageListBox.

◆ draw()

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
graphicsa Graphics object to draw with.
Todo:
Check cliprects so we do not have to iterate over elements in the list model

Implements gcn::Widget.

Reimplemented in ImageListBox.

◆ drawBorder()

void gcn::ListBox::drawBorder ( 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
graphicsa Graphics object to draw with.

Reimplemented from gcn::Widget.

Reimplemented in ImageListBox.

◆ getListModel()

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

Gets the ListModel used.

Returns
the ListModel used.

◆ getSelected()

int gcn::ListBox::getSelected ( )
virtual

Gets the ListModel index of the selected element.

Returns
the ListModel index of the selected element.

◆ keyPress()

bool gcn::ListBox::keyPress ( const 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
keythe key pressed.

Reimplemented from gcn::KeyListener.

◆ logic()

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.

Reimplemented in ImageListBox.

◆ mousePress()

void gcn::ListBox::mousePress ( int  ,
int  ,
int   
)
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
xthe x coordinate of the mouse relative to the Widget itself.
ythe y coordinate of the mouse relative to the Widget itself.
buttonthe button pressed.

Reimplemented from gcn::MouseListener.

Reimplemented in ImageListBox.

◆ setListModel()

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

Sets the ListModel to use.

Parameters
listModelthe ListModel to use.

Reimplemented in ImageListBox.

◆ setSelected()

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

Sets the ListModel index of the selected element.

Parameters
selectedthe ListModel index of the selected element.

Reimplemented in ImageListBox.

Member Data Documentation

◆ mListModel

ListModel* gcn::ListBox::mListModel
protected

◆ mSelected

int gcn::ListBox::mSelected
protected

The documentation for this class was generated from the following files:
(C) Copyright 1998-2012 by The Stratagus Project under the GNU General Public License.
All trademarks and copyrights on this page are owned by their respective owners.