RSX Code Reference
    Preparing search index...

    Class KeyWindow

    The KeyWindow implements a primary window that acts as a container to which content gets added to in the RSX editor. Each key window must have a very well defined semantic, for instance the SceneKeyWindow allows the user view and edit a scene whereas.

    A key window by default is empty and only hosts a dockable content area. Content gets added by adding DockableEditorWindow to the dock area of the key window.

    Key Windows can be joined together into a KeyWindowContainerWindow with tabs and can also be undocked. Once a key window gets undock, it will get its own container window.

    Hierarchy (View Summary)

    Index
    • get dpiScale(): number

      Returns the DPI scale factor.

      Returns number

      The DPI scale is in relation to a 1x base resolution of 75 DPI.

    • get height(): number

      Sets the height of the window in points.

      Returns number

    • set height(value: number): void

      Parameters

      • value: number

      Returns void

    • get heightInPixels(): number

      Sets the height of the window in pixels.

      Returns number

    • set heightInPixels(value: number): void

      Parameters

      • value: number

      Returns void

    • get icon(): Image

      Gets the icon for the window.

      Returns Image

    • set icon(value: Image): void

      Gets the icon for the window.

      Parameters

      Returns void

    • get isActive(): boolean

      Determines if the key window's tab is visible.

      Returns boolean

    • set isActive(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get isDestroyed(): boolean

      Determines whether the window has been destroyed or not.

      Returns boolean

    • get isFocused(): boolean

      Checks whether the window currently has keyboard focus.

      Returns boolean

    • set isFocused(value: boolean): void

      Parameters

      • value: boolean

      Returns void

    • get keyWindow(): KeyWindowBase

      Gets the key window which owns this window.

      Returns KeyWindowBase

    • get left(): number

      Returns the X position of the window in screen coordinates in points.

      Returns number

    • get localShortcutContext(): ShortcutContext

      Specifies the local shortcut context. This context will be automatically disabled whenever the user switches focus from the context.

      Returns ShortcutContext

    • get owningContainerWindow(): EditorWindow

      Gets the window of the owning container. The owning container is window that serves as the host for one or multiple key windows.

      Returns EditorWindow

    • get renderWindow(): RenderWindow

      Gets the RenderWindow associated with this EditorWindow.

      Returns RenderWindow

    • get shortcutContext(): ShortcutContext

      Specifies the global shortcut context. This context will be always enabled as long as the window is active.

      Returns ShortcutContext

    • get styleSheet(): StyleSheet

      Sets the stylesheet for this window's UI surface.

      Returns StyleSheet

    • set styleSheet(value: StyleSheet): void

      Sets the stylesheet for this window's UI surface.

      Parameters

      Returns void

    • get toolBar(): UIToolBar

      Gets the primary tool bar element.

      Returns UIToolBar

    • get top(): number

      Returns the X position of the window in screen coordinates in points.

      Returns number

    • get ui(): UIPanel

      Returns UIPanel

    • get undoRedo(): UndoRedo

      Get the local undo redo of the key window.

      Returns UndoRedo

    • get width(): number

      Sets the width of the window in points.

      Returns number

    • set width(value: number): void

      Parameters

      • value: number

      Returns void

    • get widthInPixels(): number

      Sets the width of the window in pixels.

      Returns number

    • set widthInPixels(value: number): void

      Parameters

      • value: number

      Returns void

    • get windowTitle(): I18N

      Determines the human name to display on the window title or it's tab.

      Returns I18N

      A string that contains a human readable name for the key window.

    • set windowTitle(value: I18N): void

      Parameters

      Returns void

    • get current(): KeyWindow

      The currently active key window. Usually this value is null, but can be set to the current window inside an Update call or when calling an event callback for menu or toolbar items.

      Returns KeyWindow

    • Centers the window within it's parent window.

      Returns void

    • Virtual

      Closes the key window.

      Returns void

    • Creates a new EditorWindow for usage on this KeyWindow. If the window was already opened before, the window won't be made visible.

      Parameters

      • windowType: Type

        The type of the editor window to be created.

      Returns DockableEditorWindow

      The newly created editor window.

    • Creates the KeyWindowTutorial instance for the key window.

      Returns () => KeyWindowTutorial

      The KeyWindowTutorial instance or null if the key window does not support tutorials.

      This method is called after the onInitialize method, so all buttons and elements should already be created that are required for the tutorial. If the key window requires dynamic resolution of references for the tutorial, the KeyWindowTutorial must be subclasses and the onResolveTutorialElement method must be overridden.

    • Virtual

      A method called internally after the last action is redone.

      Returns void

    • Virtual

      A method called internally after the last action is undone.

      Returns void

    • Docks the specified window to the key window. If the window does not exist yet, a new instance will be created.

      Type Parameters

      Parameters

      • type: ClassOf<T>

        Type of window to dock.

      • Optionallocation: EnumValue<DockLocation>

        The dock location.

      • Optionalreference: DockableEditorWindow

        The reference window. The location will determine how and where the new window will be docked.

      • OptionalrelativeSize: number

        The relative size of the new window. Setting it to 0.5, causes dockwindows to be splitted equally.

      Returns T

      Instance of the docked window.

    • Docks a new EditorWindow into the given location.

      Parameters

      • windowType: Type

        The type of the editor window to be docked.

      • location: EnumValue<DockLocation>

        The relative location to dock the window to, relative to reference.

      • reference: DockableEditorWindow

        The reference window. Used to determine the meaning location.

      • OptionalrelativeSize: number

        The relative size of the docked window. Setting it to 0.5, causes both the first and second window to have the same size.

      Returns DockableEditorWindow

      The editor window instance of the given type.

    • Sets the given window type as locked. Disables undocking or docking of other windows on the same space. Will also hide the tab bar and the window title.

      Type Parameters

      Parameters

      • type: ClassOf<T>

        The type that represents the window to be marked as locked.

      Returns void

    • Freezes the dockable editor window of type windowType.

      Parameters

      • windowType: Type

        The type of the window to freeze.

      Returns void

    • Gets an existing EditorWindow for usage on this KeyWindow.

      Parameters

      • windowType: Type

        The type of the editor window to be retrieved or created.

      Returns DockableEditorWindow

      The editor window instance of the given type.

    • Returns void

    • Virtual

      Gets whether this KeyWindow should display the User List control on the main menu title bar.

      Returns boolean

    • Virtual

      Loads the key window state to the one represented by state.

      Parameters

      • state: any

        The state object, as returned by SaveState().

      Returns void

    • Virtual

      Method to override to implement destruction of custom windows. Called by the engine before the window is destroyed.

      Returns void

    • Virtual

      Method to override to implement custom behavior of a window, called by the engine once per frame.

      Returns void

    • Virtual

      Method to override to implement custom behavior of a window, called by the engine once per frame, once all the windows had their onEditorUpdate() method called.

      Returns void

    • Virtual

      Method to override to implement initialization of custom windows. Called by the engine after window creation.

      Parameters

      • options: any

      Returns void

    • Virtual

      Triggered whenever the window gains or loses focus.

      Parameters

      • inFocus: boolean

        True if focus was gained, false otherwise.

      Returns void

    • Virtual

      Triggered whenever the window size changes.

      Parameters

      • width: number

        New width of the window in pixels.

      • height: number

        New height of the window in pixels.

      Returns void

    • Type Parameters

      Parameters

      • type: ClassOf<T>

        Type of window to open.

      • OptionalraiseWindow: boolean

        True to raise the window if already opened, but in the background.

      Returns T

      Instance of the open window.

      If the window is already open, the existing instance will be returned.

    • Opens a new EditorWindow for usage on this KeyWindow. If the window is already opened, it will be focused instead.

      Parameters

      • windowType: Type

        The type of the editor window to be created.

      Returns DockableEditorWindow

      The newly opened editor window.

    • Brings the key window to the top.

      Returns void

    • Virtual

      Determines if the key window must be recreated when the specified module is being reloaded. This is an important task to do if the key window edits classes from the module that is being reloaded. In that case, the key window must be recreated - otherwise, it references outdated classes which results in undefined behavior that can destabilize the application.

      The following are possible modules:

      • rsx - rsx.Editor - rsx.Project - rsx.Project.Editor

      Parameters

      • moduleName: string

        The fully qualified name of the module to be reloaded.

      Returns boolean

    • Executes the last command on the redo stack (last command we called undo on), re-applying its operation.

      Returns void

    • Virtual

      Saves the current key window state. This state can be persisted to disk or saved in memory and later restored by calling LoadState().

      Returns any

      An object that represents the KeyWindow saved state.

    • Defines the window maximum width and height in points.

      Parameters

      • maxWidth: number
      • maxHeight: number

      Returns void

    • Defines the window minimum width and height in points.

      Parameters

      • minWidth: number

        The minimum width of the window in points.

      • minHeight: number

        The minimum height of the window in points.

      Returns void

    • Moves the window on the desktop. Coordinates are in screen space using points.

      Parameters

      • x: number
      • y: number

      Returns void

    • Moves the window on the desktop. Coordinates are in screen space using pixels.

      Parameters

      • x: number
      • y: number

      Returns void

    • Resizes the window using a width and height in points.

      Parameters

      • width: number
      • height: number

      Returns void

    • Resizes the window using a width and height in pixels.

      Parameters

      • width: number
      • height: number

      Returns void

    • Toggles an existing toolbar button into an on or off state which changes the visuals of the button.

      Parameters

      • name: string

        Name of the existing button to toggle.

      • isToggled: boolean

        True to toggle on, false to toggle off.

      Returns void

    • Executes the last command on the undo stack, undoing its operations.

      Returns void

    • Toggles an existing toolbar button into an on or off state which changes the visuals of the button.

      Parameters

      • name: string

        Name of the existing button to toggle.

      Returns void

    • Updates the toggle state of all main toolbar buttons in the toolbar.

      Returns void

    • Virtual

      A method called internally before the last action is redone.

      Returns void

    • Virtual

      A method called internally before the last action is undone.

      Returns void

    • Internal method used by the managed side to open a newly created KeyWindow object instance.

      Parameters

      • keyWindow: KeyWindow

        The key window instance.

      • state: any

      Returns void

    • Opens and creates a new KeyWindow of the specified type. If state is not null, loadState is also called with the given value for state.

      Type Parameters

      Parameters

      • type: ClassOf<T>
      • Optionalstate: any

        An optional initial state for the key window.

      Returns T

      An instance to the newly created key window.

    onToolbarBuild: Event<[]>

    Event triggered when the toolbar is being built.

    onResize: Event<[]>

    Event triggered once the window is resized.

    onMove: Event<[]>

    Event triggered once the window is moved.

    onClose: Event<[]>

    Event triggered when the window is closed.

    onFocusChangedInternal: Event<[isFocused: boolean]>