17#pragma warning(disable:4251)
37 PropertyGroup(
const std::string& _name,
const std::string& _title);
61 virtual void mergeWith(
const PropertyGroup& _other,
bool _replaceExistingProperties);
70 void setName(
const std::string& _name) { m_name = _name; };
71 std::string&
getName(
void) {
return m_name; };
72 const std::string&
getName(
void)
const {
return m_name; };
74 void setTitle(
const std::string& _title) { m_title = _title; };
75 std::string&
getTitle(
void) {
return m_title; };
76 const std::string&
getTitle(
void)
const {
return m_title; };
80 void setProperties(
const std::list<Property*>& _properties);
84 void addProperty(
Property* _property);
87 void removeProperty(
const std::string& _propertyName);
90 void forgetProperty(
Property* _property);
93 const std::list<Property*>&
getProperties(
void)
const {
return m_properties; };
96 std::list<Property*> getAllProperties(
void)
const;
101 Property* findPropertyByPath(std::list<std::string> _path)
const;
105 void setChildGroups(
const std::list<PropertyGroup*>& _groups);
107 const std::list<PropertyGroup*>&
getChildGroups(
void)
const {
return m_childGroups; };
118 void findPropertiesBySpecialType(
const std::string& _specialType, std::list<Property*>& _list)
const;
120 void clear(
bool _keepGroups =
false);
123 bool isEmpty(
void)
const;
127 std::string getGroupPath(
char _delimiter =
'/')
const;
134 std::list<Property*> m_properties;
135 std::list<PropertyGroup*> m_childGroups;
This file contains defines that may be used simplyfy class creation.
#define OT_GUI_API_EXPORT
Definition OTGuiAPIExport.h:9
Definition PropertyGroup.h:23
const std::string & getName(void) const
Definition PropertyGroup.h:72
const std::string & getTitle(void) const
Definition PropertyGroup.h:76
std::string & getName(void)
Definition PropertyGroup.h:71
const std::list< PropertyGroup * > & getChildGroups(void) const
Definition PropertyGroup.h:107
std::string & getTitle(void)
Definition PropertyGroup.h:75
void setName(const std::string &_name)
Definition PropertyGroup.h:70
void setTitle(const std::string &_title)
Definition PropertyGroup.h:74
void setParentGroup(PropertyGroup *_group)
Definition PropertyGroup.h:63
PropertyGroup * getParentGroup(void) const
Definition PropertyGroup.h:64
const std::list< Property * > & getProperties(void) const
Group properties.
Definition PropertyGroup.h:93
The Property class is used as a base class for all Properties that can be displayed and modified in t...
Definition Property.h:21
The Serializable class is the default interface of serializable objects.
Definition Serializable.h:17
rapidjson::Value JsonValue
Writable JSON value.
Definition JSON.h:27
rapidjson::GenericObject< true, rapidjson::GenericValue< rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator< rapidjson::CrtAllocator > > > ConstJsonObject
Read only JSON Object.
Definition JSON.h:35
rapidjson::MemoryPoolAllocator< rapidjson::CrtAllocator > JsonAllocator
Allocator used for writing to JSON values.
Definition JSON.h:30