CPropertyControlEditState



Class describing multiple state property which values are pointers to Edit control.

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

class CPropertyControlEditState :public virtual IPropertyControlEditState, public CPropertyState
{
public:
    using FGetter = IEdit * (*)(IClass *parent, const String &state);
    using FSetter = bool(*)(IClass *parent, const String &state, IEdit *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; // State names will be prefixes with [control namespace] + '::C' + [control class name] + '::' if control is not empty and "prefix" specified in constructor is empty. Otherwise it will be prefixed with "prefix" specified in constructor. If you need no prefix even if control is empty, specify "prefix" argument of constructor as ' '(space) 

    // IPropertyControlEditState getters 
    IEdit *getValue(const String &state) override;

    // IPropertyControlEditState setters 
    bool setValue(const String &state, IEdit *value) override;

    CPropertyControlEditState(IPropertyList *list, IClass *parent, const String &name, const StringArray &states, const String &state_prefix, FSkip skip, FGetter getter, FSetter setter); // See parent class constructor for more information 
};
Namespace: nitisa::standard
Include: Standard/Platform/Properties/PropertyControlEditState.h