|
QCAD
Open Source 2D CAD
|
Go to the documentation of this file.
20 #ifndef RTEXTBASEDDATA_H
21 #define RTEXTBASEDDATA_H
53 DimensionLabel = 0x008,
58 Q_DECLARE_FLAGS(TextFlags, TextFlag)
73 double lineSpacingFactor,
75 const QString& fontName,
94 return (
flags & flag) == flag;
98 return !text.isNull();
100 virtual bool isSane()
const;
112 return QList<RVector>();
116 return QList<RVector>();
120 return QList<RVector>();
128 return QList<RVector>();
131 virtual double getDistanceTo(
const RVector& point,
bool limited =
true,
double range = 0.0,
bool draft =
false,
double strictRange =
RMAXDOUBLE)
const;
142 this->position = position;
150 return alignmentPoint;
154 this->alignmentPoint = alignmentPoint;
157 void setText(
const QString& text);
170 this->fontFile = fontFile;
196 this->textHeight = h;
213 this->verticalAlignment = valign;
218 return this->verticalAlignment;
222 this->horizontalAlignment = halign;
227 return this->horizontalAlignment;
231 this->drawingDirection = drawingDirection;
236 return drawingDirection;
240 this->lineSpacingStyle = lineSpacingStyle;
245 return lineSpacingStyle;
249 if (lineSpacingFactor<0) {
252 this->lineSpacingFactor = lineSpacingFactor;
257 return lineSpacingFactor;
274 this->xScale = xScale;
315 return getFlag(DimensionLabel);
345 virtual QString getRenderedText(
bool escapeUnicode =
false)
const;
348 static QString escapeUnicode(
const QString& str);
349 virtual QFont getMainFont()
const;
351 virtual void update(
bool layout)
const;
355 virtual bool isDirty()
const;
358 virtual QList<QSharedPointer<RShape> >
getShapes(
const RBox& queryBox =
RDEFAULT_RBOX,
bool ignoreComplex =
false,
bool segment =
false)
const;
359 virtual QList<QSharedPointer<RShape> >
getExploded()
const;
364 Q_UNUSED(ignoreComplex)
365 return QSharedPointer<RShape>();
370 QList<RTextLayout> getTextLayouts()
const;
379 return textProxy!=NULL;
386 if (textProxy!=NULL) {
399 static QString toEscapedText(
const QTextDocument& textDocument,
const RColor& initialColor,
double fontHeightFactor=1.0,
bool simpleText =
false);
400 static QString toRichText(
const QString& escapedText,
const QFont& mainFont,
double fontHeightFactor=1.0);
double getTextWidth() const
Width of the text box used for line wrapping (not supported).
Definition: RTextBasedData.h:203
Interface for entity data classes that can deliver painter paths.
Definition: RPainterPathSource.h:40
virtual void update() const
Entities can reimplement this function to invalidate any internal cache (mark the entity as dirty).
Definition: REntityData.h:408
bool isBackward() const
Definition: RTextBasedData.h:296
void setFontFile(const QString &fontFile)
Definition: RTextBasedData.h:169
static bool hasProxy()
Definition: RTextBasedData.h:378
static void setTextProxy(RTextProxy *p)
Definition: RTextBasedData.h:385
RS::HAlign horizontalAlignment
Definition: RTextBasedData.h:409
void setBold(bool on)
Definition: RTextBasedData.h:177
bool isUpsideDown() const
Definition: RTextBasedData.h:305
void setVAlign(RS::VAlign valign)
Definition: RTextBasedData.h:212
@ EntityTextBased
Any text based entity (text, attribute def, attribute)
Definition: RS.h:154
virtual RBox getBoundingBox(bool ignoreEmpty=false) const
Definition: REntityData.cpp:303
void setFlag(int flag, bool on=true)
Definition: RObject.h:123
HAlign
Horizontal alignments.
Definition: RS.h:234
@ NoFlags
Definition: RObject.h:85
double xScale
Definition: RTextBasedData.h:416
void setHAlign(RS::HAlign halign)
Definition: RTextBasedData.h:221
virtual bool isSane() const
Definition: REntityData.h:102
QString getEscapedText(bool escapeUnicode=false) const
Definition: RTextBasedEntity.h:257
virtual bool isValid() const
Definition: RTextBasedData.h:97
Represents a 3d vector (x/y/z).
Definition: RVector.h:46
virtual QList< RVector > getMiddlePoints(const RBox &queryBox=RDEFAULT_RBOX) const
Definition: RTextBasedData.h:114
RVector getPosition() const
Definition: RTextBasedData.h:137
virtual bool intersectsWith(const RShape &shape) const
Definition: REntityData.cpp:499
void setAngle(double angle)
Definition: RTextBasedData.h:260
void setAlignmentPoint(const RVector &alignmentPoint)
Definition: RTextBasedData.h:153
virtual QList< RVector > getCenterPoints(const RBox &queryBox=RDEFAULT_RBOX) const
Definition: RTextBasedData.h:118
EntityType
Entity types used for property handling / filtering.
Definition: RS.h:125
virtual void update() const
Entities can reimplement this function to invalidate any internal cache (mark the entity as dirty).
Definition: RTextBasedData.h:352
RS::TextLineSpacingStyle getLineSpacingStyle() const
Definition: RTextBasedData.h:244
void setLineSpacingFactor(double lineSpacingFactor)
Definition: RTextBasedData.h:248
void setXScale(double xScale)
Definition: RTextBasedData.h:269
RDocument * document
Definition: RObject.h:341
void setDrawingDirection(RS::TextDrawingDirection drawingDirection)
Definition: RTextBasedData.h:230
TextFlags flags
Definition: RTextBasedData.h:417
QString getPlainText() const
Definition: RTextBasedEntity.h:265
TextDrawingDirection
Text drawing direction.
Definition: RS.h:246
QString fontName
Definition: RTextBasedData.h:413
virtual QSharedPointer< RShape > getClosestShape(const RVector &pos, double range=RNANDOUBLE, bool ignoreComplex=false) const
Definition: RTextBasedData.h:361
double height
Definition: RTextBasedData.h:419
bool dirty
Definition: RTextBasedData.h:423
void setFlag(RTextBasedData::TextFlag flag, bool on=true)
Definition: RTextBasedData.h:86
void setText(const QString &text)
Definition: RTextBasedEntity.h:269
QCADCORE_EXPORT QDebug operator<<(QDebug dbg, const RTextBasedData &t)
Definition: RTextBasedData.cpp:1070
void setSimple(bool on)
Definition: RTextBasedData.h:282
TextLineSpacingStyle
Line spacing style for texts.
Definition: RS.h:255
static RTextProxy * textProxy
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: RTextBasedData.h:428
Low-level mathematical representation of a line.
Definition: RLine.h:41
QString getFontFile() const
Definition: RTextBasedData.h:165
bool isSimple() const
Definition: RTextBasedData.h:287
bool isItalic() const
Definition: RTextBasedData.h:182
QList< RTextBasedData > getSimpleTextBlocks()
Definition: RTextBasedEntity.h:277
Interface for geometrical shape classes.
Definition: RShape.h:72
RVector alignmentPoint
Definition: RTextBasedData.h:405
double getWidth() const
Definition: RTextBasedEntity.h:174
double getHeight() const
Definition: RTextBasedEntity.h:177
double width
Definition: RTextBasedData.h:420
virtual RS::EntityType getType() const
Definition: RTextBasedData.h:82
double getLineSpacingFactor() const
Definition: RTextBasedData.h:256
Q_DECLARE_METATYPE(RMath *)
void sync(const RTextBasedEntity &other)
Definition: RTextBasedEntity.h:273
RVector getAlignmentPoint() const
Definition: RTextBasedData.h:149
QString getFontName() const
Definition: RTextBasedData.h:159
bool getFlag(int flag) const
Definition: RObject.h:130
bool isDimensionLabel() const
Definition: RTextBasedData.h:314
double textWidth
Definition: RTextBasedData.h:407
#define RNANDOUBLE
Definition: RMath.h:71
static RTextProxy * getTextProxy()
Definition: RTextBasedData.h:395
virtual QList< RRefPoint > getReferencePoints(RS::ProjectionRenderingHint hint=RS::RenderTop) const =0
virtual void setSelected(bool on)
Selects or deselects this entity.
Definition: REntityData.h:190
double angle
Definition: RTextBasedData.h:415
double getTextHeight() const
Definition: RTextBasedData.h:191
Base class for all entity data classes.
Definition: REntityData.h:67
#define RDEFAULT_MIN1
Copyright (c) 2011-2018 by Andrew Mustun.
Definition: RExplodable.h:30
void setDimensionLabel(bool on)
Definition: RTextBasedData.h:309
Proxy for advanced text functionality.
Definition: RTextProxy.h:36
virtual ~RTextBasedData()
Definition: RTextBasedData.h:80
void setHighlighted(bool on)
Definition: RTextBasedData.h:323
virtual QList< RVector > getPointsWithDistanceToEnd(double distance, int from=RS::FromAny, const RBox &queryBox=RDEFAULT_RBOX) const
Definition: RTextBasedData.h:122
bool getFlag(RTextBasedData::TextFlag flag) const
Definition: RTextBasedData.h:93
bool gotDraft
Definition: RTextBasedData.h:424
RS::TextLineSpacingStyle lineSpacingStyle
Definition: RTextBasedData.h:411
void setItalic(bool on)
Definition: RTextBasedData.h:186
A graphics document contains and owns entities, layers, user coordinate systems, variables,...
Definition: RDocument.h:72
QList< RTextLayout > textLayouts
Definition: RTextBasedData.h:425
double textHeight
Definition: RTextBasedData.h:406
double getAngle() const
Definition: RTextBasedData.h:265
void setSelected(bool on)
Selects or deselects this entity.
Definition: RTextBasedData.h:318
virtual bool move(const RVector &offset)
Moves this entity by the given offset.
Definition: REntityData.cpp:571
Stores and manages all data that defines the geometry and appearance of a text based entity (text,...
Definition: RTextBasedData.h:44
#define RMAXDOUBLE
Definition: RMath.h:63
RS::VAlign verticalAlignment
Definition: RTextBasedData.h:408
virtual RVector getClosestPointOnEntity(const RVector &point, double range=RNANDOUBLE, bool limited=true) const
Definition: REntityData.cpp:438
virtual bool scale(const RVector &scaleFactors, const RVector ¢er=RDEFAULT_RVECTOR)
Definition: REntityData.cpp:591
RS::TextDrawingDirection drawingDirection
Definition: RTextBasedData.h:410
RS::TextDrawingDirection getDrawingDirection() const
Definition: RTextBasedData.h:235
bool isBold() const
Definition: RTextBasedData.h:173
double getXScale() const
Definition: RTextBasedData.h:278
virtual bool mirror(const RLine &axis)
Definition: REntityData.cpp:611
QList< RPainterPath > painterPaths
Definition: RTextBasedData.h:422
virtual bool rotate(double rotation, const RVector ¢er=RDEFAULT_RVECTOR)
Definition: REntityData.cpp:581
RS::HAlign getHAlign() const
Definition: RTextBasedData.h:226
QString text
Definition: RTextBasedData.h:403
Text entity.
Definition: RTextBasedEntity.h:38
virtual QList< RVector > getEndPoints(const RBox &queryBox=RDEFAULT_RBOX) const
Definition: RTextBasedData.h:110
void setUpsideDown(bool on)
Definition: RTextBasedData.h:300
bool isHighlighted() const
Definition: RTextBasedData.h:327
virtual QString getText() const
Definition: RTextBasedData.h:342
RVector position
Definition: RTextBasedData.h:404
void setLineSpacingStyle(RS::TextLineSpacingStyle lineSpacingStyle)
Definition: RTextBasedData.h:239
@ FromAny
Start or end.
Definition: RS.h:266
bool isSimple() const
Definition: RTextBasedEntity.h:253
ProjectionRenderingHint
Sets the current rendering hint for exports.
Definition: RS.h:185
#define RDEFAULT_RBOX
Definition: RBox.h:32
virtual RVector getPointOnEntity() const
Definition: REntityData.cpp:362
virtual QList< QSharedPointer< RShape > > getExploded() const
Definition: RTextBasedEntity.h:106
virtual bool flipHorizontal()
Definition: REntityData.cpp:625
void setTextWidth(double w)
Definition: RTextBasedData.h:207
TextFlag
Definition: RTextBasedData.h:48
QString fontFile
Definition: RTextBasedData.h:414
RBox boundingBox
Definition: RTextBasedData.h:421
virtual QList< QSharedPointer< RShape > > getShapes(const RBox &queryBox=RDEFAULT_RBOX, bool ignoreComplex=false, bool segment=false) const
Definition: REntityData.h:113
Flags flags
Object flags (undone, protected, ...)
Definition: RObject.h:353
void setTextHeight(double h)
Definition: RTextBasedData.h:195
@ RenderTop
Definition: RS.h:186
Represents a box e.g.
Definition: RBox.h:43
virtual double getDistanceTo(const RVector &point, bool limited=true, double range=0.0, bool draft=false, double strictRange=RMAXDOUBLE) const
Definition: REntityData.cpp:289
RS::VAlign getVAlign() const
Definition: RTextBasedData.h:217
void setFontName(const QString &fontName)
Definition: RTextBasedEntity.h:201
#define QCADCORE_EXPORT
Definition: core_global.h:10
virtual bool moveReferencePoint(const RVector &referencePoint, const RVector &targetPoint, Qt::KeyboardModifiers modifiers=Qt::NoModifier)=0
Moves the given reference point to the given target point or does nothing if this entity has no refer...
virtual bool flipVertical()
Definition: REntityData.cpp:629
void setBackward(bool on)
Definition: RTextBasedData.h:291
QList< RPainterPath > getPainterPaths(bool draft=false) const
Definition: RTextBasedEntity.h:98
void setPosition(const RVector &position)
Definition: RTextBasedData.h:141
Color.
Definition: RColor.h:44
VAlign
Vertical alignments.
Definition: RS.h:224
double lineSpacingFactor
Definition: RTextBasedData.h:412