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.