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

Public Member Functions | |
| Window () | |
| Window (const std::string &caption) | |
| Window (Widget *content, const std::string &caption="") | |
| virtual | ~Window () |
| virtual void | setCaption (const std::string &caption) |
| virtual const std::string & | getCaption () const |
| virtual void | setAlignment (unsigned int alignment) |
| virtual unsigned int | getAlignment () const |
| virtual void | setContent (Widget *widget) |
| virtual Widget * | getContent () const |
| virtual void | setPadding (unsigned int padding) |
| virtual unsigned int | getPadding () const |
| virtual void | setTitleBarHeight (unsigned int height) |
| virtual unsigned int | getTitleBarHeight () |
| virtual void | setMovable (bool movable) |
| virtual bool | isMovable () const |
| virtual void | resizeToContent () |
| virtual void | setOpaque (bool opaque) |
| virtual bool | isOpaque () |
| virtual void | drawContent (Graphics *graphics) |
| virtual void | moveToTop (Widget *widget) |
| virtual void | moveToBottom (Widget *widget) |
| virtual void | getDrawSize (int &width, int &height, Widget *widget) |
| virtual void | _announceDeath (Widget *widget) |
| virtual void | draw (Graphics *graphics) |
| virtual void | drawBorder (Graphics *graphics) |
| virtual void | logic () |
| virtual void | _mouseInputMessage (const MouseInput &mouseInput) |
| virtual void | _mouseOutMessage () |
| virtual void | _setFocusHandler (FocusHandler *focusHandler) |
| virtual void | mousePress (int x, int y, int button) |
| virtual void | mouseRelease (int x, int y, int button) |
| virtual void | mouseMotion (int x, int y) |
| virtual void | setDirty (bool dirty) |
| virtual bool | getDirty () const |
Protected Member Functions | |
| virtual void | repositionContent () |
| virtual Rectangle | getContentDimension () |
Protected Attributes | |
| std::string | mCaption |
| unsigned int | mAlignment |
| Widget * | mContent |
| unsigned int | mPadding |
| unsigned int | mTitleBarHeight |
| bool | mMouseDrag |
| int | mMouseXOffset |
| int | mMouseYOffset |
| bool | mMovable |
| bool | mOpaque |
Definition at line 68 of file window.h.
| gcn::Window::Window | ( | ) |
Constructor.
Definition at line 65 of file window.cpp.
References gcn::Widget::addMouseListener(), gcn::Graphics::CENTER, mContent, mMouseDrag, setAlignment(), gcn::Widget::setBorderSize(), setMovable(), setOpaque(), setPadding(), and setTitleBarHeight().
| gcn::Window::Window | ( | const std::string & | caption | ) |
Constructor.
| caption | the Window caption. |
Definition at line 78 of file window.cpp.
References gcn::Widget::addMouseListener(), gcn::Graphics::CENTER, mContent, mMouseDrag, setAlignment(), gcn::Widget::setBorderSize(), setCaption(), setMovable(), setOpaque(), setPadding(), and setTitleBarHeight().
| gcn::Window::Window | ( | Widget * | content, | |
| const std::string & | caption = "" | |||
| ) |
Constructor.
Definition at line 92 of file window.cpp.
References gcn::Widget::addMouseListener(), gcn::Graphics::CENTER, mContent, mMouseDrag, setAlignment(), gcn::Widget::setBorderSize(), setCaption(), setContent(), setMovable(), setOpaque(), setPadding(), and setTitleBarHeight().
| gcn::Window::~Window | ( | ) | [virtual] |
| void gcn::Window::setCaption | ( | const std::string & | caption | ) | [virtual] |
Sets the Window caption.
| caption | the Window caption. |
Definition at line 162 of file window.cpp.
References mCaption, and setDirty().
Referenced by Window().
| const std::string & gcn::Window::getCaption | ( | ) | const [virtual] |
| void gcn::Window::setAlignment | ( | unsigned int | alignment | ) | [virtual] |
Sets the alignment for the caption.
| alignment | Graphics::LEFT, Graphics::CENTER or Graphics::RIGHT. |
Definition at line 173 of file window.cpp.
References mAlignment.
Referenced by Window().
| unsigned int gcn::Window::getAlignment | ( | ) | const [virtual] |
Gets the alignment for the caption.
Definition at line 178 of file window.cpp.
References mAlignment.
Referenced by draw().
| void gcn::Window::setContent | ( | Widget * | widget | ) | [virtual] |
Sets the content Widget.
| widget | the contant Widget. |
Definition at line 139 of file window.cpp.
References gcn::Widget::_getFocusHandler(), gcn::Widget::_setFocusHandler(), gcn::Widget::_setParent(), getContent(), mContent, and repositionContent().
Referenced by Window(), Windows::Windows(), and ~Window().
| Widget * gcn::Window::getContent | ( | ) | const [virtual] |
Gets the content Widget.
Definition at line 157 of file window.cpp.
References mContent.
Referenced by _mouseInputMessage(), _mouseOutMessage(), _setFocusHandler(), drawContent(), getDrawSize(), logic(), moveToBottom(), moveToTop(), repositionContent(), resizeToContent(), and setContent().
| void gcn::Window::setPadding | ( | unsigned int | padding | ) | [virtual] |
Sets the padding of the window which is the distance between the window border and the content.
| padding | the padding value. |
Definition at line 112 of file window.cpp.
References mPadding, and repositionContent().
Referenced by Window().
| unsigned int gcn::Window::getPadding | ( | ) | const [virtual] |
Gets the padding.
Definition at line 118 of file window.cpp.
References mPadding.
Referenced by getContentDimension(), mousePress(), and resizeToContent().
| void gcn::Window::setTitleBarHeight | ( | unsigned int | height | ) | [virtual] |
Sets the title bar height.
| height | the title height value. |
Definition at line 123 of file window.cpp.
References mTitleBarHeight, and repositionContent().
Referenced by Window().
| unsigned int gcn::Window::getTitleBarHeight | ( | ) | [virtual] |
Gets the title bar height.
Definition at line 129 of file window.cpp.
References mTitleBarHeight.
Referenced by draw(), getContentDimension(), mousePress(), and resizeToContent().
| void gcn::Window::setMovable | ( | bool | movable | ) | [virtual] |
Sets the Window to be moveble.
| movable | true or false. |
Definition at line 393 of file window.cpp.
References mMovable.
Referenced by Window().
| bool gcn::Window::isMovable | ( | ) | const [virtual] |
Check if the window is movable.
Definition at line 398 of file window.cpp.
References mMovable.
Referenced by mouseMotion(), and mousePress().
| void gcn::Window::resizeToContent | ( | ) | [virtual] |
Resizes the window to fit the content.
Definition at line 403 of file window.cpp.
References getContent(), gcn::Widget::getHeight(), getPadding(), getTitleBarHeight(), gcn::Widget::getWidth(), and gcn::Widget::setSize().
Referenced by Windows::Windows().
| void gcn::Window::setOpaque | ( | bool | opaque | ) | [virtual] |
Sets the Window to be opaque. If it's not opaque, the content area will not be filled with a color.
| opaque | true or false. |
Definition at line 459 of file window.cpp.
References mOpaque.
Referenced by Window().
| bool gcn::Window::isOpaque | ( | ) | [virtual] |
Checks if the Window is opaque.
Definition at line 464 of file window.cpp.
References mOpaque.
Referenced by draw().
| void gcn::Window::drawContent | ( | Graphics * | graphics | ) | [virtual] |
Draws the content of the Window. This functions uses the getContentDimension to determin where to draw the content.
| graphics | a Graphics object to draw with. |
Definition at line 299 of file window.cpp.
References gcn::Widget::draw(), getContent(), getContentDimension(), gcn::Widget::getHeight(), gcn::Widget::getWidth(), gcn::Graphics::popClipArea(), and gcn::Graphics::pushClipArea().
Referenced by draw().
| void gcn::Window::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 346 of file window.cpp.
References GCN_EXCEPTION, and getContent().
| void gcn::Window::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 354 of file window.cpp.
References GCN_EXCEPTION, and getContent().
| void gcn::Window::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 362 of file window.cpp.
References GCN_EXCEPTION, getContent(), getContentDimension(), gcn::Rectangle::height, and gcn::Rectangle::width.
| void gcn::Window::_announceDeath | ( | Widget * | widget | ) | [virtual] |
Called when a child of the BasicContainer gets destroyed.
| widget | the destroyed Widget. |
Implements gcn::BasicContainer.
Definition at line 134 of file window.cpp.
References mContent.
| void gcn::Window::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.
Definition at line 183 of file window.cpp.
References gcn::Color::a, gcn::Graphics::CENTER, drawContent(), gcn::Graphics::drawLine(), gcn::Graphics::drawText(), gcn::Graphics::fillRectangle(), GCN_EXCEPTION, getAlignment(), gcn::Widget::getBaseColor(), getCaption(), getContentDimension(), gcn::Widget::getFont(), gcn::Widget::getForegroundColor(), gcn::Font::getHeight(), gcn::Widget::getHeight(), getTitleBarHeight(), gcn::Widget::getWidth(), gcn::Rectangle::height, int(), isOpaque(), gcn::Graphics::LEFT, gcn::Graphics::RIGHT, gcn::Graphics::setColor(), gcn::Graphics::setFont(), gcn::Rectangle::width, gcn::Rectangle::x, and gcn::Rectangle::y.
| void gcn::Window::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 275 of file window.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::Window::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.
Definition at line 469 of file window.cpp.
References getContent(), and gcn::Widget::logic().
| void gcn::Window::_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 413 of file window.cpp.
References gcn::Widget::_mouseInMessage(), gcn::Widget::_mouseInputMessage(), gcn::Widget::_mouseOutMessage(), getContent(), getContentDimension(), gcn::Widget::getDimension(), gcn::Widget::getX(), gcn::Widget::getY(), gcn::Widget::hasMouse(), gcn::MouseInput::x, and gcn::MouseInput::y.
| void gcn::Window::_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 439 of file window.cpp.
References gcn::Widget::_mouseOutMessage(), getContent(), and gcn::Widget::hasMouse().
| void gcn::Window::_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 449 of file window.cpp.
References gcn::Widget::_setFocusHandler(), and getContent().
| void gcn::Window::mousePress | ( | int | x, | |
| int | y, | |||
| int | button | |||
| ) | [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.
| x | the x coordinate of the mouse relative to the Widget itself. | |
| y | the y coordinate of the mouse relative to the Widget itself. | |
| button | the button pressed. |
Reimplemented from gcn::MouseListener.
Definition at line 312 of file window.cpp.
References getPadding(), gcn::Widget::getParent(), getTitleBarHeight(), gcn::Widget::hasMouse(), isMovable(), mMouseDrag, mMouseXOffset, mMouseYOffset, and gcn::BasicContainer::moveToTop().
| void gcn::Window::mouseRelease | ( | int | x, | |
| int | y, | |||
| int | button | |||
| ) | [virtual] |
Called when a mouse button is released when the mouse is in the Widget area or if the Widget has focus.
| x | the x coordinate of the mouse relative to the Widget itself. | |
| y | the y coordinate of the mouse relative to the Widget itself. | |
| button | the button released. |
Reimplemented from gcn::MouseListener.
Definition at line 328 of file window.cpp.
References mMouseDrag.
| void gcn::Window::mouseMotion | ( | int | x, | |
| int | y | |||
| ) | [virtual] |
Called when the mouse moves and the mouse is in the Widget area or if the Widget has focus.
| x | the x coordinate of the mouse relative to the Widget itself. | |
| y | the y coordinate of the mouse relative to the Widget itself. |
Reimplemented from gcn::MouseListener.
Definition at line 336 of file window.cpp.
References gcn::Widget::getX(), gcn::Widget::getY(), isMovable(), mMouseDrag, mMouseXOffset, mMouseYOffset, setDirty(), and gcn::Widget::setPosition().
| void gcn::Window::setDirty | ( | bool | dirty | ) | [virtual] |
Reimplemented from gcn::Widget.
Definition at line 477 of file window.cpp.
References mContent, gcn::Widget::mDirty, and gcn::Widget::setDirty().
Referenced by mouseMotion(), and setCaption().
| bool gcn::Window::getDirty | ( | ) | const [virtual] |
Reimplemented from gcn::Widget.
Definition at line 486 of file window.cpp.
References gcn::Widget::getDirty(), mContent, and gcn::Widget::mDirty.
| void gcn::Window::repositionContent | ( | ) | [protected, virtual] |
Moves the content to the top left corner of the window, uses getContentDimension to get the offset
Definition at line 374 of file window.cpp.
References getContent(), getContentDimension(), mContent, gcn::Widget::setPosition(), gcn::Rectangle::x, and gcn::Rectangle::y.
Referenced by setContent(), setPadding(), and setTitleBarHeight().
| Rectangle gcn::Window::getContentDimension | ( | ) | [protected, virtual] |
Gets the area in the window that the content occupies.
Definition at line 385 of file window.cpp.
References gcn::Widget::getHeight(), getPadding(), getTitleBarHeight(), and gcn::Widget::getWidth().
Referenced by _mouseInputMessage(), draw(), drawContent(), getDrawSize(), and repositionContent().
std::string gcn::Window::mCaption [protected] |
unsigned int gcn::Window::mAlignment [protected] |
Widget* gcn::Window::mContent [protected] |
Definition at line 262 of file window.h.
Referenced by _announceDeath(), getContent(), getDirty(), repositionContent(), setContent(), setDirty(), and Window().
unsigned int gcn::Window::mPadding [protected] |
unsigned int gcn::Window::mTitleBarHeight [protected] |
Definition at line 264 of file window.h.
Referenced by getTitleBarHeight(), and setTitleBarHeight().
bool gcn::Window::mMouseDrag [protected] |
Definition at line 265 of file window.h.
Referenced by mouseMotion(), mousePress(), mouseRelease(), and Window().
int gcn::Window::mMouseXOffset [protected] |
int gcn::Window::mMouseYOffset [protected] |
bool gcn::Window::mMovable [protected] |
bool gcn::Window::mOpaque [protected] |
1.5.6