Skip to content

WorkspaceWindow

Class for Workspace window object, stores everything what Workspace window need.

#include "GUI/Elements/Windows/WorkspaceWindow.h"

Inherits from IWindow, IStateful, std::enable_shared_from_this< IWindow >

Public Functions

Name
WorkspaceWindow(bool show)
~WorkspaceWindow() override
virtual voidclearGlobal() override<br>Set the global state to some default empty state.
Workspace::WorkspaceDiwne &getNodeEditor()
virtual voidloadGlobal(const Memento & memento) override<br>Load global state from a memento.
virtual voidrender()
virtual MementosaveGlobal() override<br>Save shared global state.

Public Attributes

Name
Application &m_wholeApplication

Additional inherited members

Public Functions inherited from IWindow

Name
IWindow(std::string title, bool show =false)
virtual~IWindow() =default
virtual const char *getID() const =0
WPtr< InputController >getInput()<br>Returns window input controller.
const char *getName()
bool *getShowPtr()
const std::string &getTitle() const
voidhide()
boolisVisible() const
const voidsetTitle(std::string title)
voidshow()

Protected Functions inherited from IWindow

Name
voidupdateWindowInfo()<br>Collect information about the current window.

Public Attributes inherited from IWindow

Name
boolm_autoFocus <br>When true the window will get focus immediately upon hovering over it.
std::stringm_title <br>Visible window title.
boolm_windowInfoUpdated <br>A flag indicating the updateWindowInfo() method was called.
WindowManager *m_windowManager <br>Weak reference to a WindowManager set when this window is added to it.
glm::vec2m_windowMax <br>Bottom right corner of the window.
glm::vec2m_windowMin <br>Top left corner of the window, same as m_windowPos (separate variable for clarity)
glm::vec2m_windowPos <br>Top-left corner of the window in screen coordinates.
glm::ivec2m_windowSize <br>Window width and height dimensions.

Protected Attributes inherited from IWindow

Name
Ptr< InputController >m_input
std::stringm_name <br>Full ImGui window identifier.
boolm_nameNeedsUpdate <br>Workaround to avoid setting the name in the constructor (cannot call getID there)
boolm_show

Friends inherited from IWindow

Name
classWindowManager

Public Functions inherited from IStateful

Name
virtual~IStateful()
MementoemptyMemento()<br>Create an empty memento (rapidjson::Document)

Public Functions Documentation

function WorkspaceWindow

cpp
explicit WorkspaceWindow(
    bool show
)
explicit WorkspaceWindow(
    bool show
)

function ~WorkspaceWindow

cpp
~WorkspaceWindow() override
~WorkspaceWindow() override

function clearGlobal

cpp
virtual void clearGlobal() override
virtual void clearGlobal() override

Set the global state to some default empty state.

Reimplements: IStateful::clearGlobal

function getNodeEditor

cpp
Workspace::WorkspaceDiwne & getNodeEditor()
Workspace::WorkspaceDiwne & getNodeEditor()

function loadGlobal

cpp
virtual void loadGlobal(
    const Memento & memento
) override
virtual void loadGlobal(
    const Memento & memento
) override

Load global state from a memento.

Parameters:

  • memento New global state

Reimplements: IStateful::loadGlobal

function render

cpp
virtual void render()
virtual void render()

Reimplements: IWindow::render

function saveGlobal

cpp
virtual Memento saveGlobal() override
virtual Memento saveGlobal() override

Save shared global state.

Reimplements: IStateful::saveGlobal

Public Attributes Documentation

variable m_wholeApplication

cpp
Application & m_wholeApplication;
Application & m_wholeApplication;

Updated on 2024-11-06 at 20:16:53 +0000