_________ __                 __
        /   _____//  |_____________ _/  |______     ____  __ __  ______
        \_____  \\   __\_  __ \__  \\   __\__  \   / ___\|  |  \/  ___/
        /        \|  |  |  | \// __ \|  |  / __ \_/ /_/  >  |  /\___ \
       /_______  /|__|  |__|  (____  /__| (____  /\___  /|____//____  >
               \/                  \/          \//_____/            \/
    ______________________                           ______________________
                          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 Member Functions | Protected Attributes | List of all members
gcn::DropDown Class Reference

#include <dropdown.h>

Inheritance diagram for gcn::DropDown:
gcn::BasicContainer gcn::MouseListener gcn::KeyListener gcn::ActionListener gcn::Widget DropDownWidget ImageDropDownWidget

Public Member Functions

 DropDown ()
 
 DropDown (ListModel *listModel)
 
 DropDown (ListModel *listModel, ScrollArea *scrollArea, ListBox *listBox)
 
virtual ~DropDown ()
 
virtual int getSelected ()
 
virtual void setSelected (int selected)
 
virtual void setListModel (ListModel *listModel)
 
virtual ListModelgetListModel ()
 
virtual void setScrollArea (ScrollArea *scrollArea)
 
virtual ScrollAreagetScrollArea ()
 
virtual void setListBox (ListBox *listBox)
 
virtual ListBoxgetListBox ()
 
virtual void adjustHeight ()
 
virtual void draw (Graphics *graphics)
 
virtual void drawBorder (Graphics *graphics)
 
virtual bool _keyInputMessage (const KeyInput &keyInput)
 
virtual void logic ()
 
virtual void _mouseInputMessage (const MouseInput &mouseInput)
 
virtual void lostFocus ()
 
virtual void setBaseColor (const Color &color)
 
virtual void setBackgroundColor (const Color &color)
 
virtual void setForegroundColor (const Color &color)
 
virtual void moveToTop (Widget *widget)
 
virtual void moveToBottom (Widget *widget)
 
virtual void _announceDeath (Widget *widget)
 
virtual void getDrawSize (int &width, int &height, Widget *widget)
 
virtual void action (const std::string &eventId)
 
virtual bool keyPress (const Key &key)
 
virtual void mousePress (int x, int y, int button)
 
virtual void mouseRelease (int x, int y, int button)
 
virtual void setFont (Font *font)
 
virtual bool getDirty () const
 
- Public Member Functions inherited from gcn::BasicContainer
virtual ~BasicContainer ()
 
bool isParentOfWidget (Widget *widget)
 
- 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 gotFocus ()
 
virtual bool hasMouse () const
 
virtual void setVisible (bool visible)
 
virtual bool isVisible () const
 
virtual const ColorgetBaseColor () const
 
virtual const ColorgetForegroundColor () const
 
virtual const ColorgetBackgroundColor () const
 
virtual void setDisabledColor (const Color &color)
 
virtual const ColorgetDisabledColor () const
 
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 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)
 
- Public Member Functions inherited from gcn::MouseListener
virtual ~MouseListener ()
 
virtual void mouseIn ()
 
virtual void mouseOut ()
 
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 &)
 
- Public Member Functions inherited from gcn::ActionListener
virtual ~ActionListener ()
 

Protected Member Functions

virtual void drawButton (Graphics *graphics)
 
virtual void dropDown ()
 
virtual void foldUp ()
 
- 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 ()
 

Protected Attributes

bool mDroppedDown
 
bool mPushed
 
int mOldH
 
ScrollAreamScrollArea
 
ListBoxmListBox
 
ScrollAreamDefaultScrollArea
 
ListBoxmDefaultListBox
 
FocusHandler mFocusHandler
 
- 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
 
- Static Protected Attributes inherited from gcn::Widget
static DefaultFont mDefaultFont
 
static FontmGlobalFont = NULL
 
static std::list< Widget * > mWidgets
 

Detailed Description

A drop down box from which you can select different values. It is one of the most complicated Widgets you will find in Guichan. For drawing the DroppedDown box it uses one ScrollArea and one ListBox. It also uses an internal FocusHandler to handle the focus of the internal ScollArea and ListBox. DropDown uses a ListModel to handle the list. To be able to use DropDown you must give DropDown an implemented ListModel which represents your list.

Constructor & Destructor Documentation

◆ DropDown() [1/3]

gcn::DropDown::DropDown ( )

Constructor.

◆ DropDown() [2/3]

gcn::DropDown::DropDown ( ListModel listModel)

Contructor.

Parameters
listModelthe ListModel to use.
See also
ListModel.

◆ DropDown() [3/3]

gcn::DropDown::DropDown ( ListModel listModel,
ScrollArea scrollArea,
ListBox listBox 
)

Contructor.

Parameters
listModelthe ListModel to use.
scrollAreathe ScrollArea to use.
listBoxthe listBox to use.
See also
ListModel, ScrollArea, ListBox.

◆ ~DropDown()

gcn::DropDown::~DropDown ( )
virtual

Destructor.

Member Function Documentation

◆ _announceDeath()

void gcn::DropDown::_announceDeath ( Widget widget)
virtual

Called when a child of the BasicContainer gets destroyed.

Parameters
widgetthe destroyed Widget.

Implements gcn::BasicContainer.

◆ _keyInputMessage()

bool gcn::DropDown::_keyInputMessage ( const KeyInput keyInput)
virtual

Called when a Widget recieves a KeyInput.

WARNING: This function is used internally to handle all key messages. Don't call or overload it unless you know what you are doing.

Parameters
keyInputthe KeyInput message.

Reimplemented from gcn::Widget.

◆ _mouseInputMessage()

void gcn::DropDown::_mouseInputMessage ( const MouseInput mouseInput)
virtual

Called when a Widget recieves a MouseInput.

WARNING: This function is used internally to handle all mouse messages. Don't call or overload it unless you know what you are doing.

Parameters
mouseInputthe MouseInput message.

Reimplemented from gcn::Widget.

Reimplemented in ImageDropDownWidget.

◆ action()

void gcn::DropDown::action ( const std::string &  eventId)
virtual

Called whan an action is recieved from a Widget. It is used to be able to recieve a notification that an action has occured.

Parameters
eventIdthe identifier of the Widget.

Implements gcn::ActionListener.

◆ adjustHeight()

void gcn::DropDown::adjustHeight ( )
virtual

Adjusts the height of the DropDown fitting it's parents height.

Reimplemented in ImageDropDownWidget.

◆ draw()

void gcn::DropDown::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.

Implements gcn::Widget.

Reimplemented in ImageDropDownWidget.

◆ drawBorder()

void gcn::DropDown::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 ImageDropDownWidget.

◆ drawButton()

void gcn::DropDown::drawButton ( Graphics graphics)
protectedvirtual

Draws the button with the little down arrow.

Parameters
graphicsa Graphics object to draw with.

Reimplemented in ImageDropDownWidget.

◆ dropDown()

void gcn::DropDown::dropDown ( )
protectedvirtual

Sets the DropDown Widget to dropped-down mode.

◆ foldUp()

void gcn::DropDown::foldUp ( )
protectedvirtual

Sets the DropDown Widget to folded-up mode.

◆ getDirty()

bool gcn::DropDown::getDirty ( ) const
virtual

Reimplemented from gcn::Widget.

◆ getDrawSize()

void gcn::DropDown::getDrawSize ( int &  width,
int &  height,
Widget widget 
)
virtual

Gets the drawing space size a Widget has in the BasicContainer. It may not be the same size as the Widgets width and height.

NOTE: Size is not checked recursively all the way back to the top Widget. If the BasicContainer itself is clipped, the size may be inaccurate.

Parameters
widththe width the Widget's draw space has.
heightthe height the Widget's draw space has.
widgetthe Widget calling the function.

Implements gcn::BasicContainer.

◆ getListBox()

ListBox * gcn::DropDown::getListBox ( )
virtual

Gets the ListBox used.

Returns
the ListBox used.

Reimplemented in ImageDropDownWidget.

◆ getListModel()

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

Gets the ListModel used.

Returns
the ListModel used.

◆ getScrollArea()

ScrollArea * gcn::DropDown::getScrollArea ( )
virtual

Gets the ScrollArea used.

Returns
the ScrollArea used.

◆ getSelected()

int gcn::DropDown::getSelected ( )
virtual

Gets the index int the ListModel of the selected element.

Returns
the selected element.

Reimplemented in ImageDropDownWidget.

◆ keyPress()

bool gcn::DropDown::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::DropDown::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.

◆ lostFocus()

void gcn::DropDown::lostFocus ( )
virtual

Called if the Widget loses focus.

Reimplemented from gcn::Widget.

◆ mousePress()

void gcn::DropDown::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.

◆ mouseRelease()

void gcn::DropDown::mouseRelease ( int  ,
int  ,
int   
)
virtual

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

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

Reimplemented from gcn::MouseListener.

◆ moveToBottom()

void gcn::DropDown::moveToBottom ( Widget widget)
virtual

Moves a widget to the bottom of the BasicContainer. The Widget will be drawn below all other Widgets in the BasicContainer.

Parameters
widgetthe Widget to move.

Implements gcn::BasicContainer.

◆ moveToTop()

void gcn::DropDown::moveToTop ( Widget widget)
virtual

Moves a Widget to the top of the BasicContainer. The widget will be drawn above all other Widgets in the BasicContainer.

Parameters
widgetthe Widget to move.

Implements gcn::BasicContainer.

◆ setBackgroundColor()

void gcn::DropDown::setBackgroundColor ( const Color color)
virtual

Sets the background color.

Parameters
colorthe background Color.

Reimplemented from gcn::Widget.

◆ setBaseColor()

void gcn::DropDown::setBaseColor ( const Color color)
virtual

Sets the base color. The base color is the background color for many Widgets like the Button and Contianer Widgets.

Parameters
colorthe baseground Color.

Reimplemented from gcn::Widget.

◆ setFont()

void gcn::DropDown::setFont ( Font font)
virtual

Sets the font. If font is NULL, the global font will be used.

Parameters
fontthe Font.

Reimplemented from gcn::Widget.

Reimplemented in ImageDropDownWidget.

◆ setForegroundColor()

void gcn::DropDown::setForegroundColor ( const Color color)
virtual

Sets the foreground color.

Parameters
colorthe foreground Color.

Reimplemented from gcn::Widget.

◆ setListBox()

void gcn::DropDown::setListBox ( ListBox listBox)
virtual

Sets the ListBox to use.

Parameters
listBoxthe ListBox to use.

◆ setListModel()

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

Sets the ListModel to use.

Parameters
listModelthe ListModel to use.

◆ setScrollArea()

void gcn::DropDown::setScrollArea ( ScrollArea scrollArea)
virtual

Sets the ScrollArea to use.

Parameters
scrollAreathe ScrollArea to use.

◆ setSelected()

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

Sets the ListModel index of the selected element.

Parameters
selectedthe ListModel index of the selected element.

Reimplemented in ImageDropDownWidget.

Member Data Documentation

◆ mDefaultListBox

ListBox* gcn::DropDown::mDefaultListBox
protected

◆ mDefaultScrollArea

ScrollArea* gcn::DropDown::mDefaultScrollArea
protected

◆ mDroppedDown

bool gcn::DropDown::mDroppedDown
protected

◆ mFocusHandler

FocusHandler gcn::DropDown::mFocusHandler
protected

◆ mListBox

ListBox* gcn::DropDown::mListBox
protected

◆ mOldH

int gcn::DropDown::mOldH
protected

◆ mPushed

bool gcn::DropDown::mPushed
protected

◆ mScrollArea

ScrollArea* gcn::DropDown::mScrollArea
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.