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

#include <window.h>

Inheritance diagram for gcn::Window:
gcn::BasicContainer gcn::MouseListener gcn::Widget Windows

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 WidgetgetContent () 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
 
- 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
 
- Public Member Functions inherited from gcn::MouseListener
virtual ~MouseListener ()
 
virtual void mouseIn ()
 
virtual void mouseOut ()
 
virtual void mouseClick (int, int, int, int)
 
virtual void mouseWheelUp (int, int)
 
virtual void mouseWheelDown (int, int)
 

Protected Member Functions

virtual void repositionContent ()
 
virtual Rectangle getContentDimension ()
 
- Protected Member Functions inherited from gcn::Widget
void generateAction ()
 
- Protected Member Functions inherited from gcn::MouseListener
 MouseListener ()
 

Protected Attributes

std::string mCaption
 
unsigned int mAlignment
 
WidgetmContent
 
unsigned int mPadding
 
unsigned int mTitleBarHeight
 
bool mMouseDrag
 
int mMouseXOffset
 
int mMouseYOffset
 
bool mMovable
 
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)
 
- 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
 
- Static Protected Attributes inherited from gcn::Widget
static DefaultFont mDefaultFont
 
static FontmGlobalFont = NULL
 
static std::list< Widget * > mWidgets
 

Detailed Description

A movable window which can conatin another Widget.

Constructor & Destructor Documentation

◆ Window() [1/3]

gcn::Window::Window ( )

Constructor.

◆ Window() [2/3]

gcn::Window::Window ( const std::string &  caption)

Constructor.

Parameters
captionthe Window caption.

◆ Window() [3/3]

gcn::Window::Window ( Widget content,
const std::string &  caption = "" 
)

Constructor.

Parameters
contentthe content Widget.
captionthe Window caption.

◆ ~Window()

gcn::Window::~Window ( )
virtual

Destructor.

Member Function Documentation

◆ _announceDeath()

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

Called when a child of the BasicContainer gets destroyed.

Parameters
widgetthe destroyed Widget.

Implements gcn::BasicContainer.

◆ _mouseInputMessage()

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.

Parameters
mouseInputthe MouseInput message.

Reimplemented from gcn::Widget.

◆ _mouseOutMessage()

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.

◆ _setFocusHandler()

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.

Parameters
focusHandlerthe FocusHandler to use.

Reimplemented from gcn::Widget.

◆ draw()

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.

Parameters
graphicsa Graphics object to draw with.

Implements gcn::Widget.

◆ drawBorder()

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

◆ drawContent()

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.

Parameters
graphicsa Graphics object to draw with.

◆ getAlignment()

unsigned int gcn::Window::getAlignment ( ) const
virtual

Gets the alignment for the caption.

Returns
alignment of caption.

◆ getCaption()

const std::string & gcn::Window::getCaption ( ) const
virtual

Gets the Window caption.

Returns
the Window caption.

◆ getContent()

Widget * gcn::Window::getContent ( ) const
virtual

Gets the content Widget.

Returns
the contant Widget.

◆ getContentDimension()

Rectangle gcn::Window::getContentDimension ( )
protectedvirtual

Gets the area in the window that the content occupies.

◆ getDirty()

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

Reimplemented from gcn::Widget.

◆ getDrawSize()

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.

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.

◆ getPadding()

unsigned int gcn::Window::getPadding ( ) const
virtual

Gets the padding.

Returns
the padding value.

◆ getTitleBarHeight()

unsigned int gcn::Window::getTitleBarHeight ( )
virtual

Gets the title bar height.

Returns
the title bar height.

◆ isMovable()

bool gcn::Window::isMovable ( ) const
virtual

Check if the window is movable.

Returns
true or false.

◆ isOpaque()

bool gcn::Window::isOpaque ( )
virtual

Checks if the Window is opaque.

Returns
true or false.

◆ logic()

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.

See also
Gui

Reimplemented from gcn::Widget.

◆ mouseMotion()

void gcn::Window::mouseMotion ( int  ,
int   
)
virtual

Called when the mouse moves and the mouse is in the Widget area or if the Widget has focus.

Parameters
xthe x coordinate of the mouse relative to the Widget itself.
ythe y coordinate of the mouse relative to the Widget itself.

Reimplemented from gcn::MouseListener.

◆ mousePress()

void gcn::Window::mousePress ( int  ,
int  ,
int   
)
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.

Parameters
xthe x coordinate of the mouse relative to the Widget itself.
ythe y coordinate of the mouse relative to the Widget itself.
buttonthe button pressed.

Reimplemented from gcn::MouseListener.

◆ mouseRelease()

void gcn::Window::mouseRelease ( int  ,
int  ,
int   
)
virtual

Called when a mouse button is released when the mouse is in the Widget area or if the Widget has focus.

Parameters
xthe x coordinate of the mouse relative to the Widget itself.
ythe y coordinate of the mouse relative to the Widget itself.
buttonthe button released.

Reimplemented from gcn::MouseListener.

◆ moveToBottom()

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.

Parameters
widgetthe Widget to move.

Implements gcn::BasicContainer.

◆ moveToTop()

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.

Parameters
widgetthe Widget to move.

Implements gcn::BasicContainer.

◆ repositionContent()

void gcn::Window::repositionContent ( )
protectedvirtual

Moves the content to the top left corner of the window, uses getContentDimension to get the offset

◆ resizeToContent()

void gcn::Window::resizeToContent ( )
virtual

Resizes the window to fit the content.

◆ setAlignment()

void gcn::Window::setAlignment ( unsigned int  alignment)
virtual

Sets the alignment for the caption.

Parameters
alignmentGraphics::LEFT, Graphics::CENTER or Graphics::RIGHT.

◆ setCaption()

void gcn::Window::setCaption ( const std::string &  caption)
virtual

Sets the Window caption.

Parameters
captionthe Window caption.

◆ setContent()

void gcn::Window::setContent ( Widget widget)
virtual

Sets the content Widget.

Parameters
widgetthe contant Widget.

◆ setDirty()

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

Reimplemented from gcn::Widget.

◆ setMovable()

void gcn::Window::setMovable ( bool  movable)
virtual

Sets the Window to be moveble.

Parameters
movabletrue or false.

◆ setOpaque()

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.

Parameters
opaquetrue or false.

◆ setPadding()

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.

Parameters
paddingthe padding value.

◆ setTitleBarHeight()

void gcn::Window::setTitleBarHeight ( unsigned int  height)
virtual

Sets the title bar height.

Parameters
heightthe title height value.

Member Data Documentation

◆ mAlignment

unsigned int gcn::Window::mAlignment
protected

◆ mCaption

std::string gcn::Window::mCaption
protected

◆ mContent

Widget* gcn::Window::mContent
protected

◆ mMouseDrag

bool gcn::Window::mMouseDrag
protected

◆ mMouseXOffset

int gcn::Window::mMouseXOffset
protected

◆ mMouseYOffset

int gcn::Window::mMouseYOffset
protected

◆ mMovable

bool gcn::Window::mMovable
protected

◆ mOpaque

bool gcn::Window::mOpaque
protected

◆ mPadding

unsigned int gcn::Window::mPadding
protected

◆ mTitleBarHeight

unsigned int gcn::Window::mTitleBarHeight
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.