class QgsSymbolSelectorWidget : QgsPanelWidget { %TypeHeaderCode #include %End public: QgsSymbolSelectorWidget( QgsSymbol *symbol, QgsStyle *style, const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0); //! return menu for "advanced" button - create it if doesn't exist and show the advanced button QMenu *advancedMenu(); /** Sets the context in which the symbol widget is shown, e.g., the associated map canvas and expression contexts. * @param context symbol widget context * @see context() * @note added in QGIS 3.0 */ void setContext( const QgsSymbolWidgetContext &context ); /** Returns the context in which the symbol widget is shown, e.g., the associated map canvas and expression contexts. * @see setContext() * @note added in QGIS 3.0 */ QgsSymbolWidgetContext context() const; /** * @brief Return the symbol that is currently active in the widget. Can be null. * @return The active symbol. */ QgsSymbol *symbol(); protected: //! Reimplements dialog keyPress event so we can ignore it void keyPressEvent( QKeyEvent *event ); void loadSymbol(); //! @note not available in python bindings // void loadSymbol( QgsSymbol *symbol, SymbolLayerItem *parent ); void updateUi(); void updateLockButton(); //! @note not available in python bindings // SymbolLayerItem *currentLayerItem(); QgsSymbolLayer *currentLayer(); void moveLayerByOffset( int offset ); void setWidget( QWidget *widget ); signals: void symbolModified(); public slots: void moveLayerDown(); void moveLayerUp(); void addLayer(); void removeLayer(); void lockLayer(); //! Duplicates the current symbol layer and places the duplicated layer above the current symbol layer //! @note added in QGIS 2.14 void duplicateLayer(); void layerChanged(); void updateLayerPreview(); void updatePreview(); //! Slot to update tree when a new symbol from style void symbolChanged(); //! alters tree and sets proper widget when Layer Type is changed //! @note: The layer is received from the LayerPropertiesWidget void changeLayer( QgsSymbolLayer *layer ); }; class QgsSymbolSelectorDialog : QDialog { %TypeHeaderCode #include %End public: QgsSymbolSelectorDialog( QgsSymbol *symbol, QgsStyle *style, const QgsVectorLayer *vl, QWidget *parent /TransferThis/ = 0, bool embedded = false ); //! return menu for "advanced" button - create it if doesn't exist and show the advanced button QMenu *advancedMenu(); /** Sets the context in which the symbol widget is shown, e.g., the associated map canvas and expression contexts. * @param context symbol widget context * @see context() * @note added in QGIS 3.0 */ void setContext( const QgsSymbolWidgetContext &context ); /** Returns the context in which the symbol widget is shown, e.g., the associated map canvas and expression contexts. * @see setContext() * @note added in QGIS 3.0 */ QgsSymbolWidgetContext context() const; QgsSymbol *symbol(); protected: //! Reimplements dialog keyPress event so we can ignore it void keyPressEvent( QKeyEvent *event ); void loadSymbol(); //! @note not available in python bindings // void loadSymbol( QgsSymbol *symbol, SymbolLayerItem *parent ); void updateUi(); void updateLockButton(); //! @note not available in python bindings // SymbolLayerItem *currentLayerItem(); QgsSymbolLayer *currentLayer(); void moveLayerByOffset( int offset ); void setWidget( QWidget *widget ); signals: void symbolModified(); public slots: void moveLayerDown(); void moveLayerUp(); void addLayer(); void removeLayer(); void lockLayer(); //! Duplicates the current symbol layer and places the duplicated layer above the current symbol layer //! @note added in QGIS 2.14 void duplicateLayer(); void layerChanged(); void updateLayerPreview(); void updatePreview(); //! Slot to update tree when a new symbol from style void symbolChanged(); //! alters tree and sets proper widget when Layer Type is changed //! @note: The layer is received from the LayerPropertiesWidget void changeLayer( QgsSymbolLayer *layer ); };