struct CCL::IWindowManager

Overview

#include <iwindowmanager.h>

struct IWindowManager: public CCL::IUnknown
{
    // structs

    struct ActivationSuspender;

    // methods

    virtual DECLARE_STRINGID_MEMBER (kApplicationFormName) const = 0;
    virtual IWindow*CCL_API createApplicationWindow (tbool show = true) = 0;
    virtual IMenuBar*CCL_API createApplicationMenuBar (tbool variant) = 0;
    virtual void CCL_API initWindowlessApplication () = 0;
    virtual tbool CCL_API isWindowOpen (StringID windowClassId) = 0;
    virtual tbool CCL_API isWindowOpen (IWindowClass* windowClass) = 0;

    virtual tbool CCL_API openWindow (
        StringID windowClassId,
        tbool toggle = false,
        IAttributeList* arguments = nullptr
    ) = 0;

    virtual tbool CCL_API openWindow (
        IWindowClass* windowClass,
        tbool toggle = false,
        IAttributeList* arguments = nullptr
    ) = 0;

    virtual tbool CCL_API closeWindow (
        StringID windowClassId,
        tbool forceNow = false
    ) = 0;

    virtual tbool CCL_API closeWindow (
        IWindowClass* windowClass,
        tbool forceNow = false
    ) = 0;

    virtual tbool CCL_API replaceWindow (StringID oldClassId, StringID newClassId) = 0;

    virtual tbool CCL_API replaceWindow (
        IWindowClass* oldClass,
        IWindowClass* newClass
    ) = 0;

    virtual tbool CCL_API centerWindow (StringID windowClassId) = 0;
    virtual tbool CCL_API centerWindow (IWindowClass* windowClass) = 0;
    virtual tbool CCL_API canReuseWindow (IWindowClass* oldClass) = 0;
    virtual tbool CCL_API canOpenWindow (StringID windowClassId) = 0;
    virtual tbool CCL_API suspendActivation (tbool state) = 0;

    virtual IWindowClass*CCL_API registerClass (
        StringID windowClassId,
        StringRef formName,
        StringRef controllerUrl,
        StringRef groupID,
        StringID workspaceID,
        StringID themeID,
        StringID storageID = nullptr
    ) = 0;

    virtual void CCL_API unregisterClass (IWindowClass* windowClass) = 0;
    virtual IWindowClass*CCL_API findWindowClass (StringID windowClassId) = 0;
    virtual void CCL_API storeWindowStates () = 0;
    virtual void CCL_API restoreWindowStates () = 0;
    virtual IParameter*CCL_API getOpenParameter (IWindowClass* windowClass) = 0;
    virtual IAliasParameter*CCL_API getVisibilityAliasParameter (StringID externalClassId) = 0;
    DECLARE_STRINGID_MEMBER (kBeforeOpenWindow);
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

Methods

virtual DECLARE_STRINGID_MEMBER (kApplicationFormName) const = 0

Primary form name for application window in skin.

Create main application view.

virtual IWindow*CCL_API createApplicationWindow (tbool show = true) = 0

Create application window.

virtual IMenuBar*CCL_API createApplicationMenuBar (tbool variant) = 0

Create main application menu bar.

This can be a custom menu bar provided by the framework or a platform implementation.

virtual void CCL_API initWindowlessApplication () = 0

Init application without main window (alternative to createApplicationWindow()).

virtual tbool CCL_API isWindowOpen (StringID windowClassId) = 0

Check if given window is open.

virtual tbool CCL_API openWindow (
    StringID windowClassId,
    tbool toggle = false,
    IAttributeList* arguments = nullptr
) = 0

Open window by identifier.

virtual tbool CCL_API closeWindow (
    StringID windowClassId,
    tbool forceNow = false
) = 0

Close window by identifier.

virtual tbool CCL_API replaceWindow (StringID oldClassId, StringID newClassId) = 0

Replace content of named window with another one.

virtual tbool CCL_API centerWindow (StringID windowClassId) = 0

Center window.

virtual tbool CCL_API canReuseWindow (IWindowClass* oldClass) = 0

Check if given window can be reused for other content.

virtual tbool CCL_API canOpenWindow (StringID windowClassId) = 0

Check if given window can be opened.

virtual tbool CCL_API suspendActivation (tbool state) = 0

Suspend automatic activation of opened windows.

Returns the old suspend state.

virtual IWindowClass*CCL_API registerClass (
    StringID windowClassId,
    StringRef formName,
    StringRef controllerUrl,
    StringRef groupID,
    StringID workspaceID,
    StringID themeID,
    StringID storageID = nullptr
) = 0

Register a new window class.

virtual void CCL_API unregisterClass (IWindowClass* windowClass) = 0

Unregister a window class.

virtual IWindowClass*CCL_API findWindowClass (StringID windowClassId) = 0

Find registered window class.

virtual void CCL_API storeWindowStates () = 0

Store window states.

virtual void CCL_API restoreWindowStates () = 0

Restore window states.

virtual IParameter*CCL_API getOpenParameter (IWindowClass* windowClass) = 0

Get the parameter representing the state of the given window class.

virtual IAliasParameter*CCL_API getVisibilityAliasParameter (StringID externalClassId) = 0

Get (or create) an alias parameter for some externally managed visibility state (similar to window class parameters).

DECLARE_STRINGID_MEMBER (kBeforeOpenWindow)

Sent before a window is explicitely opened by the user (e.g.

via command or parameter); arg[0]: windows class id (String) arg[0]: windows class id (String) arg[0]: windows class id (String)