Class describing multiple state property of type single line String.
You can find more information in comments below. Overrided methods can be found in corresponding base class or interface.
class CPropertyStringState :public virtual IPropertyStringState, public CPropertyState
{
public:
using FGetter = String(*)(IClass *parent, const String &state);
using FSetter = bool(*)(IClass *parent, const String &state, String 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;
// IPropertyStringState getters
String getValue(const String &state) override;
// IPropertyStringState setters
bool setValue(const String &state, const String value) override;
CPropertyStringState(
IPropertyList *list,
IClass *parent,
const String &name,
const bool read_only,
const StringArray &states,
const ExportPrefixType state_prefix_type,
const String &state_prefix,
FSkip skip,
FGetter getter,
FSetter setter); // See parent class constructor for more information
};
Namespace: | nitisa |
Include: | Nitisa/Package/Properties/PropertyStringState.h |