Workspace#
Fully qualified name: omni::ui::Workspace
Classes#
- AppWindow
- Singleton that tracks the current application window. 
- AppWindowGuard
- Guard that pushes the current application window to class AppWindow when created and pops when destroyed. 
- 
class Workspace#
- Workspace object provides access to the windows in Kit. - TODO: It’s more like a namespace because all the methods are static. But the idea is to have it as a singleton, and it will allow using it as the abstract factory for many systems (Kit full and Kit mini for example). - Public Functions - 
Workspace() = delete#
 - Public Static Functions - 
static float getDpiScale()#
- Returns current DPI Scale. 
 - 
static std::vector<std::shared_ptr<WindowHandle>> getWindows()#
- Returns the list of windows ordered from back to front. - If the window is a Omni::UI window, it can be upcasted. 
 - static std::shared_ptr<WindowHandle> getWindow(
- const std::string &title,
- Find Window by name. 
 
 - static std::shared_ptr<WindowHandle> getWindowFromCallback(
- const windowmanager::IWindowCallback *callback,
- Find Window by window callback. 
 
 - const std::shared_ptr<WindowHandle> &member,
- Get all the windows that docked with the given widow. 
 
 - 
static uint32_t getSelectedWindowIndex(uint32_t dockId)#
- Get currently selected window inedx from the given dock id. 
 - 
static void clear()#
- Undock all. 
 - 
static float getMainWindowWidth()#
- Get the width in points of the current main window. - Returns 0 if no main window is found. 
 - 
static float getMainWindowHeight()#
- Get the height in points of the current main window. - Returns 0 if no main window is found. 
 - static std::vector<std::shared_ptr<WindowHandle>> getDockedWindows(
- uint32_t dockId,
- Get all the windows of the given dock ID. 
 
 - 
static uint32_t getParentDockId(uint32_t dockId)#
- Return the parent Dock Node ID. - Parameters:
- dockId – the child Dock Node ID to get parent 
 
 - static bool getDockNodeChildrenId(
- uint32_t dockId,
- uint32_t &first,
- uint32_t &second,
- Get two dock children of the given dock ID. - Parameters:
- dockId – the given dock ID 
- first – output. the first child dock ID 
- second – output. the second child dock ID 
 
- Returns:
- true if the given dock ID has children 
 
 
 - 
static WindowHandle::DockPosition getDockPosition(uint32_t dockId)#
- Returns the position of the given dock ID. - Left/Right/Top/Bottom 
 - 
static float getDockIdWidth(uint32_t dockId)#
- Returns the width of the docking node. - Parameters:
- dockId – the given dock ID 
 
 - 
static float getDockIdHeight(uint32_t dockId)#
- Returns the height of the docking node. - It’s different from the window height because it considers dock tab bar. - Parameters:
- dockId – the given dock ID 
 
 - 
static void setDockIdWidth(uint32_t dockId, float width)#
- Set the width of the dock node. - It also sets the width of parent nodes if necessary and modifies the width of siblings. - Parameters:
- dockId – the given dock ID 
- width – the given width 
 
 
 - 
static void setDockIdHeight(uint32_t dockId, float height)#
- Set the height of the dock node. - It also sets the height of parent nodes if necessary and modifies the height of siblings. - Parameters:
- dockId – the given dock ID 
- height – the given height 
 
 
 - 
static bool showWindow(const std::string &title, bool show = true)#
- Makes the window visible or create the window with the callback provided with set_show_window_fn. - Parameters:
- title – the given window title 
- show – true to show, false to hide 
 
- Returns:
- true if the window is already created, otherwise it’s necessary to wait one frame 
 
 - std::function<void(const std::shared_ptr<WindowHandle> &window)> windowCreatedCallbackFn,
- Addd the callback that is triggered when a new window is created. 
 
 - static void setShowWindowFn(
- const std::string &title,
- std::function<void(bool)> showWindowFn,
- Add the callback to create a window with the given title. - When the callback’s argument is true, it’s necessary to create the window. Otherwise remove. 
 
 - static uint32_t setWindowVisibilityChangedCallback(
- std::function<void(const std::string &title, bool visible)> windowVisibilityChangedCallbackFn,
- Add the callback that is triggered when a window’s visibility changed. 
 
 - 
static void removeWindowVisibilityChangedCallback(uint32_t id)#
- Remove the callback that is triggered when a window’s visibility changed. 
 - static void onWindowVisibilityChanged(
- const std::string &title,
- bool visible,
- Call it from inside each windows’ setVisibilityChangedFn to triggered VisibilityChangedCallback. 
 
 - 
class AppWindow#
- Singleton that tracks the current application window. 
 
- 
Workspace() = delete#