struct CCL::IDialogBuilder

Overview

Dialog builder interface. More…

#include <idialogbuilder.h>

struct IDialogBuilder: public CCL::IUnknown
{
    // methods

    virtual void CCL_API setTheme (ITheme* theme) = 0;
    virtual void CCL_API setStrings (ITranslationTable* table) = 0;

    virtual int CCL_API runDialog (
        IView* view,
        int dialogStyle = Styles::kWindowCombinedStyleDialog,
        int buttons = 0,
        IWindow* parentWindow = nullptr
    ) = 0;

    virtual IAsyncOperation*CCL_API runDialogAsync (
        IView* view,
        int dialogStyle = Styles::kWindowCombinedStyleDialog,
        int buttons = 0,
        IWindow* parentWindow = nullptr
    ) = 0;

    virtual int CCL_API runWithParameters (
        StringRef name,
        IController& paramList,
        StringRef title,
        int dialogStyle = Styles::kWindowCombinedStyleDialog,
        int buttons = Styles::kDialogOkCancel,
        IWindow* parentWindow = nullptr
    ) = 0;

    virtual IAsyncOperation*CCL_API runWithParametersAsync (
        StringRef name,
        IController& paramList,
        StringRef title,
        int dialogStyle = Styles::kWindowCombinedStyleDialog,
        int buttons = Styles::kDialogOkCancel,
        IWindow* parentWindow = nullptr
    ) = 0;

    virtual tbool CCL_API askForString (
        String& string,
        StringID label,
        StringRef title,
        StringRef dialogName = nullptr
    ) = 0;

    virtual IAsyncOperation*CCL_API askForStringAsync (
        StringRef string,
        StringID label,
        StringRef title,
        StringRef dialogName = nullptr
    ) = 0;

    virtual void CCL_API runWithMenu (IMenu* menu, StringRef title, StringRef text) = 0;

    virtual IAsyncOperation*CCL_API runWithMenuAsync (
        IMenu* menu,
        StringRef title,
        StringRef text
    ) = 0;

    virtual void CCL_API addCustomButton (
        IParameter* param,
        StringRef title,
        int buttonRole = Styles::kOkayButton
    ) = 0;

    virtual void CCL_API setDialogResult (int dialogResult) = 0;
    virtual void CCL_API close () = 0;
    virtual void CCL_API excludeStyleFlags (StyleRef flags) = 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

Dialog builder interface.

Use DialogBox helper class in application code.

Methods

virtual void CCL_API setTheme (ITheme* theme) = 0

Assign theme.

virtual void CCL_API setStrings (ITranslationTable* table) = 0

Assign translation table.

virtual int CCL_API runDialog (
    IView* view,
    int dialogStyle = Styles::kWindowCombinedStyleDialog,
    int buttons = 0,
    IWindow* parentWindow = nullptr
) = 0

Run modal dialog for given view (takes ownership of view).

virtual IAsyncOperation*CCL_API runDialogAsync (
    IView* view,
    int dialogStyle = Styles::kWindowCombinedStyleDialog,
    int buttons = 0,
    IWindow* parentWindow = nullptr
) = 0

Run modal dialog for given view asynchronously (takes ownership of view).

virtual int CCL_API runWithParameters (
    StringRef name,
    IController& paramList,
    StringRef title,
    int dialogStyle = Styles::kWindowCombinedStyleDialog,
    int buttons = Styles::kDialogOkCancel,
    IWindow* parentWindow = nullptr
) = 0

Run modal dialog with parameter list.

virtual IAsyncOperation*CCL_API runWithParametersAsync (
    StringRef name,
    IController& paramList,
    StringRef title,
    int dialogStyle = Styles::kWindowCombinedStyleDialog,
    int buttons = Styles::kDialogOkCancel,
    IWindow* parentWindow = nullptr
) = 0

Run modal dialog with parameter list asynchronously.

virtual tbool CCL_API askForString (
    String& string,
    StringID label,
    StringRef title,
    StringRef dialogName = nullptr
) = 0

Run modal dialog asking for a string.

virtual IAsyncOperation*CCL_API askForStringAsync (
    StringRef string,
    StringID label,
    StringRef title,
    StringRef dialogName = nullptr
) = 0

Run modal dialog asking for a string asynchronously.

virtual void CCL_API runWithMenu (IMenu* menu, StringRef title, StringRef text) = 0

Run dialog with menu.

virtual IAsyncOperation*CCL_API runWithMenuAsync (
    IMenu* menu,
    StringRef title,
    StringRef text
) = 0

Run dialog with menu asynchronously.

virtual void CCL_API addCustomButton (
    IParameter* param,
    StringRef title,
    int buttonRole = Styles::kOkayButton
) = 0

Add a parameter for a custom dialog button.

buttonRole specifies which button in the (platform specific) button order should be replaced by this button.

virtual void CCL_API setDialogResult (int dialogResult) = 0

Set dialog result code.

virtual void CCL_API close () = 0

Close modal dialog.

virtual void CCL_API excludeStyleFlags (StyleRef flags) = 0

Exclude style flags, e.g.

in order to override default styles