OpenLexocad  27.0
PropertyMD5.h
Go to the documentation of this file.
1 // //
3 // LEXOCAD API //
4 // //
5 // ©2005-2016 Cadwork Informatik. All rights reserved. //
6 // //
7 // ONLY INCLUDE OTHER INTERFACES! //
8 // Lexocad provides API Classes for public use and //
9 // Implementation Classes for private use. //
10 // //
11 // - Do ONLY include and use the LEXOCAD API in this header. //
12 // - Do not change existing interfaces. //
13 // - Document your code! //
14 // //
15 // - All types from Base, Core, Geom, Topo are allowed here. //
16 // - In the Gui modules the use of Qt types is allowed. //
17 // //
19 
20 #pragma once
21 
22 #include <Base/md5.h>
23 #include <Core/core_defines2.h>
24 
25 #include <list>
26 
27 #include "Core/Property.h"
28 #include "Core/Variant.h"
29 
30 
31 namespace Core
32 {
33 class Geometry;
34 class Element;
35 class Object;
36 
38 {
40 
41 public:
42  PropertyMD5(void);
43  virtual ~PropertyMD5(void);
44 
45  void setValue(const MD5& md5);
46 
47  bool setValueFromVariant(const Core::Variant& value);
48  void copyValue(Core::Property* p);
49 
50  const MD5& getValue() const;
51 
52  Core::Variant getVariant(void) const;
53 
54  virtual void save(Base::AbstractWriter& writer, Base::PersistanceVersion& save_version);
55  virtual void restore(Base::AbstractXMLReader& reader, Base::PersistanceVersion& version);
56  virtual bool isEqual(const Property*) const;
57 
58 protected:
60 };
61 
62 
63 DECLARE_PROPERTY_FACTORY(PropertyMD5_Factory, Core::PropertyMD5);
64 
65 } // namespace Core
#define CORE_EXPORT
Definition: core_defines2.h:10
Definition: md5.h:71
Definition: PropertyMD5.h:37
Definition: Persistance.h:20
LX_CORE_EXPORT Version & version
Definition: Variant.h:90
Definition: AbstractXMLReader.h:10
Definition: Base.h:19
Definition: Writer.h:27
Definition: Property.h:81
MD5 _md5
Definition: PropertyMD5.h:59
TYPESYSTEM_HEADER()
DECLARE_PROPERTY_FACTORY(PropertyAxis1_Factory, Core::PropertyAxis1)