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;
66 std::unique_ptr< QgsFillSymbol > mSymbol;
67 bool mBlockChangedSignal =
false;
68 std::unique_ptr< QgsAnnotationPolygonItem> mItem;
76 QgsAnnotationLineItemWidget( QWidget *parent );
77 ~QgsAnnotationLineItemWidget()
override;
89 std::unique_ptr< QgsLineSymbol > mSymbol;
90 bool mBlockChangedSignal =
false;
91 std::unique_ptr< QgsAnnotationLineItem> mItem;
99 QgsAnnotationMarkerItemWidget( QWidget *parent );
100 ~QgsAnnotationMarkerItemWidget()
override;
112 std::unique_ptr< QgsMarkerSymbol > mSymbol;
113 bool mBlockChangedSignal =
false;
114 std::unique_ptr< QgsAnnotationMarkerItem> mItem;
123 QgsAnnotationPointTextItemWidget( QWidget *parent );
124 ~QgsAnnotationPointTextItemWidget()
override;
138 void mInsertExpressionButton_clicked();
141 bool mBlockChangedSignal =
false;
142 std::unique_ptr< QgsAnnotationPointTextItem> mItem;
151 QgsAnnotationRectangleTextItemWidget( QWidget *parent );
152 ~QgsAnnotationRectangleTextItemWidget()
override;
168 void onWidgetChanged();
169 void sizeModeChanged();
174 void mInsertExpressionButton_clicked();
177 bool mBlockChangedSignal =
false;
178 bool mUpdateItemPosition =
false;
180 std::unique_ptr< QgsAnnotationRectangleTextItem> mItem;
188 QgsAnnotationLineTextItemWidget( QWidget *parent );
189 ~QgsAnnotationLineTextItemWidget()
override;
203 void mInsertExpressionButton_clicked();
206 bool mBlockChangedSignal =
false;
207 std::unique_ptr< QgsAnnotationLineTextItem> mItem;
216 QgsAnnotationPictureItemWidget( QWidget *parent );
217 ~QgsAnnotationPictureItemWidget()
override;
232 void onWidgetChanged();
234 void modeChanged(
bool checked );
235 void sizeModeChanged();
238 void setLockAspectRatio(
bool locked );
240 double pictureAspectRatio()
const;
242 bool mBlockChangedSignal =
false;
243 bool mUpdateItemPosition =
false;
244 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.