35 #ifndef _GUIManager_H__ 36 #define _GUIManager_H__ 44 #if CEGUI_VERSION >= 0x000800 45 # include <CEGUI/ForwardRefs.h> 46 # include <CEGUI/Version.h> 48 # include <CEGUIForwardRefs.h> 49 # include <CEGUIVersion.h> 59 #if CEGUI_VERSION_MAJOR < 1 && CEGUI_VERSION_MINOR < 7 60 # define ORXONOX_OLD_CEGUI 96 GUIManager(
const std::pair<int, int>& mousePosition);
103 void setConfigValues(
void);
104 void changedGUIScheme(
void);
106 void preUpdate(
const Clock& time);
108 std::vector<std::string> getLoadedGUIs();
111 static void showGUI(
const std::string& name,
bool bHidePrevious =
false,
bool bNoInput =
false);
112 void showGUIExtra(
const std::string& name,
const std::string& ptr,
bool bHidePrevious =
false,
bool bNoInput =
false);
114 static void toggleGUI(
const std::string& name,
bool bHidePrevious =
false,
bool bNoInput =
false);
115 void toggleGUIHelper(
const std::string& name,
bool bHidePrevious,
bool bNoInput,
bool show);
121 static bool inDevMode(
void);
126 {
return this->luaState_; }
133 void setCamera(Ogre::Camera* camera);
137 { this->players_[guiname] = player; }
138 inline orxonox::PlayerInfo*
getPlayer(
const std::string& guiname)
const { std::map<std::string, PlayerInfo*>::const_iterator it = this->players_.find(guiname);
return (it != this->players_.end()) ? it->second :
nullptr; }
142 static void setTooltipTextHelper(CEGUI::ListboxItem* item,
const std::string& toooltip);
143 static void setItemTooltipsEnabledHelper(CEGUI::Listbox* listbox,
bool enabled);
145 static float getFontTextExtent(
const CEGUI::Font* font,
const std::string& text,
float x_scale = 1.0f);
162 template <
typename FunctionType,
typename ObjectType>
163 bool protectedCall(FunctionType
function, ObjectType
object);
165 template <
typename FunctionType>
166 bool protectedCeguiSystemCall(FunctionType
function);
168 #if CEGUI_VERSION >= 0x000800 169 template <
typename FunctionType>
170 bool protectedCeguiContextCall(FunctionType
function);
173 void changedCeguiOutputLevel();
176 virtual void buttonPressed (
const KeyEvent& evt)
override;
177 virtual void buttonReleased(
const KeyEvent& evt)
override;
183 virtual void mouseScrolled (
int abs,
int rel)
override;
187 virtual void windowResized(
unsigned int newWidth,
unsigned int newHeight)
override;
188 virtual void windowFocusChanged(
bool bFocus)
override;
190 #ifdef ORXONOX_OLD_CEGUI 194 CEGUI::OgreRenderer* guiRenderer_;
195 CEGUI::OgreResourceProvider* resourceProvider_;
196 Ogre::RenderQueueListener* rqListener_;
197 CEGUI::OgreImageCodec* imageCodec_;
CEGUI::Window * hudRootWindow_
Root node for the HUD sheets.
Definition: GUIManager.h:206
CEGUI::Window * menuRootWindow_
Root node for the menu sheets (used by Lua)
Definition: GUIManager.h:207
DestructionHelper< GUIManager > destructionHelper_
Helper object that executes the surrogate destructor destroy()
Definition: GUIManager.h:212
Provides a simple interface to CEGUI with tolua methods and console commands.
Definition: GUIManager.h:91
CEGUI::System * guiSystem_
CEGUI's main system.
Definition: GUIManager.h:201
Ogre::Camera * getCamera()
Definition: GUIManager.h:134
CEGUI::ResourceProvider * resourceProvider_
CEGUI's resource provider.
Definition: GUIManager.h:192
CEGUI::Window * rootWindow_
Root node for all windows.
Definition: GUIManager.h:205
int numScrollLines_
How many lines to scroll in a list if the scroll wheel is used.
Definition: GUIManager.h:221
LuaState * getLuaState(void)
Definition: GUIManager.h:125
Shared library macros, enums, constants and forward declarations for the core library ...
::std::string string
Definition: gtest-port.h:756
Structure to describe a single event.
Definition: ScriptController.h:42
LuaState * luaState_
LuaState, access point to the Lua engine.
Definition: GUIManager.h:199
bool usingOldCEGUI(void)
Check whether CEGUI is version < 0.7.
Definition: GUIManager.h:153
Interface for receiving window events like resize, moved and focusChanged.
Definition: WindowEventListener.h:43
Representation of an interface to lua.
Definition: LuaState.h:74
bool oldCEGUI_
Definition: GUIManager.h:219
The MetaPickup destroys all the PickupCarriers' Pickupables.
std::map< std::string, PlayerInfo * > players_
Stores the player (owner) for each GUI.
Definition: GUIManager.h:208
Renderer class to interface with Ogre engine.
Definition: OgreCEGUIRenderer.h:104
bool bPreloadMenuSheets_
If true, menu sheets are pre-loaded during startup.
Definition: GUIManager.h:222
static const std::string defaultScheme_
Definition: GUIManager.h:217
CEGUI::LuaScriptModule * scriptModule_
CEGUI's script module to use Lua.
Definition: GUIManager.h:200
orxonox::PlayerInfo * getPlayer(const std::string &guiname) const
Definition: GUIManager.h:138
Base for singleton classes.
Definition: Singleton.h:114
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
#define _CoreExport
Definition: CorePrereqs.h:61
Utility class that helps to create a special kind of destructor that also executes if the destruction...
Definition: DestructionHelper.h:75
CEGUI::OgreCEGUIRenderer * guiRenderer_
CEGUI's interface to the Ogre Engine.
Definition: GUIManager.h:191
A 3-state boolean type.
Definition: tribool.h:38
Event argument for key events.
Definition: InputHandler.h:76
CEGUI::Logger * ceguiLogger_
CEGUI's logger to be able to log CEGUI errors in our log.
Definition: GUIManager.h:203
std::string guiScheme_
Definition: GUIManager.h:218
A Vector class containing two integers x and y.
Definition: InputHandler.h:37
std::shared_ptr< ResourceInfo > rootFileInfo_
Resource information about the root script.
Definition: GUIManager.h:202
void setPlayer(const std::string &guiname, PlayerInfo *player)
Definition: GUIManager.h:136
static GUIManager * singletonPtr_s
Singleton reference to GUIManager.
Definition: GUIManager.h:214
CEGUI::Window * getHUDRootWindow()
Returns the root window for all HUD sheets.
Definition: GUIManager.h:131
Definition of the Singleton template that is used as base class for classes that allow only one insta...
Simple real time clock based on Ogre::Timer.
Definition: Clock.h:57
Definition: PlayerInfo.h:39
int outputLevelCeguiLog_
CEGUI's log level.
Definition: GUIManager.h:204
static T & getInstance()
Returns a reference to the singleton instance.
Definition: Singleton.h:118
Ogre::Camera * camera_
Camera used to render the scene with the GUI.
Definition: GUIManager.h:209
CEGUI::Window * getMenuRootWindow()
Returns the root window for all menu sheets.
Definition: GUIManager.h:129
static bool preloadMenuSheets()
Definition: GUIManager.h:120
static GUIManager & getInstance()
Definition: GUIManager.h:147