QCAD
Open Source 2D CAD
Loading...
Searching...
No Matches
RDimStyle.h
Go to the documentation of this file.
1
20#ifndef RDIMSTYLE_H
21#define RDIMSTYLE_H
22
23#include "core_global.h"
24
25#include "RDimStyleData.h"
26#include "RDimStyleProxy.h"
27#include "RObject.h"
28#include "RPropertyTypeId.h"
29
30class RDocument;
31class REntityData;
32class RExporter;
33
43
44public:
48
72
73public:
74 RDimStyle();
75
76 RDimStyle(RDocument* document);
77 virtual ~RDimStyle();
78
79 static void init();
80 static void initDimX(const RPropertyTypeId& propertyTypeId, RS::KnownVariable var, RS::KnownVariableType type);
81
83 return RS::ObjectDimStyle;
84 }
85
86 virtual RS::EntityType getType() const {
87 return RS::ObjectDimStyle;
88 }
89
90 virtual QSharedPointer<RObject> clone() const {
91 return QSharedPointer<RObject>(new RDimStyle(*this));
92 }
93
94 QSharedPointer<RDimStyle> cloneToDimStyle() const {
95 return QSharedPointer<RDimStyle>(new RDimStyle(*this));
96 }
97
98 void updateDocumentVariables();
99 void updateFromDocumentVariables();
100
101 QPair<QVariant, RPropertyAttributes> getProperty(RPropertyTypeId& propertyTypeId, bool humanReadable=false, bool noAttributes=false, bool showOnRequest=false);
102 bool setProperty(RPropertyTypeId propertyTypeId, const QVariant& value, RTransaction* transaction);
103
104 void render(const REntityData& entityData, bool preview, bool forceSelected) {
105 if (hasProxy()) {
106 getDimStyleProxy()->render(*this, entityData, preview, forceSelected);
107 }
108 else {
109 qWarning() << "no dimension style proxy registered";
110 }
111 }
112
113 static bool hasProxy() {
114 return dimStyleProxy!=NULL;
115 }
116
121 if (dimStyleProxy!=NULL) {
122 delete dimStyleProxy;
123 }
124 dimStyleProxy = p;
125 }
126
131 return dimStyleProxy;
132 }
133
137 friend QDebug operator<<(QDebug dbg, const RDimStyle& s);
138
139public:
140 static QList<QPair<RPropertyTypeId, RS::KnownVariable> > propertyVariables;
141
142private:
144};
145
149Q_DECLARE_METATYPE(QSharedPointer<RDimStyle>)
150Q_DECLARE_METATYPE(QSharedPointer<RDimStyle>*)
151typedef QList<QPair<RPropertyTypeId, RS::KnownVariable> > _QListQPairRPropertyTypeIdRSKnownVariable;
153
154#endif
QList< QPair< RPropertyTypeId, RS::KnownVariable > > _QListQPairRPropertyTypeIdRSKnownVariable
Definition RDimStyle.h:151
Q_DECLARE_METATYPE(RMath *)
Copyright (c) 2011-2021 by Andrew Mustun.
Definition RDimStyleData.h:38
Dimension style class.
Definition RDimStyle.h:42
QSharedPointer< RDimStyle > cloneToDimStyle() const
Definition RDimStyle.h:94
static RPropertyTypeId PropertyArchTick
Definition RDimStyle.h:67
static RPropertyTypeId PropertyDimexo
Definition RDimStyle.h:56
static RPropertyTypeId PropertyDimblk1
Definition RDimStyle.h:70
static RPropertyTypeId PropertyDimtxt
Definition RDimStyle.h:51
static RPropertyTypeId PropertyDimasz
Definition RDimStyle.h:53
static RS::EntityType getRtti()
Definition RDimStyle.h:82
static RPropertyTypeId PropertyProtected
Definition RDimStyle.h:47
static RPropertyTypeId PropertyDimtad
Definition RDimStyle.h:57
static RPropertyTypeId PropertyHandle
Definition RDimStyle.h:46
void render(const REntityData &entityData, bool preview, bool forceSelected)
Definition RDimStyle.h:104
virtual RS::EntityType getType() const
Definition RDimStyle.h:86
static RPropertyTypeId PropertyDimexe
Definition RDimStyle.h:55
static RDimStyleProxy * getDimStyleProxy()
Definition RDimStyle.h:130
static RPropertyTypeId PropertyDimlunit
Definition RDimStyle.h:60
static RPropertyTypeId PropertyDimzin
Definition RDimStyle.h:63
static RDimStyleProxy * dimStyleProxy
Definition RDimStyle.h:143
static RPropertyTypeId PropertyDimscale
Definition RDimStyle.h:49
static RPropertyTypeId PropertyDimgap
Definition RDimStyle.h:52
static RPropertyTypeId PropertyDimblk2
Definition RDimStyle.h:71
static RPropertyTypeId PropertyDimaunit
Definition RDimStyle.h:64
static RPropertyTypeId PropertyDimlfac
Definition RDimStyle.h:50
static QList< QPair< RPropertyTypeId, RS::KnownVariable > > propertyVariables
Definition RDimStyle.h:140
static RPropertyTypeId PropertyDimdec
Definition RDimStyle.h:61
static RPropertyTypeId PropertyDimadec
Definition RDimStyle.h:65
static RPropertyTypeId PropertyDimblk
Definition RDimStyle.h:69
static RPropertyTypeId PropertyDimtsz
Definition RDimStyle.h:59
static RPropertyTypeId PropertyDimdsep
Definition RDimStyle.h:62
static RPropertyTypeId PropertyDimclrt
Definition RDimStyle.h:68
virtual QSharedPointer< RObject > clone() const
Definition RDimStyle.h:90
static RPropertyTypeId PropertyDimazin
Definition RDimStyle.h:66
static void setDimStyleProxy(RDimStyleProxy *p)
Definition RDimStyle.h:120
static RPropertyTypeId PropertyCustom
Copyright (c) 2011-2021 by Andrew Mustun.
Definition RDimStyle.h:45
static bool hasProxy()
Definition RDimStyle.h:113
static RPropertyTypeId PropertyDimdli
Definition RDimStyle.h:54
static RPropertyTypeId PropertyDimtih
Definition RDimStyle.h:58
Proxy for advanced dimension style functionality and rendering.
Definition RDimStyleProxy.h:35
A graphics document contains and owns entities, layers, user coordinate systems, variables,...
Definition RDocument.h:78
Base class for all entity data classes.
Definition REntityData.h:65
Abstract base class for exporters.
Definition RExporter.h:78
Abstract base class for all objects.
Definition RObject.h:64
static void init()
Definition RObject.cpp:68
virtual bool setProperty(RPropertyTypeId propertyTypeId, const QVariant &value, RTransaction *transaction=NULL)
Sets the given property to the given value.
Definition RObject.cpp:180
virtual QPair< QVariant, RPropertyAttributes > getProperty(RPropertyTypeId &propertyTypeId, bool humanReadable=false, bool noAttributes=false, bool showOnRequest=false)
Definition RObject.cpp:136
friend QDebug operator<<(QDebug dbg, const RObject &o)
Definition RObject.h:298
Copyright (c) 2011-2018 by Andrew Mustun.
Definition RPropertyTypeId.h:54
Class namespace for various global enums.
Definition RS.h:149
EntityType
Entity types used for property handling / filtering.
Definition RS.h:227
@ ObjectDimStyle
Definition RS.h:239
KnownVariableType
Definition RS.h:678
KnownVariable
Well established document variables.
Definition RS.h:501
Transaction implementation.
Definition RTransaction.h:73
#define QCADCORE_EXPORT
Definition core_global.h:10
char s
Definition opennurbs_string.cpp:32
#define NULL
Definition opennurbs_system.h:256