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

#include <container.h>

Inheritance diagram for gcn::Container:
gcn::BasicContainer gcn::Widget MenuScreen

Public Member Functions

 Container ()
 
virtual ~Container ()
 
virtual void setOpaque (bool opaque)
 
virtual bool isOpaque () const
 
virtual void add (Widget *widget)
 
virtual void add (Widget *widget, int x, int y)
 
virtual void remove (Widget *widget)
 
virtual void clear ()
 
virtual void draw (Graphics *graphics)
 
virtual void drawBorder (Graphics *graphics)
 
virtual void logic ()
 
virtual void _setFocusHandler (FocusHandler *focusHandler)
 
virtual void _mouseInputMessage (const MouseInput &mouseInput)
 
virtual void _mouseOutMessage ()
 
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 setDirty (bool dirty)
 
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 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 bool _keyInputMessage (const KeyInput &keyInput)
 
virtual void hotKeyPress ()
 
virtual void hotKeyRelease ()
 
virtual void _mouseInMessage ()
 
virtual void requestFocus ()
 
virtual void requestMoveToTop ()
 
virtual void requestMoveToBottom ()
 
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
 

Protected Types

typedef std::list< Widget * > WidgetList
 
typedef WidgetList::iterator WidgetIterator
 
typedef WidgetList::const_iterator WidgetConstIterator
 
- 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

virtual void drawChildren (Graphics *graphics)
 
virtual void logicChildren ()
 
- Protected Member Functions inherited from gcn::Widget
void generateAction ()
 

Protected Attributes

WidgetmWidgetWithMouse
 
WidgetList mWidgets
 
bool mOpaque
 
- 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)
 
- Static Protected Attributes inherited from gcn::Widget
static DefaultFont mDefaultFont
 
static FontmGlobalFont = NULL
 
static std::list< Widget * > mWidgets
 

Detailed Description

A container able to contain other Widgets. It is in other words a Widget that holds other Widgets. A Widgets position in the container is always relativ to the Container itself, not the screen. Using a Container as the top Widget in Gui is the only way to use more then one Widget in your Gui.

Member Typedef Documentation

◆ WidgetConstIterator

typedef WidgetList::const_iterator gcn::Container::WidgetConstIterator
protected

◆ WidgetIterator

typedef WidgetList::iterator gcn::Container::WidgetIterator
protected

◆ WidgetList

typedef std::list<Widget*> gcn::Container::WidgetList
protected

Constructor & Destructor Documentation

◆ Container()

gcn::Container::Container ( )

Constructor. A container is opauqe as default.

See also
setOpaque, isOpaque

◆ ~Container()

gcn::Container::~Container ( )
virtual

Destructor.

Member Function Documentation

◆ _announceDeath()

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

Called when a child of the BasicContainer gets destroyed.

Parameters
widgetthe destroyed Widget.

Implements gcn::BasicContainer.

◆ _mouseInputMessage()

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

◆ _mouseOutMessage()

void gcn::Container::_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 from gcn::Widget.

◆ _setFocusHandler()

void gcn::Container::_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
focusHandlerthe FocusHandler to use.

Reimplemented from gcn::Widget.

◆ add() [1/2]

void gcn::Container::add ( Widget widget)
virtual

Adds a Widget to the Container.

Parameters
widgetthe Widget to add.
See also
remove

◆ add() [2/2]

void gcn::Container::add ( Widget widget,
int  x,
int  y 
)
virtual

Adds a Widget to the container and also specifices it's postion

Parameters
widgetthe Widget to add.
xthe x coordinat for the Widget in the Container.
ythe y coordinat for the Widget in the Container.
See also
remove

◆ clear()

void gcn::Container::clear ( )
virtual

Clears the Container of all widgets.

See also
add, remove

◆ draw()

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

◆ drawBorder()

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

◆ drawChildren()

void gcn::Container::drawChildren ( Graphics graphics)
protectedvirtual

Draws all children of the Container. The Widgets will bedrawn in the order the Widgets were added to the Container.

Parameters
graphicsthe Graphics object to draw with.

◆ getDirty()

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

Reimplemented from gcn::Widget.

◆ getDrawSize()

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

◆ isOpaque()

bool gcn::Container::isOpaque ( ) const
virtual

Checks if the Container is opaque.

Returns
true if the Container is opaque.
See also
setOpaque

◆ logic()

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

◆ logicChildren()

void gcn::Container::logicChildren ( )
protectedvirtual

Calls the logic function for all children of Container. The Widgets logic function will be called in the order the Widgets were added to the Container.

◆ moveToBottom()

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

◆ remove()

void gcn::Container::remove ( Widget widget)
virtual

Removes a Widget from the Container.

Parameters
widgetthe Widget to remove.
Exceptions
Exceptionwhen the Widget has not been added to the Container.
See also
add, clear

◆ setDirty()

void gcn::Container::setDirty ( bool  dirty)
virtual

Reimplemented from gcn::Widget.

◆ setOpaque()

void gcn::Container::setOpaque ( bool  opaque)
virtual

Sets whether the background should be drawn or not. If the Container is not opaque it will be completely transparent.

NOTE: This is not the same as to set visibility. A nonvisible Container will not draw it's content.

Parameters
opaquetrue if the Container should be opaque.
See also
isOpaque

Member Data Documentation

◆ mOpaque

bool gcn::Container::mOpaque
protected

◆ mWidgets

WidgetList gcn::Container::mWidgets
protected

◆ mWidgetWithMouse

Widget* gcn::Container::mWidgetWithMouse
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.