CGroupFold


Implements GroupFold widget.

You can find more information in comments below. Overrided methods can be found in corresponding base classes and interfaces.

class CGroupFold :public virtual IGroupFold, public CControl
{
public:
    enum class State
    {
        FoldedNormal,
        FoldedHovered,
        FoldedDisabled,
        Normal,
        Hovered,
        Disabled
    };
public:
    void(*OnToggle)(IControl *sender); // Event called when folded state changed 

    // IControl getters 
    IControl *getControl(const int index) override;
    IControl *getControl(const String &name) override;
    IControl *getControl(const PointF &position) override;
    RectF getClientRect() override;
    RectF getRenderRect() override;
    CursorType getCursor() override;

    // IControl setters 
    bool setDPI(const Point &value) override;

    // IControl methods 
    void Refresh(const bool refresh_children) override;

    // IGroupFold getters 
    bool isFolded() override;
    String getCaption() override;

    // IGroupFold setters 
    bool setFolded(const bool value) override;
    bool setCaption(const String &value) override;

    // IGroupFold methods 
    void Toggle() override;

    CGroupFold();
    CGroupFold(IControl *parent);
    CGroupFold(IForm *parent);

    // Layout getters 
    int getShadowRadius(const State state) const;
    Color getShadowColor(const State state) const;
    PointF getShadowShift(const State state) const;
    RectF getBorderWidth(const State state) const;
    RectF getBorderRadius(const State state) const;
    BorderColor getBorderColor(const State state) const;
    Color getBackgroundColor(const State state) const;
    Gradient *getBackgroundGradient(const State state);
    TextAlign getCaptionAlign() const;
    bool isCaptionPlusLeft() const;
    Color getCaptionColor(const State state) const;
    float getCaptionMargin(const State state) const;
    PointF getCaptionPadding(const State state) const;
    RectF getCaptionBorderWidth(const State state) const;
    RectF getCaptionBorderRadius(const State state) const;
    BorderColor getCaptionBorderColor(const State state) const;
    Color getCaptionBackgroundColor(const State state) const;
    Gradient *getCaptionBackgroundGradient(const State state);
    float getPlusSize(const State state) const;
    float getPlusPadding(const State state) const;
    RectF getPadding(const State state) const;
    bool isUseMask() const;

    // Layout setters 
    bool setShadowRadius(const State state, const int value);
    bool setShadowColor(const State state, const Color &value);
    bool setShadowShift(const State state, const PointF &value);
    bool setBorderWidth(const State state, const RectF &value);
    bool setBorderRadius(const State state, const RectF &value);
    bool setBorderColor(const State state, const BorderColor &value);
    bool setBackgroundColor(const State state, const Color &value);
    bool setCaptionAlign(const TextAlign value);
    bool setCaptionPlusLeft(const bool value);
    bool setCaptionColor(const State state, const Color &value);
    bool setCaptionMargin(const State state, const float value);
    bool setCaptionPadding(const State state, const PointF &value);
    bool setCaptionBorderWidth(const State state, const RectF &value);
    bool setCaptionBorderRadius(const State state, const RectF &value);
    bool setCaptionBorderColor(const State state, const BorderColor &value);
    bool setCaptionBackgroundColor(const State state, const Color &value);
    bool setPlusSize(const State state, const float value);
    bool setPlusPadding(const State state, const float value);
    bool setPadding(const State state, const RectF &value);
    bool setUseMask(const bool value);
};
Namespace: nitisa::standard
Include: Standard/Controls/GroupFold/GroupFold.h