CPropertyControlDirectoryTreeState



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

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

class CPropertyControlDirectoryTreeState :public virtual IPropertyControlDirectoryTreeState, public CPropertyState
{
public:
    using FGetter = IDirectoryTree * (*)(IClass *parent, const String &state);
    using FSetter = bool(*)(IClass *parent, const String &state, IDirectoryTree *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) 

    // IPropertyControlDirectoryTreeState getters 
    IDirectoryTree *getValue(const String &state) override;

    // IPropertyControlDirectoryTreeState setters 
    bool setValue(const String &state, IDirectoryTree *value) override;

    CPropertyControlDirectoryTreeState(IPropertyList *list, IClass *parent, const String &name, const States &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/PropertyControlDirectoryTree.State.h