OpenLexocad  27.1
PropertySearchSettings.h
Go to the documentation of this file.
1 #pragma once
2 #include <string>
3 
4 #include "Core/Property.h"
5 #include "Core/Variant.h"
6 
7 namespace Core
8 {
9 struct SearchValue
10 {
11  QString name;
12  QString value;
13 };
14 
15 class LX_CORE_EXPORT PropertySearchSettings : public Core::Property
16 {
18 
19 public:
21  virtual ~PropertySearchSettings(void);
22 
23  void setValue(const std::vector<std::vector<SearchValue>>& setting);
24  bool setValueFromVariant(const Core::Variant& value);
25  void copyValue(Core::Property* p);
26 
27  const std::vector<std::vector<SearchValue>>& getValue() const;
28  Core::Variant getVariant(void) const;
29 
30  virtual void save(Base::AbstractWriter& writer, Base::PersistenceVersion& save_version);
31  virtual void restore(Base::AbstractXMLReader& reader, Base::PersistenceVersion& version);
32  virtual bool isEqual(const Property*) const;
33  virtual Core::Property* copy(void) const override;
34  virtual void paste(const Core::Property& from) override;
35 
36 protected:
37  std::vector<std::vector<SearchValue>> _settings;
38 };
39 
40 class LX_CORE_EXPORT PropertySearchSettingsVector : public Core::Property
41 {
43 
44 public:
46  virtual ~PropertySearchSettingsVector(void);
47 
48  void setValue(const std::vector<std::vector<std::vector<SearchValue>>>& setting);
49  bool setValueFromVariant(const Core::Variant& value);
50  void copyValue(Core::Property* p);
51 
52  const std::vector<std::vector<std::vector<SearchValue>>>& getValue() const;
53  Core::Variant getVariant(void) const;
54 
55  virtual void save(Base::AbstractWriter& writer, Base::PersistenceVersion& save_version);
56  virtual void restore(Base::AbstractXMLReader& reader, Base::PersistenceVersion& version);
57  virtual bool isEqual(const Property*) const;
58  virtual Core::Property* copy(void) const override;
59  virtual void paste(const Core::Property& from) override;
60 
61 protected:
62  std::vector<std::vector<std::vector<SearchValue>>> _settings;
63 };
64 
65 DECLARE_PROPERTY_FACTORY(PropertySearchSettings_Factory, Core::PropertySearchSettings);
66 DECLARE_PROPERTY_FACTORY(PropertySearchSettingsVector_Factory, Core::PropertySearchSettingsVector);
67 
68 
69 
70 } // namespace Core
Definition: PropertySearchSettings.h:15
std::vector< std::vector< SearchValue > > _settings
Definition: PropertySearchSettings.h:37
Definition: Persistence.h:14
QString value
Definition: PropertySearchSettings.h:12
std::vector< std::vector< std::vector< SearchValue > > > _settings
Definition: PropertySearchSettings.h:62
LX_CORE_EXPORT Version & version
Definition: Variant.h:87
QString name
Definition: PropertySearchSettings.h:11
Definition: AbstractXMLReader.h:7
Definition: PropertySearchSettings.h:40
Definition: Base.h:12
Definition: Writer.h:16
Definition: Property.h:77
TYPESYSTEM_HEADER()
DECLARE_PROPERTY_FACTORY(PropertyAxis1_Factory, Core::PropertyAxis1)
Definition: PropertySearchSettings.h:9