class QgsCategorizedSymbolRendererWidget : QgsRendererWidget { %TypeHeaderCode #include %End public: static QgsRendererWidget *create( QgsVectorLayer *layer, QgsStyle *style, QgsFeatureRenderer *renderer ) /Factory/; QgsCategorizedSymbolRendererWidget( QgsVectorLayer *layer, QgsStyle *style, QgsFeatureRenderer *renderer ); ~QgsCategorizedSymbolRendererWidget(); virtual QgsFeatureRenderer *renderer(); /** Replaces category symbols with the symbols from a style that have a matching * name. * @param style style containing symbols to match with * @return number of symbols matched * @see matchToSymbolsFromLibrary * @see matchToSymbolsFromXml * @note added in QGIS 2.9 */ int matchToSymbols( QgsStyle *style ); public slots: void changeCategorizedSymbol(); void categoryColumnChanged( const QString &field ); void categoriesDoubleClicked( const QModelIndex &idx ); void addCategory(); void addCategories(); void applyColorRamp(); void deleteCategories(); void deleteAllCategories(); void showSymbolLevels(); void rowsMoved(); /** Replaces category symbols with the symbols from the users' symbol library that have a * matching name. * @see matchToSymbolsFromXml * @see matchToSymbols * @note added in QGIS 2.9 */ void matchToSymbolsFromLibrary(); /** Prompts for selection of an xml file, then replaces category symbols with the symbols * from the XML file with a matching name. * @see matchToSymbolsFromLibrary * @see matchToSymbols * @note added in QGIS 2.9 */ void matchToSymbolsFromXml(); protected: void updateUiFromRenderer(); void updateCategorizedSymbolIcon(); // Called by virtual refreshSymbolView() void populateCategories(); //! return row index for the currently selected category (-1 if on no selection) int currentCategoryRow(); //! return a list of indexes for the categories unders selection QList selectedCategories(); //! change the selected symbols alone for the change button, if there is a selection void changeSelectedSymbols(); void changeCategorySymbol(); QList selectedSymbols(); QgsCategoryList selectedCategoryList(); void refreshSymbolView(); void keyPressEvent( QKeyEvent *event ); };