Class describing multiple state property having several possible values.
You can find more information in comments below. Overrided methods can be found in corresponding base class or interface.
class CPropertyEnumState :public virtual IPropertyEnumState, public CPropertyState
{
public:
using FGetter = String(*)(IClass *parent, const String &state);
using FSetter = bool(*)(IClass *parent, const String &state, String value);
using Items = std::vector<String>;
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;
int getItemCount() const override;
String getItem(const int index) const override;
// IPropertyEnumState setters
bool setValue(const String &state, const String value) override;
CPropertyEnumState(
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,
const Items &items,
const EXPORT_PREFIX_TYPE prefix_type,
const String &prefix,
FSkip skip,
FGetter getter,
FSetter setter); // See parent class constructor for more information
};
Namespace: | nitisa |
Include: | Nitisa/Properties/PropertyEnum.State.h |