____ _ __
/ __ )____ _____ | | / /___ ___________
/ __ / __ \/ ___/ | | /| / / __ `/ ___/ ___/
/ /_/ / /_/ (__ ) | |/ |/ / /_/ / / (__ )
/_____/\____/____/ |__/|__/\__,_/_/ /____/
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"#include <container.h>

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 |
Protected Types | |
| typedef std::list< Widget * > | WidgetList |
| typedef WidgetList::iterator | WidgetIterator |
| typedef WidgetList::const_iterator | WidgetConstIterator |
Protected Member Functions | |
| virtual void | drawChildren (Graphics *graphics) |
| virtual void | logicChildren () |
Protected Attributes | |
| Widget * | mWidgetWithMouse |
| WidgetList | mWidgets |
| bool | mOpaque |
Definition at line 73 of file container.h.
typedef std::list<Widget*> gcn::Container::WidgetList [protected] |
Definition at line 191 of file container.h.
typedef WidgetList::iterator gcn::Container::WidgetIterator [protected] |
Definition at line 192 of file container.h.
typedef WidgetList::const_iterator gcn::Container::WidgetConstIterator [protected] |
Definition at line 193 of file container.h.
| gcn::Container::Container | ( | ) |
Constructor. A container is opauqe as default.
Definition at line 65 of file container.cpp.
References mOpaque, and mWidgetWithMouse.
| gcn::Container::~Container | ( | ) | [virtual] |
| 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.
| opaque | true if the Container should be opaque. |
Definition at line 153 of file container.cpp.
References mOpaque.
Referenced by EditorMainLoop(), MenuScreen::MenuScreen(), PatchEditorMainLoop(), ScrollingWidget::ScrollingWidget(), and StartMap().
| bool gcn::Container::isOpaque | ( | ) | const [virtual] |
| void gcn::Container::add | ( | Widget * | widget | ) | [virtual] |
Adds a Widget to the Container.
| widget | the Widget to add. |
Definition at line 273 of file container.cpp.
References gcn::Widget::_getFocusHandler(), gcn::Widget::_setFocusHandler(), gcn::Widget::_setParent(), and mWidgets.
Referenced by Windows::add(), ScrollingWidget::add(), EditorMainLoop(), and PatchEditorMainLoop().
| void gcn::Container::add | ( | Widget * | widget, | |
| int | x, | |||
| int | y | |||
| ) | [virtual] |
Adds a Widget to the container and also specifices it's postion
| widget | the Widget to add. | |
| x | the x coordinat for the Widget in the Container. | |
| y | the y coordinat for the Widget in the Container. |
Definition at line 280 of file container.cpp.
References gcn::Widget::setPosition().
| void gcn::Container::remove | ( | Widget * | widget | ) | [virtual] |
Removes a Widget from the Container.
| widget | the Widget to remove. |
Definition at line 286 of file container.cpp.
References gcn::Widget::_setFocusHandler(), gcn::Widget::_setParent(), GCN_EXCEPTION, mWidgets, and mWidgetWithMouse.
| void gcn::Container::clear | ( | ) | [virtual] |
Clears the Container of all widgets.
Definition at line 308 of file container.cpp.
References mWidgets, and mWidgetWithMouse.
Referenced by ~Container().
| 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.
| graphics | a Graphics object to draw with. |
Implements gcn::Widget.
Reimplemented in MenuScreen.
Definition at line 81 of file container.cpp.
References drawChildren(), gcn::Graphics::fillRectangle(), gcn::Widget::getBaseColor(), gcn::Widget::getHeight(), gcn::Widget::getWidth(), isOpaque(), and gcn::Graphics::setColor().
Referenced by MenuScreen::draw().
| void gcn::Container::drawBorder | ( | Graphics * | 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.
| graphics | a Graphics object to draw with. |
Reimplemented from gcn::Widget.
Definition at line 92 of file container.cpp.
References gcn::Color::a, gcn::Graphics::drawLine(), gcn::Widget::getBaseColor(), gcn::Widget::getBorderSize(), gcn::Widget::getHeight(), gcn::Widget::getWidth(), and gcn::Graphics::setColor().
| 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.
Reimplemented from gcn::Widget.
Reimplemented in MenuScreen.
Definition at line 76 of file container.cpp.
References logicChildren().
| 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.
| focusHandler | the FocusHandler to use. |
Reimplemented from gcn::Widget.
Definition at line 323 of file container.cpp.
References gcn::Widget::_setFocusHandler(), and mWidgets.
| 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.
| mouseInput | the MouseInput message. |
Reimplemented from gcn::Widget.
Definition at line 334 of file container.cpp.
References gcn::Widget::_mouseInMessage(), gcn::Widget::_mouseInputMessage(), gcn::Widget::_mouseOutMessage(), gcn::Widget::getX(), gcn::Widget::getY(), mWidgets, mWidgetWithMouse, gcn::MouseInput::x, and gcn::MouseInput::y.
| 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.
Definition at line 377 of file container.cpp.
References gcn::Widget::_mouseOutMessage(), and mWidgetWithMouse.
| 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.
| widget | the Widget to move. |
Implements gcn::BasicContainer.
Definition at line 163 of file container.cpp.
References GCN_EXCEPTION, and mWidgets.
| 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.
| widget | the Widget to move. |
Implements gcn::BasicContainer.
Definition at line 179 of file container.cpp.
References GCN_EXCEPTION, and mWidgets.
| void gcn::Container::_announceDeath | ( | Widget * | widget | ) | [virtual] |
Called when a child of the BasicContainer gets destroyed.
| widget | the destroyed Widget. |
Implements gcn::BasicContainer.
Definition at line 195 of file container.cpp.
References GCN_EXCEPTION, mWidgets, and mWidgetWithMouse.
| 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.
| width | the width the Widget's draw space has. | |
| height | the height the Widget's draw space has. | |
| widget | the Widget calling the function. |
Implements gcn::BasicContainer.
Definition at line 215 of file container.cpp.
References GCN_EXCEPTION, gcn::Widget::getDimension(), gcn::Rectangle::height, mWidgets, gcn::Rectangle::width, gcn::Rectangle::x, and gcn::Rectangle::y.
| void gcn::Container::setDirty | ( | bool | dirty | ) | [virtual] |
Reimplemented from gcn::Widget.
Definition at line 388 of file container.cpp.
References gcn::Widget::mDirty, and mWidgets.
| bool gcn::Container::getDirty | ( | ) | const [virtual] |
Reimplemented from gcn::Widget.
Definition at line 398 of file container.cpp.
References gcn::Widget::mDirty, and mWidgets.
| void gcn::Container::drawChildren | ( | Graphics * | graphics | ) | [protected, virtual] |
Draws all children of the Container. The Widgets will bedrawn in the order the Widgets were added to the Container.
| graphics | the Graphics object to draw with. |
Definition at line 125 of file container.cpp.
References gcn::Rectangle::height, mWidgets, gcn::Graphics::popClipArea(), gcn::Graphics::pushClipArea(), gcn::Rectangle::width, gcn::Rectangle::x, and gcn::Rectangle::y.
Referenced by draw().
| void gcn::Container::logicChildren | ( | ) | [protected, virtual] |
Widget* gcn::Container::mWidgetWithMouse [protected] |
Definition at line 190 of file container.h.
Referenced by _announceDeath(), _mouseInputMessage(), _mouseOutMessage(), clear(), Container(), and remove().
WidgetList gcn::Container::mWidgets [protected] |
Reimplemented from gcn::Widget.
Definition at line 194 of file container.h.
Referenced by _announceDeath(), _mouseInputMessage(), _setFocusHandler(), add(), clear(), drawChildren(), getDirty(), getDrawSize(), logicChildren(), moveToBottom(), moveToTop(), remove(), and setDirty().
bool gcn::Container::mOpaque [protected] |
1.5.6