OpenLexocad  28.0
PropertySetManager.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <QDomElement>
4 #include <vector>
5 
6 namespace Core
7 {
8 class Property;
9 class PropertyContainer;
10 
11 class LX_CORE_EXPORT PropertySetManager
12 {
13 public:
14  static bool addToContainer(const std::vector<PropertyContainer*>& containers, const QString& xmlname);
15 
16 private:
17  static PropertySetManager& instance();
18  std::vector<PropertyContainer*> _containers;
19 
20  void _clear();
21  bool _addPropertyToContainer(Core::Property* prop, const std::string& pName, PropertyContainer* pc);
22 
23  bool _load(const QString fname);
24 
25  bool _processAllowedContainers(const QDomElement elem);
26 
27  void _processProperty(const QDomElement elem, QString& name, QString& type);
28 
29  void _processPropertyText(const QDomElement elem, const QString name);
30  void _processPropertyEnum(const QDomElement elem, const QString name);
31 };
32 
33 } // namespace Core
Core::PropertySetManager
Definition: PropertySetManager.h:12
Core::PropertyContainer
Definition: PropertyContainer.h:93
Core::PropertySetManager::addToContainer
static bool addToContainer(const std::vector< PropertyContainer * > &containers, const QString &xmlname)
Core
Definition: Base.h:5
Core::Property
Definition: Property.h:72