OpenLexocad  27.0
PropertyText.h
Go to the documentation of this file.
1 #pragma once
2 #pragma warning(disable : 4251)
3 #include <Core/PropertyString.h>
4 #include <Core/Variant.h>
5 #include <Core/core_defines2.h>
6 
7 #include <QRegExp>
8 #include <string>
9 
10 namespace Core
11 {
13 {
15 
16 public:
17  PropertyText(void);
18  virtual ~PropertyText(void);
19 };
20 
22 
24 {
26 
27 public:
29  virtual ~PropertyTextList();
30 
31  void setValue(const std::list<Base::String>& textList);
32  bool setValueFromVariant(const Core::Variant& value);
33  void copyValue(Core::Property* p);
34 
35  void addText(const Base::String& text);
36  void removeText(const Base::String& text);
37 
38  bool contains(const Base::String& text) const;
39 
40  void setEmpty();
41  bool isEmpty() const;
42  size_t getSize() const;
43 
44  const std::list<Base::String>& getValue() const;
45 
46  Core::Variant getVariant(void) const { return Core::Variant(_textList); }
47 
48  virtual void save(Base::AbstractWriter& writer, Base::PersistanceVersion& save_version);
49 
50  inline virtual void restore(Base::AbstractXMLReader& reader, Base::PersistanceVersion& version);
51  virtual bool isEqual(const Property*) const;
52 
53 protected:
54  std::list<Base::String> _textList;
55 };
56 
58 
60 {
62 
63 public:
65  virtual ~PropertyMultiLineText(void);
66 
67  void setValue(const Base::String& text);
68  bool setValueFromVariant(const Core::Variant& value);
69  void copyValue(Core::Property* p);
70 
71  const Base::String& getValue() const;
72  Core::Variant getVariant(void) const;
73 
74  virtual void save(Base::AbstractWriter& writer, Base::PersistanceVersion& save_version);
75  inline virtual void restore(Base::AbstractXMLReader& reader, Base::PersistanceVersion& version);
76  virtual bool isEqual(const Property*) const;
77 
78 protected:
80 };
81 
82 DECLARE_PROPERTY_FACTORY(PropertyText_Factory, Core::PropertyText);
83 DECLARE_PROPERTY_FACTORY(PropertyTextList_Factory, Core::PropertyTextList);
84 DECLARE_PROPERTY_FACTORY(PropertyMultiLineText_Factory, Core::PropertyMultiLineText);
85 
86 
87 
88 } // namespace Core
DECLARE_OPTIONAL_PROPERTY_HEADER(PropertyColorOpt, Core::PropertyColor)
#define CORE_EXPORT
Definition: core_defines2.h:10
Definition: PropertyText.h:59
Base::String _text
Definition: PropertyText.h:79
Definition: PropertyText.h:23
Definition: PropertyText.h:12
A Utf-16 (windows) or ucs4 (unix) encoded string class.
Definition: String.h:29
Definition: Persistance.h:20
LX_CORE_EXPORT Version & version
Definition: Variant.h:90
Definition: AbstractXMLReader.h:10
std::list< Base::String > _textList
Definition: PropertyText.h:54
Definition: Base.h:19
Definition: Writer.h:27
Definition: Property.h:81
Core::Variant getVariant(void) const
Definition: PropertyText.h:46
TYPESYSTEM_HEADER()
Definition: PropertyString.h:20
DECLARE_PROPERTY_FACTORY(PropertyAxis1_Factory, Core::PropertyAxis1)