15 #ifndef QGSPROPERTYOVERRIDEBUTTON_H
16 #define QGSPROPERTYOVERRIDEBUTTON_H
24 #include <QToolButton>
53 Q_PROPERTY( QString usageInfo READ usageInfo WRITE setUsageInfo )
54 Q_PROPERTY(
bool active READ isActive WRITE setActive )
74 void init(
int propertyKey,
78 bool auxiliaryStorageEnabled =
false );
88 void init(
int propertyKey,
92 bool auxiliaryStorageEnabled =
false );
102 void init(
int propertyKey,
106 bool auxiliaryStorageEnabled =
false );
128 bool isActive()
const {
return mProperty && mProperty.isActive(); }
153 void setUsageInfo(
const QString &info ) { mUsageInfo = info; updateGui(); }
174 void registerCheckedWidget( QWidget *widget,
bool natural =
true );
181 void registerEnabledWidget( QWidget *widget,
bool natural =
true );
188 void registerVisibleWidget( QWidget *widget,
bool natural =
true );
194 void registerExpressionWidget( QWidget *widget );
211 void registerLinkedWidget( QWidget *widget );
218 void updateFieldLists();
232 void setActive(
bool active );
238 void aboutToShowMenu();
239 void menuActionTriggered( QAction *action );
255 void mouseReleaseEvent( QMouseEvent *event )
override;
259 void showDescriptionDialog();
260 void showExpressionDialog();
261 void showAssistant();
268 void setActivePrivate(
bool active );
271 int mPropertyKey = -1;
275 QStringList mFieldNameList;
276 QStringList mFieldDisplayNameList;
277 QList< QIcon > mFieldIcons;
279 QString mExpressionString;
282 QMenu *mDefineMenu =
nullptr;
283 QAction *mActionDataTypes =
nullptr;
284 QMenu *mFieldsMenu =
nullptr;
285 QMenu *mVariablesMenu =
nullptr;
286 QAction *mActionVariables =
nullptr;
287 QMenu *mColorsMenu =
nullptr;
288 QAction *mActionColors =
nullptr;
290 QAction *mActionActive =
nullptr;
291 QAction *mActionDescription =
nullptr;
292 QAction *mActionExpDialog =
nullptr;
293 QAction *mActionExpression =
nullptr;
294 QAction *mActionPasteExpr =
nullptr;
295 QAction *mActionCopyExpr =
nullptr;
296 QAction *mActionClearExpr =
nullptr;
297 QAction *mActionAssistant =
nullptr;
298 QAction *mActionCreateAuxiliaryField =
nullptr;
303 QString mDataTypesString;
304 QString mInputDescription;
305 QString mFullDescription;
315 SiblingExpressionText,
320 SiblingWidget(
const QPointer<QWidget> &widgetPointer, SiblingType siblingType,
bool natural =
true )
321 : mWidgetPointer( widgetPointer )
322 , mSiblingType( siblingType )
323 , mNatural( natural )
325 QPointer<QWidget> mWidgetPointer;
326 SiblingType mSiblingType;
329 QList< SiblingWidget > mSiblingWidgets;
334 bool mAuxiliaryStorageEnabled =
false;
336 std::shared_ptr< QgsSymbol > mSymbol;
341 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.