OpenLexocad  27.1
PropertyFile.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 class LX_CORE_EXPORT PropertyFile : public Core::Property
10 {
12 
13 public:
14  PropertyFile(void);
15  virtual ~PropertyFile(void);
16 
17  void setValue(const Base::String& filepath);
18  bool setValueFromVariant(const Core::Variant& value);
19  void copyValue(Core::Property* p);
20 
21  const Base::String& getValue() const;
22 
23  Core::Variant getVariant(void) const;
24 
25  virtual void save(Base::AbstractWriter& writer, Base::PersistenceVersion& save_version);
26  virtual void restore(Base::AbstractXMLReader& reader, Base::PersistenceVersion& version);
27  virtual bool isEqual(const Property*) const;
28  virtual Core::Property* copy(void) const override;
29  virtual void paste(const Core::Property& from) override;
30 
31 protected:
33  std::stringstream _memstream;
34 };
35 
36 
37 
38 DECLARE_PROPERTY_FACTORY(PropertyFile_Factory, Core::PropertyFile);
39 
40 
41 } // namespace Core
std::stringstream _memstream
Definition: PropertyFile.h:33
Definition: Persistence.h:14
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:23
LX_CORE_EXPORT Version & version
Definition: PropertyFile.h:9
Definition: Variant.h:87
Definition: AbstractXMLReader.h:7
Definition: Base.h:12
Definition: Writer.h:16
Definition: Property.h:77
Base::String _filepath
Definition: PropertyFile.h:32
TYPESYSTEM_HEADER()
DECLARE_PROPERTY_FACTORY(PropertyAxis1_Factory, Core::PropertyAxis1)