OpenLexocad  27.0
PropertyFile.h
Go to the documentation of this file.
1 #pragma once
2 #include <Core/core_defines2.h>
3 
4 #include <string>
5 
6 #include "Core/Property.h"
7 #include "Core/Variant.h"
8 
9 namespace Core
10 {
12 {
14 
15 public:
16  PropertyFile(void);
17  virtual ~PropertyFile(void);
18 
19  void setValue(const Base::String& filepath);
20  bool setValueFromVariant(const Core::Variant& value);
21  void copyValue(Core::Property* p);
22 
23  const Base::String& getValue() const;
24 
25  Core::Variant getVariant(void) const;
26 
27  virtual void save(Base::AbstractWriter& writer, Base::PersistanceVersion& save_version);
28  virtual void restore(Base::AbstractXMLReader& reader, Base::PersistanceVersion& version);
29  virtual bool isEqual(const Property*) const;
30 
31 protected:
33  std::stringstream _memstream;
34 };
35 
36 
37 
38 DECLARE_PROPERTY_FACTORY(PropertyFile_Factory, Core::PropertyFile);
39 
40 
41 } // namespace Core
#define CORE_EXPORT
Definition: core_defines2.h:10
std::stringstream _memstream
Definition: PropertyFile.h:33
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:29
Definition: Persistance.h:20
LX_CORE_EXPORT Version & version
Definition: PropertyFile.h:11
Definition: Variant.h:90
Definition: AbstractXMLReader.h:10
Definition: Base.h:19
Definition: Writer.h:27
Definition: Property.h:81
Base::String _filepath
Definition: PropertyFile.h:32
TYPESYSTEM_HEADER()
DECLARE_PROPERTY_FACTORY(PropertyAxis1_Factory, Core::PropertyAxis1)