Crazy Eddie's GUI System 0.8.7
Loading...
Searching...
No Matches
widgets/PopupMenu.h
1/***********************************************************************
2 created: 27/3/2005
3 author: Tomas Lindquist Olsen (based on code by Paul D Turner)
4
5 purpose: Interface to base class for PopupMenu widget
6*************************************************************************/
7/***************************************************************************
8 * Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team
9 *
10 * Permission is hereby granted, free of charge, to any person obtaining
11 * a copy of this software and associated documentation files (the
12 * "Software"), to deal in the Software without restriction, including
13 * without limitation the rights to use, copy, modify, merge, publish,
14 * distribute, sublicense, and/or sell copies of the Software, and to
15 * permit persons to whom the Software is furnished to do so, subject to
16 * the following conditions:
17 *
18 * The above copyright notice and this permission notice shall be
19 * included in all copies or substantial portions of the Software.
20 *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
25 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27 * OTHER DEALINGS IN THE SOFTWARE.
28 ***************************************************************************/
29#ifndef _CEGUIPopupMenu_h_
30#define _CEGUIPopupMenu_h_
31
32#include "../Base.h"
33#include "../Window.h"
34#include "./MenuBase.h"
35
36
37#if defined(_MSC_VER)
38# pragma warning(push)
39# pragma warning(disable : 4251)
40#endif
41
42
43// Start of CEGUI namespace section
44namespace CEGUI
45{
46
51class CEGUIEXPORT PopupMenu : public MenuBase
52{
53public:
54 /************************************************************************
55 Constants
56 *************************************************************************/
57 static const String EventNamespace;
58 static const String WidgetTypeName;
59
60 /*************************************************************************
61 Accessor type functions
62 *************************************************************************/
71 float getFadeInTime(void) const {return d_fadeInTime;}
72
73
82 float getFadeOutTime(void) const {return d_fadeOutTime;}
83
84
89 bool isPopupMenuOpen(void) const {return d_isOpen;}
90
91
92 /*************************************************************************
93 Manipulators
94 *************************************************************************/
103 void setFadeInTime(float fadetime) {d_fadeInTime=fadetime;}
104
105
114 void setFadeOutTime(float fadetime) {d_fadeOutTime=fadetime;}
115
116
124 void openPopupMenu(bool notify=true);
125
126
134 void closePopupMenu(bool notify=true);
135
136
137 /*************************************************************************
138 Construction and Destruction
139 *************************************************************************/
144 PopupMenu(const String& type, const String& name);
145
146
151 virtual ~PopupMenu(void);
152
153
154protected:
155 /*************************************************************************
156 Implementation Functions
157 *************************************************************************/
168 virtual void updateSelf(float elapsed);
169
170
178 virtual void layoutItemWidgets(void);
179
180
188 virtual Sizef getContentSize(void) const;
189
190 /*************************************************************************
191 Overridden event handlers
192 *************************************************************************/
195 virtual void onShown(WindowEventArgs& e);
196 virtual void onHidden(WindowEventArgs& e);
199
200
201 /*************************************************************************
202 Implementation Data
203 *************************************************************************/
208 bool d_fading;
210 bool d_isOpen;
211
212
213private:
214 /*************************************************************************
215 Private methods
216 *************************************************************************/
217 void addPopupMenuProperties(void);
218};
219
220
221} // End of CEGUI namespace section
222
223
224#if defined(_MSC_VER)
225# pragma warning(pop)
226#endif
227
228
229#endif // end of guard _CEGUIPopupMenu_h_
Abstract base class for menus.
Definition MenuBase.h:52
EventArgs based class that is used for objects passed to input event handlers concerning mouse input.
Definition InputEvent.h:281
Base class for popup menus.
Definition widgets/PopupMenu.h:52
virtual Sizef getContentSize(void) const
Resizes the popup menu to exactly fit the content that is attached to it.
bool d_fading
true if this popup menu is fading in/out. false if not
Definition widgets/PopupMenu.h:208
float getFadeOutTime(void) const
Get the fade out time for this popup menu.
Definition widgets/PopupMenu.h:82
float d_origAlpha
The original alpha of this window.
Definition widgets/PopupMenu.h:204
virtual void onAlphaChanged(WindowEventArgs &e)
Handler called when the window's alpha blend value is changed.
void setFadeOutTime(float fadetime)
Set the fade out time for this popup menu.
Definition widgets/PopupMenu.h:114
bool d_isOpen
true if this popup menu is open. false if not.
Definition widgets/PopupMenu.h:210
static const String EventNamespace
Namespace for global events.
Definition widgets/PopupMenu.h:57
virtual void onShown(WindowEventArgs &e)
Handler called when the window is shown (made visible).
virtual void onHidden(WindowEventArgs &e)
Handler called when the window is hidden.
float getFadeInTime(void) const
Get the fade in time for this popup menu.
Definition widgets/PopupMenu.h:71
virtual void onMouseButtonDown(MouseEventArgs &e)
Handler called when a mouse button has been depressed within this window's area.
virtual ~PopupMenu(void)
Destructor for PopupMenu objects.
bool isPopupMenuOpen(void) const
Find out if this popup menu is open or closed;.
Definition widgets/PopupMenu.h:89
float d_fadeOutTime
The time in seconds it takes for this popup menu to fade out.
Definition widgets/PopupMenu.h:206
float d_fadeElapsed
The time in seconds this popup menu has been fading.
Definition widgets/PopupMenu.h:205
PopupMenu(const String &type, const String &name)
Constructor for PopupMenu objects.
bool d_fadingOut
true if this popup menu is fading out. false if fading in.
Definition widgets/PopupMenu.h:209
virtual void updateSelf(float elapsed)
Perform actual update processing for this Window.
virtual void onMouseButtonUp(MouseEventArgs &e)
Handler called when a mouse button has been released within this window's area.
void setFadeInTime(float fadetime)
Set the fade in time for this popup menu.
Definition widgets/PopupMenu.h:103
float d_fadeInTime
The time in seconds it takes for this popup menu to fade in.
Definition widgets/PopupMenu.h:207
virtual void onDestructionStarted(WindowEventArgs &e)
Handler called when this window's destruction sequence has begun.
void closePopupMenu(bool notify=true)
Tells the popup menu to close.
static const String WidgetTypeName
Window factory name.
Definition widgets/PopupMenu.h:58
virtual void layoutItemWidgets(void)
Setup size and position for the item widgets attached to this Listbox.
void openPopupMenu(bool notify=true)
Tells the popup menu to open.
String class used within the GUI system.
Definition String.h:64
base class for properties able to do native set/get
Definition TypedProperty.h:50
EventArgs based class that is used for objects passed to handlers triggered for events concerning som...
Definition InputEvent.h:252
Main namespace for Crazy Eddie's GUI Library.
Definition arch_overview.dox:1