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

gcn::Widget Class Reference

#include <widget.h>

Inheritance diagram for gcn::Widget:

gcn::BasicContainer gcn::Button gcn::CheckBox gcn::Icon gcn::Label gcn::ListBox gcn::RadioButton gcn::Slider gcn::TextBox gcn::TextField MultiLineLabel StatBoxWidget

List of all members.


Public Member Functions

 Widget ()
virtual ~Widget ()
virtual void draw (Graphics *graphics)=0
virtual void drawBorder (Graphics *)
virtual void logic ()
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

Static Public Member Functions

static void setGlobalFont (Font *font)
static bool widgetExists (const Widget *widget)

Protected Types

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

void generateAction ()

Protected Attributes

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

Static Protected Attributes

static DefaultFont mDefaultFont
static FontmGlobalFont = NULL
static std::list< Widget * > mWidgets

Detailed Description

Widget base class. Contains basic widget functions every widget should have. Widgets should inherit from this class and implements it's functions.

NOTE: Functions begining with underscore "_" should not be overloaded unless you know what you are doing.


Member Typedef Documentation

typedef std::list<MouseListener*> gcn::Widget::MouseListenerList [protected]

typedef MouseListenerList::iterator gcn::Widget::MouseListenerIterator [protected]

typedef std::list<KeyListener*> gcn::Widget::KeyListenerList [protected]

typedef KeyListenerList::iterator gcn::Widget::KeyListenerIterator [protected]

typedef std::list<ActionListener*> gcn::Widget::ActionListenerList [protected]

typedef ActionListenerList::iterator gcn::Widget::ActionListenerIterator [protected]


Constructor & Destructor Documentation

gcn::Widget::Widget (  ) 

Constructor. Resets member variables. Noteable, a widget is not focusable as default, therefore, Widgets that are supposed to be focusable should overide this default in their own constructor.

gcn::Widget::~Widget (  )  [virtual]

Default destructor.


Member Function Documentation

virtual void gcn::Widget::draw ( Graphics graphics  )  [pure 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.

Implemented in gcn::Button, gcn::CheckBox, gcn::Container, gcn::DropDown, gcn::Icon, gcn::Label, gcn::ListBox, gcn::RadioButton, gcn::ScrollArea, gcn::Slider, gcn::TextBox, gcn::TextField, gcn::Window, ImageButton, ImageRadioButton, ImageCheckBox, ImageSlider, MultiLineLabel, StatBoxWidget, and MenuScreen.

virtual void gcn::Widget::drawBorder ( Graphics  )  [inline, 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 in gcn::Button, gcn::CheckBox, gcn::Container, gcn::DropDown, gcn::Icon, gcn::Label, gcn::ListBox, gcn::RadioButton, gcn::ScrollArea, gcn::Slider, gcn::TextBox, gcn::TextField, gcn::Window, and MultiLineLabel.

virtual void gcn::Widget::logic (  )  [inline, 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 in gcn::Container, gcn::DropDown, gcn::ListBox, gcn::ScrollArea, gcn::Window, and MenuScreen.

BasicContainer * gcn::Widget::getParent (  )  const [virtual]

Gets the Widget parent container.

Returns:
the Widget parent container. Returns NULL if the Widget has no parent.

void gcn::Widget::setWidth ( int  width  )  [virtual]

Sets the width of the Widget in pixels.

Parameters:
width the Widget width in pixels.

int gcn::Widget::getWidth (  )  const [virtual]

Gets the width of the Widget in pixels.

Returns:
the Widget with in pixels.

void gcn::Widget::setHeight ( int  height  )  [virtual]

Sets the height of the Widget in pixels.

Parameters:
height the Widget height in pixels.

int gcn::Widget::getHeight (  )  const [virtual]

Gets the height of the Widget in pixels.

Returns:
the Widget height in pixels.

void gcn::Widget::setSize ( int  width,
int  height 
) [virtual]

Sets the size of the Widget.

Parameters:
width the width.
height the height.

Reimplemented in DropDownWidget.

void gcn::Widget::setX ( int  x  )  [virtual]

Set the Widget x coordinate. It is relateive to it's parent.

Parameters:
x the Widget x coordinate.

int gcn::Widget::getX (  )  const [virtual]

Gets the Widget x coordinate. It is relative to it's parent.

Returns:
the Widget x coordinate.

void gcn::Widget::setY ( int  y  )  [virtual]

Set the Widget y coordinate. It is relative to it's parent.

Parameters:
y the Widget y coordinate.

int gcn::Widget::getY (  )  const [virtual]

Gets the Widget y coordinate. It is relative to it's parent.

Returns:
the Widget y coordinate.

void gcn::Widget::setPosition ( int  x,
int  y 
) [virtual]

Sets the Widget position. It is relative to it's parent.

Parameters:
x the Widget x coordinate.
y the Widgets y coordinate.

void gcn::Widget::setDimension ( const Rectangle dimension  )  [virtual]

Sets the dimension of the Widget. It is relative to it's parent.

Parameters:
dimension the Widget dimension.

void gcn::Widget::setBorderSize ( unsigned int  borderSize  )  [virtual]

Sets the size of the border, or the width if you so like. The size is the number of pixels that the border extends outside the Widget. Border size = 0 means no border.

Parameters:
borderSize the size of the border.
See also:
drawBorder

unsigned int gcn::Widget::getBorderSize (  )  const [virtual]

Gets the size of the border, or the width if you so like. The size is the number of pixels that the border extends outside the Widget. Border size = 0 means no border.

Returns:
the size of the border.
See also:
drawBorder

const Rectangle & gcn::Widget::getDimension (  )  const [virtual]

Gets the dimension of the Widget. It is relative to it's parent.

Returns:
the widget dimension.

void gcn::Widget::setFocusable ( bool  focusable  )  [virtual]

Sets a Widgets focusability.

Parameters:
focusable true if the Widget should be focusable.

bool gcn::Widget::isFocusable (  )  const [virtual]

Checks whether the Widget is focusable.

Returns:
true if the widget is focusable.

bool gcn::Widget::hasFocus (  )  const [virtual]

Checks if the Widget has focus.

Returns:
true if the widget currently has focus.

void gcn::Widget::setEnabled ( bool  enabled  )  [virtual]

Sets the Widget to be disabled or enabled. A disabled Widget will never recieve mouse or key input.

Parameters:
enabled true if Widget is enabled.

bool gcn::Widget::isEnabled (  )  const [virtual]

Checks if a Widget is disabled or not.

Returns:
true if the Widget should be enabled.

virtual void gcn::Widget::lostFocus (  )  [inline, virtual]

Called if the Widget loses focus.

Reimplemented in gcn::Button, gcn::DropDown, and gcn::Slider.

virtual void gcn::Widget::gotFocus (  )  [inline, virtual]

Called if the Widget recieves focus.

bool gcn::Widget::hasMouse (  )  const [virtual]

Checks if the Widget has the mouse.

Returns:
true if the Widget has the mouse.

void gcn::Widget::setVisible ( bool  visible  )  [virtual]

Sets the Widget to be visible.

Parameters:
visible true if the Widget should be visiable.

bool gcn::Widget::isVisible (  )  const [virtual]

Checks if the Widget is visible.

Returns:
true if the Widget is visible.

void gcn::Widget::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:
color the baseground Color.

Reimplemented in gcn::DropDown.

const Color & gcn::Widget::getBaseColor (  )  const [virtual]

Gets the base color.

Returns:
the foreground Color.

void gcn::Widget::setForegroundColor ( const Color color  )  [virtual]

Sets the foreground color.

Parameters:
color the foreground Color.

Reimplemented in gcn::DropDown.

const Color & gcn::Widget::getForegroundColor (  )  const [virtual]

Gets the foreground color.

Returns:
the foreground Color.

void gcn::Widget::setBackgroundColor ( const Color color  )  [virtual]

Sets the background color.

Parameters:
color the background Color.

Reimplemented in gcn::DropDown, and ListBoxWidget.

const Color & gcn::Widget::getBackgroundColor (  )  const [virtual]

Gets the background color.

Returns:
the background Color.

void gcn::Widget::setDisabledColor ( const Color color  )  [virtual]

Sets the disabled color.

Parameters:
color the disabled Color.

const Color & gcn::Widget::getDisabledColor (  )  const [virtual]

Gets the disabled color.

Returns:
the disabled Color.

void gcn::Widget::_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:
mouseInput the MouseInput message.

Reimplemented in gcn::Container, gcn::DropDown, gcn::ScrollArea, and gcn::Window.

bool gcn::Widget::_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:
keyInput the KeyInput message.

Reimplemented in gcn::DropDown.

virtual void gcn::Widget::hotKeyPress (  )  [inline, virtual]

Called when a Widget's hot key is pressed

Reimplemented in gcn::Button.

virtual void gcn::Widget::hotKeyRelease (  )  [inline, virtual]

Called when a Widget's hot key is released

Reimplemented in gcn::Button.

void gcn::Widget::_mouseInMessage (  )  [virtual]

Called when the mouse enters the Widget area.

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

void gcn::Widget::_mouseOutMessage (  )  [virtual]

Called when the mouse leaves the Widget area.

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

Reimplemented in gcn::Container, gcn::ScrollArea, and gcn::Window.

void gcn::Widget::requestFocus (  )  [virtual]

Requests focus for the Widget. A Widget will only recieve focus if it is focusable.

void gcn::Widget::requestMoveToTop (  )  [virtual]

Requests a move to the top in the parent Widget.

void gcn::Widget::requestMoveToBottom (  )  [virtual]

Requests a move to the bottom in the parent Widget.

void gcn::Widget::_setFocusHandler ( FocusHandler focusHandler  )  [virtual]

Sets the FocusHandler to be used.

WARNING: This function is used internally and should not be called or overloaded unless you know what you are doing.

Parameters:
focusHandler the FocusHandler to use.

Reimplemented in gcn::Container, gcn::ScrollArea, and gcn::Window.

FocusHandler * gcn::Widget::_getFocusHandler (  )  [virtual]

Gets the FocusHandler used.

WARNING: This function is used internally and should not be called or overloaded unless you know what you are doing.

Returns:
the FocusHandler used.

void gcn::Widget::addActionListener ( ActionListener actionListener  )  [virtual]

Adds an ActionListener to the Widget. When an action is triggered by the Widget, the action function in all the Widget's ActionListeners will be called.

Parameters:
actionListener the ActionListener to add.

Reimplemented in ListBoxWidget.

void gcn::Widget::removeActionListener ( ActionListener actionListener  )  [virtual]

Removes an added ActionListener from the Widget.

Parameters:
actionListener the ActionListener to remove.

void gcn::Widget::addMouseListener ( MouseListener mouseListener  )  [virtual]

Adds a MouseListener to the Widget. When a mouse message is recieved, it will be sent to the Widget's MouseListeners.

Parameters:
mouseListener the MouseListener to add.

void gcn::Widget::removeMouseListener ( MouseListener mouseListener  )  [virtual]

Removes an added MouseListener from the Widget.

Parameters:
mouseListener the MouseListener to remove.

void gcn::Widget::addKeyListener ( KeyListener keyListener  )  [virtual]

Adds a KeyListener to the Widget. When a key message is recieved, it will be sent to the Widget's KeyListeners.

Parameters:
keyListener the KeyListener to add.

void gcn::Widget::removeKeyListener ( KeyListener keyListener  )  [virtual]

Removes an added KeyListener from the Widget.

Parameters:
keyListener the KeyListener to remove.

void gcn::Widget::setEventId ( const std::string &  eventId  )  [virtual]

Sets the event identifier of the Widget. The event identifier is used to be able to identify which Widget generated an action when an action has occured.

NOTE: An event identifier should not be used to identify a certain Widget but rather a certain event in your application. Several Widgets can have the same event identifer.

Parameters:
eventId the event identifier.

const std::string & gcn::Widget::getEventId (  )  const [virtual]

Gets the event identifier.

Returns:
the event identifier.

void gcn::Widget::getAbsolutePosition ( int &  x,
int &  y 
) const [virtual]

Gets the absolute position on the screen for the Widget.

Parameters:
x absolute x coordinate will be stored in this parameter.
y absolute y coordinate will be stored in this parameter.

void gcn::Widget::_setParent ( BasicContainer parent  )  [virtual]

Sets the parent of the Widget. A parent must be a BasicContainer.

WARNING: This function is used internally and should not be called or overloaded unless you know what you are doing.

Parameters:
parent the parent BasicContainer..

Font * gcn::Widget::getFont (  )  const

Gets the font used. If no font has been set, the global font will be returned instead. If no global font has been set, the default font will be returend. ugly default.

Returns:
the used Font.

void gcn::Widget::setGlobalFont ( Font font  )  [static]

Sets the global font to be used by default for all Widgets.

Parameters:
font the global Font.

void gcn::Widget::setFont ( Font font  )  [virtual]

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

Parameters:
font the Font.

Reimplemented in gcn::DropDown, and ListBoxWidget.

virtual void gcn::Widget::fontChanged (  )  [inline, virtual]

Called when the font has changed. If the change is global, this function will only be called if the Widget don't have a font already set.

Reimplemented in gcn::TextBox, and gcn::TextField.

virtual int gcn::Widget::getHotKey (  )  const [inline, virtual]

Get the hot key

void gcn::Widget::setHotKey ( const int  key  )  [virtual]

Set the hot key

void gcn::Widget::setHotKey ( const char *  key  )  [virtual]

bool gcn::Widget::widgetExists ( const Widget widget  )  [static]

Checks whether a Widget exists or not, that is if it still exists an instance of the object.

Parameters:
widget the Widget to check.

bool gcn::Widget::isTabInEnabled (  )  const [virtual]

Check if tab in is enabled. Tab in means that you can set focus to this Widget by pressing the tab button. If tab in is disabled then the FocusHandler will skip this widget and focus the next in its focus order.

Returns:
true if tab in is enabled.

void gcn::Widget::setTabInEnabled ( bool  enabled  )  [virtual]

Sets tab in enabled. Tab in means that you can set focus to this Widget by pressing the tab button. If tab in is disabled then the FocusHandler will skip this widget and focus the next in its focus order.

Parameters:
enabled true if tab in should be enabled.

bool gcn::Widget::isTabOutEnabled (  )  const [virtual]

Checks if tab out is enabled. Tab out means that you can lose focus to this Widget by pressing the tab button. If tab out is disabled then the FocusHandler ignores tabbing and focus will stay with this Widget.

Returns:
true if tab out is enabled.

void gcn::Widget::setTabOutEnabled ( bool  enabled  )  [virtual]

Sets tab out enabled. Tab out means that you can lose focus to this Widget by pressing the tab button. If tab out is disabled then the FocusHandler ignores tabbing and focus will stay with this Widget.

Parameters:
enabled true if tab out should be enabled.

bool gcn::Widget::isDragged (  )  const [virtual]

Checks if the Widget is dragged. Dragged means that the mouse button has been pressed down over the Widget and the mouse has been moved.

Returns:
true if the widget is dragged.

void gcn::Widget::requestModalFocus (  )  [virtual]

Requests modal focus. When a widget has modal focus, only that Widget and it's children may recieve input. If some other Widget already has modal focus, an exception will be thrown.

Exceptions:
Exception if another Widget already has modal focus.

void gcn::Widget::releaseModalFocus (  )  [virtual]

Releases modal focus. Modal focus will only be released if the Widget has the modal focus.

bool gcn::Widget::hasModalFocus (  )  const [virtual]

Checks if the Widget or it's parent has modal focus.

void gcn::Widget::setDirty ( bool  dirty  )  [virtual]

Reimplemented in gcn::Container, and gcn::Window.

bool gcn::Widget::getDirty (  )  const [virtual]

Reimplemented in gcn::Container, gcn::DropDown, and gcn::Window.

void gcn::Widget::generateAction (  )  [protected]

Generates an action to the Widget's ActionListeners.


Member Data Documentation

Reimplemented in gcn::DropDown.

unsigned int gcn::Widget::mBorderSize [protected]

std::string gcn::Widget::mEventId [protected]

int gcn::Widget::mClickCount [protected]

int gcn::Widget::mClickButton [protected]

bool gcn::Widget::mHasMouse [protected]

bool gcn::Widget::mFocusable [protected]

bool gcn::Widget::mVisible [protected]

bool gcn::Widget::mTabIn [protected]

bool gcn::Widget::mTabOut [protected]

bool gcn::Widget::mEnabled [protected]

int gcn::Widget::mHotKey [protected]

Font * gcn::Widget::mGlobalFont = NULL [static, protected]

std::list< Widget * > gcn::Widget::mWidgets [static, protected]

Reimplemented in gcn::Container.

bool gcn::Widget::mDirty [protected]


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