class ui.Action

class Action {
    // properties

    bool autoget property m_isVisible;
    bool autoget property m_isEnabled;
    bool autoget property m_isCheckable;
    bool bindable autoget property m_isChecked;
    ui.Icon* autoget property m_icon;
    string_t autoget property m_text;
    string_t autoget property m_toolTip;

    // events

    event m_onTriggered();

    // construction

    construct(
        ui.Icon* icon,
        string_t text,
        void function* onTriggered() = null
    );

    construct(
        string_t iconFileName,
        string_t text,
        void function* onTriggered() = null
    );

    construct(
        string_t text,
        void function* onTriggered() = null
    );
    destruct();
};