30 #ifndef _CEGUIWindowManager_h_
31 #define _CEGUIWindowManager_h_
33 #include "CEGUIBase.h"
34 #include "CEGUIString.h"
35 #include "CEGUISingleton.h"
36 #include "CEGUILogger.h"
37 #include "CEGUIIteratorBase.h"
42 # pragma warning(push)
43 # pragma warning(disable : 4275)
44 # pragma warning(disable : 4251)
153 void destroyWindow(
Window* window);
168 void destroyWindow(
const String& window);
196 bool isWindowPresent(
const String& name)
const;
208 void destroyAllWindows(
void);
256 Window* loadWindowLayout(
const String& filename,
const String& name_prefix =
"",
const String& resourceGroup =
"", PropertyCallback* callback = 0,
void* userdata = 0);
258 Window* loadWindowLayout(
const String& filename,
bool generateRandomPrefix);
268 bool isDeadPoolEmpty(
void)
const;
281 void cleanDeadPool(
void);
300 void writeWindowLayoutToStream(
const Window& window,
OutStream& out_stream,
bool writeParent =
false)
const;
319 void writeWindowLayoutToStream(
const String& window,
OutStream& out_stream,
bool writeParent =
false)
const;
337 void renameWindow(
const String& window,
const String& new_name);
352 void renameWindow(
Window* window,
const String& new_name);
362 static const String& getDefaultResourceGroup()
363 {
return d_defaultResourceGroup; }
375 static void setDefaultResourceGroup(
const String& resourceGroup)
376 { d_defaultResourceGroup = resourceGroup; }
424 bool isLocked()
const;
434 String generateUniqueWindowName();
436 String generateUniqueWindowPrefix();
441 static const char GUILayoutSchemaName[];
447 typedef std::map<String, Window*, String::FastLessCompare> WindowRegistry;
448 typedef std::vector<Window*> WindowVector;
450 WindowRegistry d_windowRegistry;
451 WindowVector d_deathrow;
453 unsigned long d_uid_counter;
454 static String d_defaultResourceGroup;
480 void DEBUG_dumpWindowNames(
String zone);
485 #if defined(_MSC_VER)
486 # pragma warning(pop)
489 #endif // end of guard _CEGUIWindowManager_h_