17 #ifndef QGSCOMPOSERITEM_H
18 #define QGSCOMPOSERITEM_H
24 #include <QGraphicsRectItem>
46 ComposerItem = UserType + 100,
119 virtual int type()
const override {
return ComposerItem; }
128 virtual bool isRemoved()
const {
return mRemovedFromComposition; }
137 void setIsRemoved(
const bool removed ) { mRemovedFromComposition = removed; }
146 void move(
double dx,
double dy );
151 virtual void moveContent(
double dx,
double dy ) { Q_UNUSED( dx ); Q_UNUSED( dy ); }
159 Q_DECL_DEPRECATED
virtual void zoomContent(
int delta,
double x,
double y ) { Q_UNUSED( delta ); Q_UNUSED( x ); Q_UNUSED( y ); }
193 void updatePagePos(
double newPageWidth,
double newPageHeight );
202 void setItemPosition(
double x,
double y, ItemPositionMode itemPoint = UpperLeft,
int page = -1 );
214 void setItemPosition(
double x,
double y,
double width,
double height, ItemPositionMode itemPoint = UpperLeft,
bool posIncludesFrame =
false,
int page = -1 );
222 virtual void setSceneRect(
const QRectF& rectangle );
246 virtual void setFrameEnabled(
const bool drawFrame );
256 virtual void setFrameOutlineColor(
const QColor& color );
276 virtual void setFrameOutlineWidth(
const double outlineWidth );
306 void setFrameJoinStyle(
const Qt::PenJoinStyle style );
315 virtual double estimatedFrameBleed()
const;
325 virtual QRectF rectWithFrame()
const;
355 void setBackgroundColor(
const QColor& backgroundColor );
361 QPainter::CompositionMode
blendMode()
const {
return mBlendMode; }
367 void setBlendMode(
const QPainter::CompositionMode blendMode );
379 void setTransparency(
const int transparency );
395 void setEffectsEnabled(
const bool effectsEnabled );
411 void cancelCommand();
432 Q_DECL_DEPRECATED
void drawText(
QPainter* p,
const QRectF& rect,
const QString& text,
const QFont& font, Qt::AlignmentFlag halignment = Qt::AlignLeft, Qt::AlignmentFlag valignment = Qt::AlignTop,
int flags = Qt::TextWordWrap )
const;
437 Q_DECL_DEPRECATED
double textWidthMillimeters(
const QFont& font,
const QString& text )
const;
442 Q_DECL_DEPRECATED
double fontHeightCharacterMM(
const QFont& font,
const QChar& c )
const;
447 Q_DECL_DEPRECATED
double fontAscentMillimeters(
const QFont& font )
const;
452 Q_DECL_DEPRECATED
double fontDescentMillimeters(
const QFont& font )
const;
459 Q_DECL_DEPRECATED
double fontHeightMillimeters(
const QFont& font )
const;
464 Q_DECL_DEPRECATED
double pixelFontSize(
double pointSize )
const;
469 Q_DECL_DEPRECATED
QFont scaledFontPixelSize(
const QFont& font )
const;
475 void setPositionLock(
const bool lock );
497 Q_DECL_DEPRECATED
double rotation()
const {
return mEvaluatedItemRotation; }
512 virtual void setId(
const QString&
id );
529 virtual QString displayName()
const;
538 virtual void setVisibility(
const bool visible );
554 virtual void setExcludeFromExports(
const bool exclude );
568 void setIsGroupMember(
const bool isGroupMember );
598 virtual void setItemRotation(
const double r,
const bool adjustPosition =
false );
678 virtual void drawSelectionBoxes(
QPainter* p );
681 virtual void drawFrame(
QPainter* p );
684 virtual void drawBackground(
QPainter* p );
689 Q_DECL_DEPRECATED
void drawArrowHead(
QPainter* p,
double x,
double y,
double angle,
double arrowHeadWidth )
const;
696 double rectHandlerBorderTolerance()
const;
701 Q_DECL_DEPRECATED
double lockSymbolSize()
const;
706 double horizontalViewScaleFactor()
const;
713 Q_DECL_DEPRECATED
bool imageSizeConsideringRotation(
double& width,
double& height,
double rotation )
const;
718 Q_DECL_DEPRECATED
bool imageSizeConsideringRotation(
double& width,
double& height )
const;
727 Q_DECL_DEPRECATED
QRectF largestRotatedRectWithinBounds(
QRectF originalRect,
QRectF boundsRect,
double rotation )
const;
732 Q_DECL_DEPRECATED
bool cornerPointOnRotatedAndScaledRect(
double& x,
double& y,
double width,
double height,
double rotation )
const;
737 Q_DECL_DEPRECATED
bool cornerPointOnRotatedAndScaledRect(
double& x,
double& y,
double width,
double height )
const;
742 Q_DECL_DEPRECATED
void sizeChangedByRotation(
double& width,
double& height,
double rotation );
747 Q_DECL_DEPRECATED
void sizeChangedByRotation(
double& width,
double& height );
755 Q_DECL_DEPRECATED
void rotate(
double angle,
double& x,
double& y )
const;
759 void deleteHAlignSnapItem();
762 void deleteVAlignSnapItem();
763 void deleteAlignItems();
775 QRectF evalItemRect(
const QRectF &newRect,
const bool resizeOnly =
false );
781 bool shouldDrawItem()
const;
785 void itemRotationChanged(
double newRotation );
805 bool mCompositionManagesZValue;
813 void refreshRotation(
const bool updateItem =
true,
const bool rotateAroundCenter =
false );
820 void refreshTransparency(
const bool updateItem =
true );
825 void refreshBlendMode();
827 void init(
const bool manageZValue );
bool positionLock() const
Returns whether position lock for mouse drags is enabled returns true if item is locked for mouse mov...
bool mExcludeFromExports
Whether item should be excluded in exports.
void setSelected(bool selected)
bool effectsEnabled() const
Returns whether effects (eg blend modes) are enabled for the item.
int mTransparency
Item transparency.
A base class for objects which belong to a map composition.
A container class for data source field mapping or expression.
QPointF mLastMouseEventPos
Position of the last mouse move event (in scene coordinates)
virtual void beginItemCommand(const QString &text)
ItemPositionMode lastUsedPositionMode()
Returns item's last used position mode.
virtual bool selected() const
Is selected.
virtual void removeItems()
Qt::PenJoinStyle frameJoinStyle() const
Returns the join style used for drawing the item's frame.
ZoomMode
Modes for zooming item content.
A item that forms part of a map composition.
QgsComposerItem::MouseMoveAction mCurrentMouseMoveAction
double mLastValidViewScaleFactor
Backup to restore item appearance if no view scale factor is available.
ItemPositionMode mLastUsedPositionMode
The item's position mode.
A container for grouping several QgsComposerItems.
virtual void zoomContent(const double factor, const QPointF point, const ZoomMode mode=QgsComposerItem::Zoom)
Zoom content of item.
QColor backgroundColor() const
Gets the background color for this item.
QPainter::CompositionMode mBlendMode
Composition blend mode for item.
void update(const QRectF &rect)
DataDefinedProperty
Data defined properties for different item types.
double frameOutlineWidth() const
Returns the frame's outline width.
virtual void moveContent(double dx, double dy)
Move Content of item.
QString uuid() const
Get item identification name.
virtual void setCurrentExportLayer(const int layerIdx=-1)
Sets the current layer to draw for exporting.
void setIsRemoved(const bool removed)
Sets whether this item has been removed from the composition.
int transparency() const
Returns the item's transparency.
virtual void updateItem()
Updates item, with the possibility to do custom update for subclasses.
QGraphicsRectItem * mBoundingResizeRectangle
Rectangle used during move and resize actions.
bool mFrame
True if item fram needs to be painted.
MouseMoveAction
Describes the action (move or resize in different directon) to be done during mouse move...
double mEvaluatedItemRotation
Temporary evaluated item rotation in degrees, clockwise.
virtual void repaint()
Triggers a redraw for the item.
bool mRemovedFromComposition
True if item has been removed from the composition.
virtual int numberExportLayers() const
Get the number of layers that this item requires for exporting as layers.
PropertyValueType
Specifies whether the value returned by a function should be the original, user set value...
QPointF mMouseMoveStartPos
Start point of the last mouse move action (in scene coordinates)
void setBackgroundEnabled(const bool drawBackground)
Set whether this item has a Background drawn around it or not.
Graphics scene for map printing.
double ANALYSIS_EXPORT angle(Point3D *p1, Point3D *p2, Point3D *p3, Point3D *p4)
Calculates the angle between two segments (in 2 dimension, z-values are ignored)
virtual bool isRemoved() const
Returns whether this item has been removed from the composition.
QColor frameOutlineColor() const
Returns the frame's outline color.
Q_DECL_DEPRECATED double rotation() const
Returns the rotation for the composer item.
Qt::PenJoinStyle mFrameJoinStyle
Frame join style.
QColor mBackgroundColor
Background color.
QGraphicsLineItem * mVAlignSnapItem
virtual Q_DECL_DEPRECATED void zoomContent(int delta, double x, double y)
Zoom content of item.
QGraphicsLineItem * mHAlignSnapItem
int mCurrentExportLayer
The layer that needs to be exported.
virtual void endItemCommand()
virtual void addItem(QgsComposerItem *item)
Composite operations for item groups do nothing per default.
bool mItemPositionLocked
True if item position and size cannot be changed with mouse move.
QPainter::CompositionMode blendMode() const
Returns the item's composition blending mode.
bool hasFrame() const
Whether this item has a frame or not.
bool hasBackground() const
Whether this item has a Background or not.
void setRotation(qreal angle)
QgsComposerEffect * mEffect
bool mBackground
True if item background needs to be painted.
bool isGroupMember() const
Returns whether this item is part of a group.
bool mIsGroupMember
Whether or not this item is part of a group.
virtual void refreshDataDefinedProperty(const DataDefinedProperty property=AllProperties)
Refreshes a data defined property for the item by reevaluating the property's value and redrawing the...
double mItemRotation
Item rotation in degrees, clockwise.
bool mEvaluatedExcludeFromExports
Temporary evaluated item exclusion.
virtual int type() const override
return correct graphics item type.
QString id() const
Get item's id (which is not necessarly unique)