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

       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::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 *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.

Definition at line 93 of file widget.h.


Member Typedef Documentation

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

Definition at line 677 of file widget.h.

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

Definition at line 679 of file widget.h.

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

Definition at line 681 of file widget.h.

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

Definition at line 683 of file widget.h.

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

Definition at line 685 of file widget.h.

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

Definition at line 687 of file widget.h.


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.

Definition at line 85 of file widget.cpp.

References mBackgroundColor, mBaseColor, mBorderSize, mClickButton, mClickCount, mClickTimeStamp, mCurrentFont, mDirty, mEnabled, mFocusable, mFocusHandler, mForegroundColor, mHasMouse, mHotKey, mParent, mTabIn, mTabOut, mVisible, and mWidgets.

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

Default destructor.

Definition at line 109 of file widget.cpp.

References gcn::BasicContainer::_announceDeath(), _setFocusHandler(), getParent(), and mWidgets.


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.

Referenced by gcn::ScrollArea::draw(), gcn::Gui::draw(), gcn::Window::drawContent(), and gcn::ScrollArea::drawContent().

virtual void gcn::Widget::drawBorder ( Graphics 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.

Definition at line 127 of file widget.h.

Referenced by gcn::ScrollArea::draw(), and gcn::Gui::draw().

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.

Definition at line 135 of file widget.h.

Referenced by gcn::Window::logic(), gcn::ScrollArea::logic(), and gcn::Gui::logic().

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

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

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

Gets the width of the Widget in pixels.

Returns:
the Widget with in pixels.

Definition at line 136 of file widget.cpp.

References mDimension, and gcn::Rectangle::width.

Referenced by Windows::add(), ScrollingWidget::add(), gcn::DropDown::adjustHeight(), ImageCheckBox::adjustSize(), ImageRadioButton::adjustSize(), gcn::TextField::adjustSize(), gcn::RadioButton::adjustSize(), gcn::Label::adjustSize(), gcn::CheckBox::adjustSize(), gcn::Button::adjustSize(), gcn::ScrollArea::checkPolicies(), gcn::Window::draw(), StatBoxWidget::draw(), MultiLineLabel::draw(), ImageCheckBox::draw(), ImageRadioButton::draw(), ImageButton::draw(), gcn::TextField::draw(), gcn::TextBox::draw(), gcn::Slider::draw(), gcn::ScrollArea::draw(), gcn::RadioButton::draw(), gcn::ListBox::draw(), gcn::Label::draw(), gcn::DropDown::draw(), gcn::Container::draw(), gcn::CheckBox::draw(), gcn::Button::draw(), gcn::Window::drawBorder(), MultiLineLabel::drawBorder(), gcn::TextField::drawBorder(), gcn::TextBox::drawBorder(), gcn::Slider::drawBorder(), gcn::ScrollArea::drawBorder(), gcn::RadioButton::drawBorder(), gcn::ListBox::drawBorder(), gcn::Label::drawBorder(), gcn::Icon::drawBorder(), gcn::DropDown::drawBorder(), gcn::Container::drawBorder(), gcn::CheckBox::drawBorder(), gcn::Button::drawBorder(), gcn::DropDown::drawButton(), gcn::Window::drawContent(), gcn::Slider::drawMarker(), gcn::TextField::fixScroll(), gcn::Window::getContentDimension(), gcn::ScrollArea::getContentDimension(), gcn::ScrollArea::getDownButtonDimension(), gcn::DropDown::getDrawSize(), gcn::ScrollArea::getHorizontalBarDimension(), gcn::ScrollArea::getHorizontalMarkerDimension(), gcn::ScrollArea::getHorizontalMaxScroll(), gcn::ScrollArea::getRightButtonDimension(), gcn::ScrollArea::getUpButtonDimension(), gcn::ScrollArea::getVerticalBarDimension(), gcn::Label::Label(), gcn::Slider::markerPositionToValue(), gcn::Slider::mousePress(), PatchEditorMainLoop(), gcn::Window::resizeToContent(), ListBoxWidget::setFont(), and gcn::Slider::valueToMarkerPosition().

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

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

Gets the height of the Widget in pixels.

Returns:
the Widget height in pixels.

Definition at line 146 of file widget.cpp.

References gcn::Rectangle::height, and mDimension.

Referenced by Windows::add(), ScrollingWidget::add(), gcn::TextField::adjustHeight(), gcn::DropDown::adjustHeight(), MultiLineLabel::adjustSize(), gcn::TextBox::adjustSize(), gcn::ListBox::adjustSize(), gcn::Label::adjustSize(), gcn::Button::adjustSize(), gcn::ScrollArea::checkPolicies(), gcn::Window::draw(), StatBoxWidget::draw(), MultiLineLabel::draw(), ImageCheckBox::draw(), ImageRadioButton::draw(), ImageButton::draw(), gcn::TextField::draw(), gcn::TextBox::draw(), gcn::Slider::draw(), gcn::ScrollArea::draw(), gcn::RadioButton::draw(), gcn::Label::draw(), gcn::DropDown::draw(), gcn::Container::draw(), gcn::CheckBox::draw(), gcn::Button::draw(), gcn::Window::drawBorder(), MultiLineLabel::drawBorder(), gcn::TextField::drawBorder(), gcn::TextBox::drawBorder(), gcn::Slider::drawBorder(), gcn::ScrollArea::drawBorder(), gcn::RadioButton::drawBorder(), gcn::ListBox::drawBorder(), gcn::Label::drawBorder(), gcn::Icon::drawBorder(), gcn::DropDown::drawBorder(), gcn::Container::drawBorder(), gcn::CheckBox::drawBorder(), gcn::Button::drawBorder(), ImageCheckBox::drawBox(), ImageRadioButton::drawBox(), gcn::RadioButton::drawBox(), gcn::CheckBox::drawBox(), gcn::DropDown::drawButton(), gcn::TextField::drawCaret(), gcn::TextBox::drawCaret(), gcn::Window::drawContent(), ImageSlider::drawMarker(), gcn::Slider::drawMarker(), gcn::DropDown::dropDown(), gcn::Window::getContentDimension(), gcn::ScrollArea::getContentDimension(), gcn::ScrollArea::getDownButtonDimension(), gcn::DropDown::getDrawSize(), gcn::ScrollArea::getHorizontalBarDimension(), gcn::ScrollArea::getLeftButtonDimension(), gcn::ScrollArea::getRightButtonDimension(), gcn::ScrollArea::getVerticalBarDimension(), gcn::ScrollArea::getVerticalMarkerDimension(), gcn::ScrollArea::getVerticalMaxScroll(), gcn::Label::Label(), gcn::Slider::markerPositionToValue(), gcn::Slider::mouseMotion(), gcn::Slider::mousePress(), gcn::ListBox::mousePress(), PatchEditorMainLoop(), gcn::Window::resizeToContent(), ScrollingWidget::restart(), and gcn::Slider::valueToMarkerPosition().

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.

Definition at line 689 of file widget.cpp.

References setHeight(), and setWidth().

Referenced by EditorMainLoop(), PatchNewButton(), and gcn::Window::resizeToContent().

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.

Definition at line 151 of file widget.cpp.

References mDimension, and gcn::Rectangle::x.

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

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

Returns:
the Widget x coordinate.

Definition at line 156 of file widget.cpp.

References mDimension, and gcn::Rectangle::x.

Referenced by gcn::Window::_mouseInputMessage(), gcn::ScrollArea::_mouseInputMessage(), gcn::Container::_mouseInputMessage(), StatBoxWidget::draw(), gcn::Gui::logic(), and gcn::Window::mouseMotion().

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.

Definition at line 161 of file widget.cpp.

References mDimension, and gcn::Rectangle::y.

Referenced by ScrollingWidget::restart().

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

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.

Definition at line 171 of file widget.cpp.

References mDimension, gcn::Rectangle::x, and gcn::Rectangle::y.

Referenced by gcn::Container::add(), gcn::DropDown::adjustHeight(), gcn::ScrollArea::logic(), gcn::Window::mouseMotion(), and gcn::Window::repositionContent().

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.

Definition at line 177 of file widget.cpp.

References mDimension.

Referenced by EditorMainLoop(), ListBoxWidget::ListBoxWidget(), MenuScreen::MenuScreen(), PatchEditorMainLoop(), ScrollingWidget::ScrollingWidget(), StartMap(), and Windows::Windows().

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

Definition at line 182 of file widget.cpp.

References mBorderSize.

Referenced by gcn::Button::Button(), gcn::DropDown::DropDown(), gcn::Slider::Slider(), gcn::TextBox::TextBox(), gcn::TextField::TextField(), and gcn::Window::Window().

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

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

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

Returns:
the widget dimension.

Definition at line 192 of file widget.cpp.

References mDimension.

Referenced by gcn::Window::_mouseInputMessage(), gcn::ScrollArea::draw(), gcn::Gui::draw(), gcn::DropDown::draw(), gcn::Button::draw(), gcn::Container::getDrawSize(), and gcn::Gui::logic().

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

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

Checks whether the Widget is focusable.

Returns:
true if the widget is focusable.

Definition at line 232 of file widget.cpp.

References isEnabled(), isVisible(), and mFocusable.

Referenced by gcn::Gui::logic(), and requestFocus().

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

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.

Definition at line 695 of file widget.cpp.

References mEnabled.

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

Checks if a Widget is disabled or not.

Returns:
true if the Widget should be enabled.

Definition at line 700 of file widget.cpp.

References isVisible(), and mEnabled.

Referenced by ImageButton::draw(), gcn::Button::draw(), and isFocusable().

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

Called if the Widget loses focus.

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

Definition at line 290 of file widget.h.

Referenced by gcn::FocusHandler::applyChanges(), and gcn::FocusHandler::focusNone().

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

Called if the Widget recieves focus.

Definition at line 295 of file widget.h.

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

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

Sets the Widget to be visible.

Parameters:
visible true if the Widget should be visiable.

Definition at line 266 of file widget.cpp.

References gcn::FocusHandler::focusNone(), hasFocus(), mFocusHandler, and mVisible.

Referenced by EditorCallbackButtonDown(), and EditorMainLoop().

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

Checks if the Widget is visible.

Returns:
true if the Widget is visible.

Definition at line 275 of file widget.cpp.

References getParent(), isVisible(), and mVisible.

Referenced by isEnabled(), isFocusable(), and isVisible().

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.

Definition at line 287 of file widget.cpp.

References mBaseColor.

Referenced by EditorMainLoop(), PatchNewButton(), gcn::DropDown::setBaseColor(), and StatBoxWidget::StatBoxWidget().

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

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

Sets the foreground color.

Parameters:
color the foreground Color.

Reimplemented in gcn::DropDown.

Definition at line 297 of file widget.cpp.

References mForegroundColor.

Referenced by EditorMainLoop(), ImageButton::ImageButton(), gcn::DropDown::setForegroundColor(), and StatBoxWidget::StatBoxWidget().

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

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

Sets the background color.

Parameters:
color the background Color.

Reimplemented in gcn::DropDown, and ListBoxWidget.

Definition at line 307 of file widget.cpp.

References mBackgroundColor.

Referenced by EditorMainLoop(), PatchNewButton(), ListBoxWidget::setBackgroundColor(), gcn::DropDown::setBackgroundColor(), and StatBoxWidget::StatBoxWidget().

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

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

Sets the disabled color.

Parameters:
color the disabled Color.

Definition at line 317 of file widget.cpp.

References mDisabledColor.

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

Gets the disabled color.

Returns:
the disabled Color.

Definition at line 322 of file widget.cpp.

References mDisabledColor.

Referenced by gcn::Button::draw().

void gcn::Widget::_mouseInputMessage ( const MouseInput mouseInput  )  [virtual]

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.

Definition at line 496 of file widget.cpp.

References GCN_EXCEPTION, gcn::KeyInput::getKey(), gcn::FocusHandler::getModalFocused(), gcn::KeyInput::getType(), hasModalFocus(), mEnabled, mFocusHandler, mKeyListeners, gcn::KeyInput::PRESS, and gcn::KeyInput::RELEASE.

Referenced by gcn::DropDown::_keyInputMessage(), and gcn::Gui::logic().

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

Called when a Widget's hot key is pressed

Reimplemented in gcn::Button.

Definition at line 400 of file widget.h.

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

Called when a Widget's hot key is released

Reimplemented in gcn::Button.

Definition at line 405 of file widget.h.

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.

Definition at line 538 of file widget.cpp.

References mEnabled, mHasMouse, mMouseListeners, and setDirty().

Referenced by gcn::Window::_mouseInputMessage(), gcn::ScrollArea::_mouseInputMessage(), gcn::Container::_mouseInputMessage(), and gcn::Gui::logic().

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.

Definition at line 555 of file widget.cpp.

References mHasMouse, mMouseListeners, and setDirty().

Referenced by gcn::Window::_mouseInputMessage(), gcn::ScrollArea::_mouseInputMessage(), gcn::Container::_mouseInputMessage(), gcn::Window::_mouseOutMessage(), gcn::ScrollArea::_mouseOutMessage(), gcn::Container::_mouseOutMessage(), and gcn::Gui::logic().

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

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

Definition at line 237 of file widget.cpp.

References GCN_EXCEPTION, isFocusable(), mFocusHandler, and gcn::FocusHandler::requestFocus().

Referenced by _mouseInputMessage().

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

Requests a move to the top in the parent Widget.

Definition at line 250 of file widget.cpp.

References gcn::BasicContainer::moveToTop(), and mParent.

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

Requests a move to the bottom in the parent Widget.

Definition at line 258 of file widget.cpp.

References gcn::BasicContainer::moveToBottom(), and mParent.

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.

Definition at line 327 of file widget.cpp.

References gcn::FocusHandler::add(), mFocusHandler, releaseModalFocus(), and gcn::FocusHandler::remove().

Referenced by gcn::Window::_setFocusHandler(), gcn::ScrollArea::_setFocusHandler(), gcn::Container::_setFocusHandler(), gcn::Container::add(), gcn::Container::remove(), gcn::Window::setContent(), gcn::ScrollArea::setContent(), gcn::Gui::setTop(), and ~Widget().

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.

Definition at line 343 of file widget.cpp.

References mFocusHandler.

Referenced by gcn::Container::add(), MenuScreen::draw(), gcn::Window::setContent(), and gcn::ScrollArea::setContent().

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.

Definition at line 348 of file widget.cpp.

References mActionListeners.

Referenced by ListBoxWidget::addActionListener(), gcn::DropDown::DropDown(), EditorMainLoop(), PatchEditorMainLoop(), and gcn::DropDown::setListBox().

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

Removes an added ActionListener from the Widget.

Parameters:
actionListener the ActionListener to remove.

Definition at line 353 of file widget.cpp.

References mActionListeners.

Referenced by gcn::DropDown::setListBox(), and gcn::DropDown::~DropDown().

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.

Definition at line 368 of file widget.cpp.

References mMouseListeners.

Referenced by gcn::Button::Button(), gcn::CheckBox::CheckBox(), gcn::DropDown::DropDown(), gcn::ListBox::ListBox(), gcn::RadioButton::RadioButton(), gcn::ScrollArea::ScrollArea(), gcn::Slider::Slider(), gcn::TextBox::TextBox(), gcn::TextField::TextField(), and gcn::Window::Window().

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

Removes an added MouseListener from the Widget.

Parameters:
mouseListener the MouseListener to remove.

Definition at line 373 of file widget.cpp.

References mMouseListeners.

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.

Definition at line 358 of file widget.cpp.

References mKeyListeners.

Referenced by gcn::Button::Button(), gcn::CheckBox::CheckBox(), gcn::DropDown::DropDown(), gcn::ListBox::ListBox(), gcn::RadioButton::RadioButton(), gcn::Slider::Slider(), gcn::TextBox::TextBox(), and gcn::TextField::TextField().

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

Removes an added KeyListener from the Widget.

Parameters:
keyListener the KeyListener to remove.

Definition at line 363 of file widget.cpp.

References mKeyListeners.

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.

Definition at line 202 of file widget.cpp.

References mEventId.

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

Gets the event identifier.

Returns:
the event identifier.

Definition at line 197 of file widget.cpp.

References mEventId.

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.

Definition at line 567 of file widget.cpp.

References getAbsolutePosition(), getParent(), mDimension, gcn::Rectangle::x, and gcn::Rectangle::y.

Referenced by getAbsolutePosition(), and gcn::Gui::logic().

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

Definition at line 121 of file widget.cpp.

References mParent.

Referenced by gcn::Container::add(), gcn::DropDown::DropDown(), gcn::Container::remove(), gcn::Window::setContent(), gcn::ScrollArea::setContent(), and gcn::DropDown::setScrollArea().

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

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

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

Parameters:
font the global Font.

Definition at line 609 of file widget.cpp.

References mGlobalFont, and mWidgets.

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.

Definition at line 623 of file widget.cpp.

References fontChanged(), and mCurrentFont.

Referenced by ListBoxWidget::setFont(), and gcn::DropDown::setFont().

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.

Definition at line 577 of file widget.h.

Referenced by setFont().

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

Get the hot key

Definition at line 582 of file widget.h.

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

Set the hot key

Definition at line 629 of file widget.cpp.

References mHotKey.

Referenced by ButtonWidget::ButtonWidget().

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

Definition at line 641 of file widget.cpp.

References convertKey(), GCN_EXCEPTION, and mHotKey.

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.

Definition at line 653 of file widget.cpp.

References mWidgets.

Referenced by gcn::DropDown::~DropDown(), and gcn::Gui::~Gui().

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.

Definition at line 669 of file widget.cpp.

References mTabIn.

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.

Definition at line 674 of file widget.cpp.

References mTabIn.

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.

Definition at line 679 of file widget.cpp.

References mTabOut.

Referenced by gcn::FocusHandler::tabNext(), and gcn::FocusHandler::tabPrevious().

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.

Definition at line 684 of file widget.cpp.

References mTabOut.

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.

Definition at line 705 of file widget.cpp.

References GCN_EXCEPTION, gcn::FocusHandler::isDragged(), and mFocusHandler.

Referenced by _mouseInputMessage(), and gcn::TextField::mouseMotion().

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.

Definition at line 715 of file widget.cpp.

References GCN_EXCEPTION, mFocusHandler, and gcn::FocusHandler::requestModalFocus().

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

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

Definition at line 725 of file widget.cpp.

References mFocusHandler, and gcn::FocusHandler::releaseModalFocus().

Referenced by _setFocusHandler().

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

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

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

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

Definition at line 755 of file widget.cpp.

References mDirty.

Referenced by gcn::Gui::draw(), gcn::Window::getDirty(), and gcn::DropDown::getDirty().

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


Member Data Documentation

Definition at line 682 of file widget.h.

Referenced by _keyInputMessage(), addKeyListener(), and removeKeyListener().

Definition at line 686 of file widget.h.

Referenced by addActionListener(), generateAction(), and removeActionListener().

Definition at line 689 of file widget.h.

Referenced by getForegroundColor(), setForegroundColor(), and Widget().

Definition at line 690 of file widget.h.

Referenced by getBackgroundColor(), setBackgroundColor(), and Widget().

Definition at line 691 of file widget.h.

Referenced by getBaseColor(), setBaseColor(), and Widget().

Definition at line 692 of file widget.h.

Referenced by getDisabledColor(), and setDisabledColor().

Definition at line 694 of file widget.h.

Referenced by _setParent(), getParent(), requestMoveToBottom(), requestMoveToTop(), and Widget().

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

Definition at line 696 of file widget.h.

Referenced by getBorderSize(), setBorderSize(), and Widget().

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

Definition at line 697 of file widget.h.

Referenced by generateAction(), getEventId(), and setEventId().

Definition at line 698 of file widget.h.

Referenced by _mouseInputMessage(), and Widget().

int gcn::Widget::mClickCount [protected]

Definition at line 699 of file widget.h.

Referenced by _mouseInputMessage(), and Widget().

int gcn::Widget::mClickButton [protected]

Definition at line 700 of file widget.h.

Referenced by _mouseInputMessage(), gcn::TextField::mouseMotion(), and Widget().

bool gcn::Widget::mHasMouse [protected]

Definition at line 701 of file widget.h.

Referenced by _mouseInMessage(), _mouseInputMessage(), _mouseOutMessage(), hasMouse(), and Widget().

bool gcn::Widget::mFocusable [protected]

Definition at line 702 of file widget.h.

Referenced by isFocusable(), setFocusable(), and Widget().

bool gcn::Widget::mVisible [protected]

Definition at line 703 of file widget.h.

Referenced by isVisible(), setVisible(), and Widget().

bool gcn::Widget::mTabIn [protected]

Definition at line 704 of file widget.h.

Referenced by isTabInEnabled(), setTabInEnabled(), and Widget().

bool gcn::Widget::mTabOut [protected]

Definition at line 705 of file widget.h.

Referenced by isTabOutEnabled(), setTabOutEnabled(), and Widget().

bool gcn::Widget::mEnabled [protected]

Definition at line 708 of file widget.h.

Referenced by getFont(), setFont(), and Widget().

int gcn::Widget::mHotKey [protected]

Definition at line 709 of file widget.h.

Referenced by setHotKey(), and Widget().

Definition at line 710 of file widget.h.

Referenced by getFont().

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

Definition at line 711 of file widget.h.

Referenced by getFont(), and setGlobalFont().

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

Reimplemented in gcn::Container.

Definition at line 712 of file widget.h.

Referenced by setGlobalFont(), Widget(), widgetExists(), and ~Widget().

bool gcn::Widget::mDirty [protected]


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

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