15#ifndef QGSANNOTATIONITEMWIDGETIMPL_H
16#define QGSANNOTATIONITEMWIDGETIMPL_H
25#include "ui_qgsannotationpointtextwidgetbase.h"
26#include "ui_qgsannotationsymbolwidgetbase.h"
27#include "ui_qgsannotationlinetextwidgetbase.h"
28#include "ui_qgsannotationrectangulartextwidgetbase.h"
29#include "ui_qgsannotationpicturewidgetbase.h"
53 QgsAnnotationPolygonItemWidget( QWidget *parent );
54 ~QgsAnnotationPolygonItemWidget()
override;
65 std::unique_ptr<QgsFillSymbol> mSymbol;
66 bool mBlockChangedSignal =
false;
67 std::unique_ptr<QgsAnnotationPolygonItem> mItem;
75 QgsAnnotationLineItemWidget( QWidget *parent );
76 ~QgsAnnotationLineItemWidget()
override;
87 std::unique_ptr<QgsLineSymbol> mSymbol;
88 bool mBlockChangedSignal =
false;
89 std::unique_ptr<QgsAnnotationLineItem> mItem;
97 QgsAnnotationMarkerItemWidget( QWidget *parent );
98 ~QgsAnnotationMarkerItemWidget()
override;
109 std::unique_ptr<QgsMarkerSymbol> mSymbol;
110 bool mBlockChangedSignal =
false;
111 std::unique_ptr<QgsAnnotationMarkerItem> mItem;
120 QgsAnnotationPointTextItemWidget( QWidget *parent );
121 ~QgsAnnotationPointTextItemWidget()
override;
135 void mInsertExpressionButton_clicked();
138 bool mBlockChangedSignal =
false;
139 std::unique_ptr<QgsAnnotationPointTextItem> mItem;
148 QgsAnnotationRectangleTextItemWidget( QWidget *parent );
149 ~QgsAnnotationRectangleTextItemWidget()
override;
165 void onWidgetChanged();
166 void sizeModeChanged();
171 void mInsertExpressionButton_clicked();
174 bool mBlockChangedSignal =
false;
175 bool mUpdateItemPosition =
false;
177 std::unique_ptr<QgsAnnotationRectangleTextItem> mItem;
185 QgsAnnotationLineTextItemWidget( QWidget *parent );
186 ~QgsAnnotationLineTextItemWidget()
override;
200 void mInsertExpressionButton_clicked();
203 bool mBlockChangedSignal =
false;
204 std::unique_ptr<QgsAnnotationLineTextItem> mItem;
213 QgsAnnotationPictureItemWidget( QWidget *parent );
214 ~QgsAnnotationPictureItemWidget()
override;
229 void onWidgetChanged();
231 void modeChanged(
bool checked );
232 void sizeModeChanged();
235 void setLockAspectRatio(
bool locked );
238 double pictureAspectRatio()
const;
240 bool mBlockChangedSignal =
false;
241 bool mUpdateItemPosition =
false;
242 std::unique_ptr<QgsAnnotationPictureItem> mItem;
Abstract base class for annotation items which are drawn with QgsAnnotationLayers.
An annotation item which renders a line symbol along a line geometry.
An annotation item which renders text along a line geometry.
An annotation item which renders a marker symbol at a point location.
An annotation item which renders a picture.
An annotation item which renders a text string at a point location.
An annotation item which renders a fill symbol for a polygon geometry.
An annotation item which renders paragraphs of text within a rectangle.
Abstract interface for generating an expression context.
virtual QgsExpressionContext createExpressionContext() const =0
This method needs to be reimplemented in all classes which implement this interface and return an exp...
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
A fill symbol type, for rendering Polygon and MultiPolygon geometries.
A line symbol type, for rendering LineString and MultiLineString geometries.
A marker symbol type, for rendering Point and MultiPoint geometries.
Contains settings which reflect the context in which a symbol (or renderer) widget is shown,...
A widget for customizing text formatting settings.