15#ifndef QGSPROPERTYOVERRIDEBUTTON_H
16#define QGSPROPERTYOVERRIDEBUTTON_H
51 Q_PROPERTY( QString usageInfo READ usageInfo WRITE setUsageInfo )
52 Q_PROPERTY(
bool active READ isActive WRITE setActive )
72 void init(
int propertyKey,
76 bool auxiliaryStorageEnabled =
false );
86 void init(
int propertyKey,
90 bool auxiliaryStorageEnabled =
false );
100 void init(
int propertyKey,
104 bool auxiliaryStorageEnabled =
false );
126 bool isActive()
const {
return mProperty && mProperty.isActive(); }
151 void setUsageInfo(
const QString &info ) { mUsageInfo = info; updateGui(); }
172 void registerCheckedWidget( QWidget *widget,
bool natural =
true );
179 void registerEnabledWidget( QWidget *widget,
bool natural =
true );
186 void registerVisibleWidget( QWidget *widget,
bool natural =
true );
192 void registerExpressionWidget( QWidget *widget );
209 void registerLinkedWidget( QWidget *widget );
215 void updateFieldLists();
229 void setActive(
bool active );
235 void aboutToShowMenu();
236 void menuActionTriggered( QAction *action );
252 void mouseReleaseEvent( QMouseEvent *event )
override;
256 void showDescriptionDialog();
257 void showExpressionDialog();
258 void showAssistant();
265 void setActivePrivate(
bool active );
268 int mPropertyKey = -1;
272 QStringList mFieldNameList;
273 QStringList mFieldDisplayNameList;
274 QList< QIcon > mFieldIcons;
276 QString mExpressionString;
279 QMenu *mDefineMenu =
nullptr;
280 QAction *mActionDataTypes =
nullptr;
281 QMenu *mFieldsMenu =
nullptr;
282 QMenu *mVariablesMenu =
nullptr;
283 QAction *mActionVariables =
nullptr;
284 QMenu *mColorsMenu =
nullptr;
285 QAction *mActionColors =
nullptr;
287 QAction *mActionActive =
nullptr;
288 QAction *mActionDescription =
nullptr;
289 QAction *mActionExpDialog =
nullptr;
290 QAction *mActionExpression =
nullptr;
291 QAction *mActionPasteExpr =
nullptr;
292 QAction *mActionCopyExpr =
nullptr;
293 QAction *mActionClearExpr =
nullptr;
294 QAction *mActionAssistant =
nullptr;
295 QAction *mActionCreateAuxiliaryField =
nullptr;
300 QString mDataTypesString;
301 QString mInputDescription;
302 QString mFullDescription;
312 SiblingExpressionText,
317 SiblingWidget(
const QPointer<QWidget> &widgetPointer, SiblingType siblingType,
bool natural =
true )
318 : mWidgetPointer( widgetPointer )
319 , mSiblingType( siblingType )
320 , mNatural( natural )
322 QPointer<QWidget> mWidgetPointer;
323 SiblingType mSiblingType;
326 QList< SiblingWidget > mSiblingWidgets;
331 bool mAuxiliaryStorageEnabled =
false;
333 std::shared_ptr< QgsSymbol > mSymbol;
338 void updateSiblingWidgets(
bool state );
Abstract base class for QgsPropertyCollection like objects.
Abstract interface for generating an expression context.
Map canvas is a class for displaying all GIS data types on a canvas.
Definition for a property.
DataType
Valid data types required by property.
@ DataTypeString
Property requires a string value.
A store for object properties.
Abstract base class for all rendered symbols.
Represents a vector layer which manages a vector based data sets.
QMap< int, QgsPropertyDefinition > QgsPropertiesDefinition
Definition of available properties.