omni::ui::WindowHandle

Defined in omni/ui/WindowHandle.h

class WindowHandle

WindowHandle is a handle object to control any of the windows in Kit.

It can be created any time, and if it’s destroyed, the source window doesn’t disappear.

Public Types

enum class DockPosition : uint8_t

Values:

enumerator eLeft
enumerator eRight
enumerator eTop
enumerator eBottom
enumerator eSame

Public Functions

virtual ~WindowHandle()
virtual std::string getTitle() const

The title of the window.

virtual float getPositionX() const

The position of the window in points.

virtual void setPositionX(const float &positionX)

Set the position of the window in points.

virtual float getPositionY() const

The position of the window in points.

virtual void setPositionY(const float &positionY)

Set the position of the window in points.

virtual float getWidth() const

The width of the window in points.

virtual void setWidth(const float &width)

Set the width of the window in points.

virtual float getHeight() const

The height of the window in points.

virtual void setHeight(const float &height)

Set the height of the window in points.

virtual bool isVisible() const

Returns whether the window is visible.

virtual void setVisible(const bool &visible)

Set the visibility of the windows.

It’s the way to hide the window.

virtual bool isDockTabBarVisible() const

Checks if the current docking space has the tab bar.

virtual void setDockTabBarVisible(const bool &visible)

Sets the visibility of the current docking space tab bar.

Unlike disabled, invisible tab bar can be shown with a little triangle in top left corner of the window.

virtual bool isDockTabBarEnabled() const

Checks if the current docking space is disabled.

The disabled docking tab bar can’t be shown by the user.

virtual void setDockTabBarEnabled(const bool &disabled)

Sets the visibility of the current docking space tab bar.

The disabled docking tab bar can’t be shown by the user.

virtual void undock()

Undock the window and make it floating.

virtual void dockIn(const std::shared_ptr<WindowHandle> &window, const DockPosition &dockPosition, float ratio = 0.5)

Dock the window to the existing window.

It can split the window to two parts or it can convert the window to a docking tab.

virtual int32_t getDockOrder() const

The position of the window in the dock.

virtual void setDockOrder(const int32_t &dockOrder)

Set the position of the window in the dock.

virtual bool isDocked() const

True if this window is docked.

False otherwise.

virtual uint32_t getDockId() const

Returns ID of the dock node this window is docked to.

virtual void focus()

Brings the window to the top.

If it’s a docked window, it makes the window currently visible in the dock.

virtual bool isSelectedInDock()

Return true is the window is the current window in the docking area.

virtual void notifyAppWindowChange(omni::kit::IAppWindow *newAppWindow)

Notifies the UI window that the AppWindow it attached to has changed.

Protected Functions

WindowHandle(uint32_t windowId)

Create a handle with the given ID.

Only Workspace can create this object.

bool _isWindowSelectedInDock(void *window)

Given an input window, check if it is the current window in the docking area.

This is to give the API to check if the current window is selected when we already have the window, saving us running the slow _GET_WINDOW.

Protected Attributes

uint32_t m_windowId = 0

Friends

friend class Workspace