CPropertyRectState



Class describing multiple state property of type Rect.

You can find more information in comments below. Overrided methods can be found in corresponding base class or interface.

class CPropertyRectState :public virtual IPropertyRectState, public CPropertyState
{
public:
    using FGetter = Rect(*)(IClass *parent, const String &state);
    using FSetter = bool(*)(IClass *parent, const String &state, Rect value);
public:
    // IProperty getters 
    String getPreview() override;
    String getPreview(const String &state) override;
    bool isChanged() override;

    // IProperty setters 
    IProperty *setChanged(const bool value) override;

    // IProperty methods 
    bool Copy(IProperty *dest) override;
    void Save(Variant &dest) override;
    void Load(const Variant &src) override;
    void Export(std::wofstream &f, const String &shift, const String &control) override;

    // IPropertyRectState getters 
    Rect getValue(const String &state) override;
    bool hasMin() const override;
    bool hasMax() const override;
    int getMin() const override;
    int getMax() const override;
    bool isAllowInvalid() const override;
    bool isAllowEmpty() const override;

    // IPropertyRectState setters 
    bool setValue(const String &state, const Rect value) override;
    IPropertyRectState *setHasMin(const bool value) override;
    IPropertyRectState *setHasMax(const bool value) override;
    IPropertyRectState *setMin(const int value) override;
    IPropertyRectState *setMax(const int value) override;
    IPropertyRectState *setAllowInvalid(const bool value) override;
    IPropertyRectState *setAllowEmpty(const bool value) override;

    CPropertyRectState(
        IPropertyList *list,
        IClass *parent,
        const String &name,
        const bool read_only,
        const States &states,
        const EXPORT_PREFIX_TYPE state_prefix_type,
        const String &state_prefix,
        FSkip skip,
        FGetter getter,
        FSetter setter); // See parent class constructor for more information 
};
Namespace: nitisa
Include: Nitisa/Properties/PropertyRect.State.h