class EditorRenderWindows

Manages that handles creation, destruction and updates of editor windows.

Public

Constructors

EditorRenderWindows

EditorRenderWindows()

Methods

~EditorRenderWindows

~EditorRenderWindows() noexcept

CreateMain

MainEditorWindow *CreateMain(const SPtr<RenderWindow> &parentRenderWindow)

Creates the main editor window using a previously created render window.

If a main window already exists, this will return the existing instance.

Create

Creates a new editor window.

There is no limit on the number of editor windows.

RegisterWindow

void RegisterWindow(EditorRenderWindow *window)

Notifies the manager that a new editor window was created.

Destroy

void Destroy(EditorRenderWindow *window)

Schedules the window for destruction.

Actual destruction will happen on next update.

GetMainWindow

MainEditorWindow *GetMainWindow() const

Returns the main editor window, or null if one doesn't exist.

Update

void Update()

Update to be called once per frame.

Calls update on all active editor windows.

HasFocus

bool HasFocus() const

Checks if any editor window has keyboard focus.

ShowWindows

void ShowWindows()

By default all windows are created as hidden.

After this method is called all windows will be shown, and any new windows will be shown by default.

AreNewWindowsHidden

bool AreNewWindowsHidden() const

Checks if new editor windows should be created hidden.

staticInstance

static T &Instance()

Returns a reference to the module instance.

Module has to have been started up first otherwise an exception will be thrown.

staticInstancePtr

static T *InstancePtr()

Returns a pointer to the module instance.

Module has to have been started up first otherwise an exception will be thrown.

staticShutDown

static void ShutDown()

Shuts down this module and frees any resources it is using.

staticIsStarted

static bool IsStarted()

Query if the module has been started.

Protected

Methods

~Module<T>

virtual ~Module<T>() = default

OnStartUp

virtual void OnStartUp()

Override if you want your module to be notified once it has been constructed and started.

OnShutDown

virtual void OnShutDown()

Override if you want your module to be notified just before it is deleted.

staticInstanceInternal

static T *&InstanceInternal()

Returns a singleton instance of this module.

staticIsDestroyed

static bool &IsDestroyed()

Checks has the Module been shut down.

staticIsStartedUp

static bool &IsStartedUp()

Checks has the Module been started up.

Fields

mNewWindowsHidden

bool mNewWindowsHidden

mMainWindow

MainEditorWindow * mMainWindow

mEditorWindows

Vector<EditorRenderWindow *> mEditorWindows

mScheduledForDestruction

Vector<EditorRenderWindow *> mScheduledForDestruction

mEditorWindowsSnapshot

Vector<EditorRenderWindow *> mEditorWindowsSnapshot