40 #ifndef _uiuimanager_h
41 #define _uiuimanager_h
43 #include "entresolmanager.h"
44 #include "entresolmanagerfactory.h"
45 #include "singleton.h"
47 #include "Input/metacode.h"
62 class TextureAtlasHandler;
229 Boole FocusIsLocked()
const;
245 void LoadMTA(
const String& Name,
const String& Group =
"UI");
259 void DestroyAllAtlases();
283 Whole GetNumScreens()
const;
289 void DestroyAllScreens();
297 void ShowAllScreens(
Screen* Exclude = NULL);
304 void HideAllScreens(
Screen* Exclude = NULL);
335 void EnableButtonAutoRegister(
Boole Enable);
338 Boole ButtonAutoRegisterEnabled()
const;
349 void RemoveAllAutoRegisterCodes();
352 const InputContainer& GetAutoRegisteredCodes()
const;
365 Boole IsMarkupParserRegistered(
const String& ParserName)
const;
372 void UnregisterMarkupParser(
const String& ParserName);
374 void UnregisterAllMarkupParsers();
377 void DestroyMarkupParser(
const String& ParserName);
379 void DestroyAllMarkupParsers();
386 Widget* GetHoveredWidget()
const;
391 Widget* GetWidgetFocus()
const;
412 Boole MouseIsInUISystem()
const;
417 FontResult SuggestGlyphIndex(
const Whole& Height,
const String& Atlas);
420 virtual void UpdateScreens();
423 virtual void Initialize();
425 virtual void Deinitialize();
437 virtual String GetImplementationTypeName()
const;
454 String GetManagerImplName()
const;
Widget * WidgetFocus
A pointer to the widget that is currently holding the focus.
InputContainer::iterator InputIterator
Iterator type for Input::MetaCode instances stored by this class.
MarkupParserContainer::iterator MarkupParserIterator
Iterator type for MarkupParser instances stored by this class.
bool Boole
Generally acts a single bit, true or false.
Default implementation of WorkUnit. This represents on piece of work through time.
ManagerType
A listing of Manager Types.
static const ManagerBase::ManagerType InterfaceType
A ManagerType enum value used to describe the type of interface/functionality this manager provides...
This is a base class for factories that construct managers used by the Entresol class.
std::map< String, MarkupParser * > MarkupParserContainer
Basic container type for MarkupParser storage by this class.
WidgetUpdateWorkUnit * WidgetUpdateWork
The work unit that updates all of the widgets in the UI system.
TextureAtlasHandler * AtlasHandler
A pointer to the class responsible for Atlas tasks in the UI system.
This is a collection of smaller textures packed into a larger texture, intended to increase UI perfor...
static const String ImplementationName
A String containing the name of this manager implementation.
HotKeyHandler * HKHandler
A pointer to the class responsible for HotKey tasks in the UI system.
Boole ButtonAutoRegister
Stores whether or not newly created buttons will have activation codes binded to them automatically...
std::vector< Input::MetaCode > InputContainer
Basic container type for Input::MetaCode storage by this class.
InputContainer::const_iterator ConstInputIterator
Const Iterator type for Input::MetaCode instances stored by this class.
ScreenContainer Screens
A container storing all the Screens created in the UI system.
Input::MetaCode FocusLockCode
Stores the Input that locked the current focus.
A thread specific collection of double-buffered and algorithm specific resources. ...
ScreenContainer::const_reverse_iterator ConstReverseScreenIterator
Const Reverse Iterator type for Screen instances stored by this class.
uint16_t UInt16
An 16-bit unsigned integer.
This class is for creating and managing viewports within a game window.
This is the base class for all managers that do no describe properties of a single world...
ScreenContainer::const_iterator ConstScreenIterator
Const Iterator type for Screen instances stored by this class.
A light-weight handle for manipulating nodes in DOM tree.
ScreenContainer::iterator ScreenIterator
Iterator type for Screen instances stored by this class.
This is used to represent a point on a 2 dimentional area, such as a screen.
This class is responsible for the registration and handling of hotkeys in the UI system.
MarkupParserContainer::const_iterator ConstMarkupParserIterator
Const Iterator type for MarkupParser instances stored by this class.
std::vector< UI::Screen * > ScreenContainer
Basic container type for Screen storage by this class.
std::list< NameValuePair > NameValuePairList
This is a datatype mostly used for describing settings or parameters that can't be declared in advanc...
A factory responsible for the creation and destruction of the default uimanager.
Widget * HoveredWidget
A pointer to the current widget in the UI system the mouse is hovered over.
std::pair< String, Real > FontResult
An std::pair type for returning the result of a font suggestion.
This class is responsible for any and all user interactions with the User interface/HUD.
The bulk of the engine components go in this namspace.
unsigned long Whole
Whole is an unsigned integer, it will be at least 32bits in size.
This is a base class for the parsing of markup texts contained in text layers.
This handles the creation, storage and overall handling of Texture Atlases.
MarkupParserContainer MarkupParsers
A container storing all the registered/known markup parsers.
Boole MouseMoved
Stores whether or not the mouse moved since the last time the UI was updated.
This class is a helper class for creating UI's. It is responsible for storing and keeping track of al...
std::string String
A datatype used to a series of characters.
Threading::DefaultThreadSpecificStorage::Type * ThreadResources
Can be used for thread safe logging and other thread specific resources.
ScreenContainer::reverse_iterator ReverseScreenIterator
Reverse Iterator type for Screen instances stored by this class.
This file has the definition of the workunit.
InputContainer InjectedInputs
A container storing all of the Inputs generated/tracked during the last UI update.
InputContainer AutoRegisterCodes
A container storing all of the Inputs buttons will be set to activate in response to...