struct CCL::IDesktop

Overview

Desktop interface. More…

#include <iwindow.h>

struct IDesktop: public CCL::IUnknown
{
    // enums

    enum FindWindowFlags;
    enum ModeFlags;

    // structs

    struct UpdateCollector;

    // methods

    virtual IWindow*CCL_API getApplicationWindow () = 0;
    virtual IMenuBar*CCL_API getApplicationMenuBar () = 0;
    virtual IWindow*CCL_API getDialogParentWindow () = 0;
    virtual int CCL_API countWindows () const = 0;
    virtual IWindow*CCL_API getWindow (int index) const = 0;
    virtual IWindow*CCL_API findWindow (PointRef screenPos, int flags = 0) = 0;
    virtual IWindow*CCL_API findWindowUnderCursor (int flags = 0) = 0;
    virtual IWindow*CCL_API getWindowByOwner (IUnknown* controller) const = 0;

    virtual tbool CCL_API closePopupAndDeferCommand (
        ICommandHandler* handler,
        const CommandMsg& cmd
    ) = 0;

    virtual tbool CCL_API closeTopModal (int dialogResult) = 0;
    virtual tbool CCL_API closeModalWindows () = 0;
    virtual void CCL_API flushUpdatesWithProgressWindows (IView* caller = nullptr) = 0;
    virtual tbool CCL_API isInMode (int modeFlags) const = 0;
    virtual void CCL_API redrawAll () = 0;
    virtual int CCL_API countMonitors () const = 0;
    virtual int CCL_API getMainMonitor () const = 0;
    virtual int CCL_API findMonitor (PointRef where, tbool defaultToPrimary) const = 0;
    virtual tbool CCL_API getMonitorSize (Rect& rect, int index, tbool useWorkArea) const = 0;
    virtual float CCL_API getMonitorScaleFactor (int index) const = 0;
};

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

Desktop interface.

Methods

virtual IWindow*CCL_API getApplicationWindow () = 0

Get main application window.

virtual IMenuBar*CCL_API getApplicationMenuBar () = 0

Get main application menu bar.

virtual IWindow*CCL_API getDialogParentWindow () = 0

Get current window to be used as parent for modal dialogs.

virtual int CCL_API countWindows () const = 0

Count windows.

virtual IWindow*CCL_API getWindow (int index) const = 0

Get window by z-index.

The topmost window is last.

virtual IWindow*CCL_API findWindow (PointRef screenPos, int flags = 0) = 0

Get window at given screen position.

virtual IWindow*CCL_API findWindowUnderCursor (int flags = 0) = 0

Get window under cursor.

virtual IWindow*CCL_API getWindowByOwner (IUnknown* controller) const = 0

Get window for given controller.

virtual tbool CCL_API closePopupAndDeferCommand (
    ICommandHandler* handler,
    const CommandMsg& cmd
) = 0

If there is a popup selector on top, close it, defer the command and return true.

virtual tbool CCL_API closeTopModal (int dialogResult) = 0

Try to close the topmost modal dialog with the given dialogResult (see DialogResult::ResultCodes).

virtual tbool CCL_API closeModalWindows () = 0

Try to close all modal dialog windows.

virtual void CCL_API flushUpdatesWithProgressWindows (IView* caller = nullptr) = 0

Flush updates and handle events for any open progress windows.

virtual tbool CCL_API isInMode (int modeFlags) const = 0

Returns true if any of the passed mode flags are apply.

virtual void CCL_API redrawAll () = 0

Redraw all windows.

virtual int CCL_API countMonitors () const = 0

Returns number of active display monitors.

virtual int CCL_API getMainMonitor () const = 0

Returns the main monitor index.

virtual int CCL_API findMonitor (PointRef where, tbool defaultToPrimary) const = 0

Find monitor at given position.

virtual tbool CCL_API getMonitorSize (Rect& rect, int index, tbool useWorkArea) const = 0

Returns the size of the given monitor.

virtual float CCL_API getMonitorScaleFactor (int index) const = 0

Get the points to pixels scaling factor of given monitor.