Crazy Eddie's GUI System
0.8.7
MenuBase.h
1
/***********************************************************************
2
created: 5/4/2005
3
author: Tomas Lindquist Olsen (based on code by Paul D Turner)
4
5
purpose: Interface to base class for MenuBase 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 _CEGUIMenuBase_h_
30
#define _CEGUIMenuBase_h_
31
32
#include "../Base.h"
33
#include "../Window.h"
34
#include "./ItemListBase.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
MenuBase
:
public
ItemListBase
52
{
53
public
:
54
static
const
String
EventNamespace
;
55
56
57
/*************************************************************************
58
Event name constants
59
*************************************************************************/
60
// generated internally by Window
65
static
const
String
EventPopupOpened
;
70
static
const
String
EventPopupClosed
;
71
72
73
/*************************************************************************
74
Accessor type functions
75
*************************************************************************/
83
float
getItemSpacing
(
void
)
const
84
{
85
return
d_itemSpacing;
86
}
87
88
96
bool
isMultiplePopupsAllowed
(
void
)
const
97
{
98
return
d_allowMultiplePopups;
99
}
100
108
bool
getAutoCloseNestedPopups
(
void
)
const
109
{
110
return
d_autoCloseNestedPopups;
111
}
112
120
MenuItem
*
getPopupMenuItem
(
void
)
const
121
{
122
return
d_popupItem;
123
}
124
125
126
/*************************************************************************
127
Manipulators
128
*************************************************************************/
133
void
setItemSpacing
(
float
spacing)
134
{
135
d_itemSpacing = spacing;
136
handleUpdatedItemData();
137
}
138
139
147
void
changePopupMenuItem
(
MenuItem
* item);
148
149
154
void
setAllowMultiplePopups
(
bool
setting);
155
160
void
setAutoCloseNestedPopups
(
bool
setting)
161
{
162
d_autoCloseNestedPopups = setting;
163
}
168
void
setPopupMenuItemClosing
();
169
170
171
/*************************************************************************
172
Construction and Destruction
173
*************************************************************************/
178
MenuBase
(
const
String
& type,
const
String
& name);
179
180
185
virtual
~MenuBase
(
void
);
186
187
188
protected
:
189
/*************************************************************************
190
New Event Handlers
191
*************************************************************************/
196
virtual
void
onPopupOpened
(
WindowEventArgs
& e);
197
198
203
virtual
void
onPopupClosed
(
WindowEventArgs
& e);
204
205
// overridden from base
206
virtual
void
onChildRemoved
(
ElementEventArgs
& e);
207
virtual
void
onHidden
(
WindowEventArgs
& e);
208
209
/*************************************************************************
210
Implementation Data
211
*************************************************************************/
212
float
d_itemSpacing
;
213
214
MenuItem
*
d_popupItem
;
215
bool
d_allowMultiplePopups
;
216
bool
d_autoCloseNestedPopups
;
217
218
219
private
:
220
/*************************************************************************
221
Private methods
222
*************************************************************************/
223
void
addMenuBaseProperties(
void
);
224
};
225
226
}
// End of CEGUI namespace section
227
228
229
#if defined(_MSC_VER)
230
# pragma warning(pop)
231
#endif
232
233
#endif // end of guard _CEGUIMenuBase_h_
CEGUI::MenuBase::d_popupItem
MenuItem * d_popupItem
The currently open MenuItem. NULL if no item is open. If multiple popups are allowed,...
Definition:
MenuBase.h:214
CEGUI::MenuBase::onChildRemoved
virtual void onChildRemoved(ElementEventArgs &e)
Handler called when a child window is removed from this window.
CEGUI::MenuBase::getAutoCloseNestedPopups
bool getAutoCloseNestedPopups(void) const
Return whether this menu should close all its open child popups, when it gets hidden.
Definition:
MenuBase.h:108
CEGUI::MenuBase::d_itemSpacing
float d_itemSpacing
The spacing in pixels between items.
Definition:
MenuBase.h:212
CEGUI::MenuBase::setPopupMenuItemClosing
void setPopupMenuItemClosing()
tells the current popup that it should start its closing timer.
CEGUI::MenuBase::onPopupClosed
virtual void onPopupClosed(WindowEventArgs &e)
handler invoked internally when the a MenuItem attached to this menu closes its popup.
CEGUI::MenuBase::MenuBase
MenuBase(const String &type, const String &name)
Constructor for MenuBase objects.
CEGUI::ElementEventArgs
EventArgs based class that is used for objects passed to handlers triggered for events concerning som...
Definition:
Element.h:211
CEGUI::MenuBase::getItemSpacing
float getItemSpacing(void) const
Get the item spacing for this menu.
Definition:
MenuBase.h:83
CEGUI::MenuBase::onPopupOpened
virtual void onPopupOpened(WindowEventArgs &e)
handler invoked internally when the a MenuItem attached to this menu opens its popup.
CEGUI
Main namespace for Crazy Eddie's GUI Library.
Definition:
arch_overview.dox:1
CEGUI::MenuBase::d_allowMultiplePopups
bool d_allowMultiplePopups
true if multiple popup menus are allowed simultaneously. false if not.
Definition:
MenuBase.h:215
CEGUI::WindowEventArgs
EventArgs based class that is used for objects passed to handlers triggered for events concerning som...
Definition:
InputEvent.h:252
CEGUI::MenuBase::onHidden
virtual void onHidden(WindowEventArgs &e)
Handler called when the window is hidden.
CEGUI::MenuItem
Base class for menu items.
Definition:
widgets/MenuItem.h:50
CEGUI::MenuBase::setAutoCloseNestedPopups
void setAutoCloseNestedPopups(bool setting)
Set whether the menu should close all its open child popups, when it gets hidden.
Definition:
MenuBase.h:160
CEGUI::MenuBase::changePopupMenuItem
void changePopupMenuItem(MenuItem *item)
Change the currently open MenuItem in this menu.
CEGUI::MenuBase::EventNamespace
static const String EventNamespace
Namespace for global events.
Definition:
MenuBase.h:54
CEGUI::MenuBase::setAllowMultiplePopups
void setAllowMultiplePopups(bool setting)
Set whether this menu allows multiple popup menus to be opened simultaneously.
CEGUI::MenuBase::d_autoCloseNestedPopups
bool d_autoCloseNestedPopups
true if the menu should close all its open child popups, when it gets hidden
Definition:
MenuBase.h:216
CEGUI::MenuBase::isMultiplePopupsAllowed
bool isMultiplePopupsAllowed(void) const
Return whether this menu allows multiple popup menus to open at the same time.
Definition:
MenuBase.h:96
CEGUI::MenuBase::getPopupMenuItem
MenuItem * getPopupMenuItem(void) const
Get currently opened MenuItem in this menu. Returns NULL if no menu item is open.
Definition:
MenuBase.h:120
CEGUI::MenuBase::EventPopupOpened
static const String EventPopupOpened
Definition:
MenuBase.h:65
CEGUI::MenuBase::EventPopupClosed
static const String EventPopupClosed
Definition:
MenuBase.h:70
CEGUI::String
String class used within the GUI system.
Definition:
String.h:64
CEGUI::MenuBase::~MenuBase
virtual ~MenuBase(void)
Destructor for MenuBase objects.
CEGUI::ItemListBase
Base class for item list widgets.
Definition:
ItemListBase.h:79
CEGUI::MenuBase
Abstract base class for menus.
Definition:
MenuBase.h:52
CEGUI::MenuBase::setItemSpacing
void setItemSpacing(float spacing)
Set the item spacing for this menu.
Definition:
MenuBase.h:133
cegui
include
CEGUI
widgets
MenuBase.h
Generated by
1.8.20