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)
151 void destroyWindow(
Window* window);
166 void destroyWindow(
const String& window);
194 bool isWindowPresent(
const String& name)
const;
206 void destroyAllWindows(
void);
239 Window* loadWindowLayout(
const String& filename,
const String& name_prefix =
"",
const String& resourceGroup =
"", PropertyCallback* callback = 0,
void* userdata = 0);
241 Window* loadWindowLayout(
const String& filename,
bool generateRandomPrefix);
251 bool isDeadPoolEmpty(
void)
const;
264 void cleanDeadPool(
void);
283 void writeWindowLayoutToStream(
const Window& window,
OutStream& out_stream,
bool writeParent =
false)
const;
302 void writeWindowLayoutToStream(
const String& window,
OutStream& out_stream,
bool writeParent =
false)
const;
320 void renameWindow(
const String& window,
const String& new_name);
335 void renameWindow(
Window* window,
const String& new_name);
345 static const String& getDefaultResourceGroup()
346 {
return d_defaultResourceGroup; }
358 static void setDefaultResourceGroup(
const String& resourceGroup)
359 { d_defaultResourceGroup = resourceGroup; }
369 String generateUniqueWindowName();
371 String generateUniqueWindowPrefix();
376 static const char GUILayoutSchemaName[];
382 typedef std::map<String, Window*, String::FastLessCompare> WindowRegistry;
383 typedef std::vector<Window*> WindowVector;
385 WindowRegistry d_windowRegistry;
386 WindowVector d_deathrow;
388 unsigned long d_uid_counter;
389 static String d_defaultResourceGroup;
401 WindowIterator getIterator(
void)
const;
413 void DEBUG_dumpWindowNames(
String zone);
418 #if defined(_MSC_VER)
419 # pragma warning(pop)
422 #endif // end of guard _CEGUIWindowManager_h_