Crazy Eddie's GUI System
0.8.7
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
44
namespace
CEGUI
45
{
46
51
class
CEGUIEXPORT PopupMenu :
public
MenuBase
52
{
53
public
:
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
154
protected
:
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
*************************************************************************/
193
virtual
void
onAlphaChanged(
WindowEventArgs
& e);
194
virtual
void
onDestructionStarted(
WindowEventArgs
& e);
195
virtual
void
onShown(
WindowEventArgs
& e);
196
virtual
void
onHidden(
WindowEventArgs
& e);
197
virtual
void
onMouseButtonDown(
MouseEventArgs
& e);
198
virtual
void
onMouseButtonUp(
MouseEventArgs
& e);
199
200
201
/*************************************************************************
202
Implementation Data
203
*************************************************************************/
204
float
d_origAlpha;
205
float
d_fadeElapsed;
206
float
d_fadeOutTime;
207
float
d_fadeInTime;
208
bool
d_fading;
209
bool
d_fadingOut;
210
bool
d_isOpen;
211
212
213
private
:
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_
CEGUI
Main namespace for Crazy Eddie's GUI Library.
Definition:
arch_overview.dox:1
CEGUI::MouseEventArgs
EventArgs based class that is used for objects passed to input event handlers concerning mouse input.
Definition:
InputEvent.h:306
CEGUI::WindowEventArgs
EventArgs based class that is used for objects passed to handlers triggered for events concerning som...
Definition:
InputEvent.h:277
CEGUI::PopupMenu
Base class for popup menus.
Definition:
widgets/PopupMenu.h:77
CEGUI::Size< float >
CEGUI::String
String class used within the GUI system.
Definition:
String.h:88
cegui
include
CEGUI
widgets
PopupMenu.h
Generated by
1.8.17