Polyphase Game Engine
Loading...
Searching...
No Matches
WindowManager.h
Go to the documentation of this file.
1#pragma once
2
3#include "EngineTypes.h"
4#include <unordered_map>
5#include <string>
6
7class Window;
8
10{
11public:
12
13 static void Create();
14 static void Destroy();
15 static WindowManager* Get();
16
17 void Initialize();
18 void Shutdown();
19
20 // Registration
21 void RegisterWindow(const std::string& id, Window* window);
22 void UnregisterWindow(const std::string& id);
23 void UnregisterWindow(Window* window);
24
25 // Lookup
26 Window* FindWindow(const std::string& id);
27 bool HasWindow(const std::string& id) const;
28
29 // Control by ID
30 void ShowWindow(const std::string& id);
31 void HideWindow(const std::string& id);
32 void CloseWindow(const std::string& id);
33 void BringToFront(const std::string& id);
34
35 // Query
36 const std::unordered_map<std::string, Window*>& GetAllWindows() const;
37
38private:
39
40 static WindowManager* sInstance;
41
44
45 std::unordered_map<std::string, Window*> mWindowMap;
46};
Definition WindowManager.h:10
void Initialize()
Definition WindowManager.cpp:36
void CloseWindow(const std::string &id)
Definition WindowManager.cpp:121
const std::unordered_map< std::string, Window * > & GetAllWindows() const
Definition WindowManager.cpp:141
void Shutdown()
Definition WindowManager.cpp:41
void ShowWindow(const std::string &id)
Definition WindowManager.cpp:103
void HideWindow(const std::string &id)
Definition WindowManager.cpp:112
void BringToFront(const std::string &id)
Definition WindowManager.cpp:130
static void Destroy()
Definition WindowManager.cpp:14
void UnregisterWindow(const std::string &id)
Definition WindowManager.cpp:62
bool HasWindow(const std::string &id) const
Definition WindowManager.cpp:98
void RegisterWindow(const std::string &id, Window *window)
Definition WindowManager.cpp:46
Window * FindWindow(const std::string &id)
Definition WindowManager.cpp:88
static WindowManager * Get()
Definition WindowManager.cpp:23
static void Create()
Definition WindowManager.cpp:8
Definition Window.h:22