Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Improve API for QgsMapStylePanelFactory
  • Loading branch information
NathanW2 committed Jun 4, 2016
1 parent 60df926 commit 7573b22
Show file tree
Hide file tree
Showing 5 changed files with 11 additions and 11 deletions.
6 changes: 3 additions & 3 deletions python/gui/qgsmapstylepanel.sip
Expand Up @@ -69,10 +69,10 @@ class QgsMapStylePanelFactory
virtual QString title() = 0;

/**
* @brief Supported layer type for the widget.
* @return The layer type this widget is supported for.
* @brief Check if the layer is supported for this widget.
* @return True if this layer is supported for this widget
*/
virtual LayerTypesFlags layerType() = 0;
virtual bool supportsLayer( QgsMapLayer *layer ) = 0;

/**
* @brief Factory fucntion to create the widget on demand as needed by the dock.
Expand Down
6 changes: 3 additions & 3 deletions src/app/qgsmapstylingwidget.cpp
Expand Up @@ -125,7 +125,7 @@ void QgsMapStylingWidget::setLayer( QgsMapLayer *layer )

Q_FOREACH ( QgsMapStylePanelFactory* factory, mPageFactories )
{
if ( factory->layerType().testFlag( layer->type() ) )
if ( factory->supportsLayer( layer ) )
{
QListWidgetItem* item = new QListWidgetItem( factory->icon(), "" );
mOptionsListWidget->addItem( item );
Expand Down Expand Up @@ -404,7 +404,7 @@ QgsMapStylePanel *QgsMapLayerStyleManagerWidgetFactory::createPanel( QgsMapLayer

}

QgsMapStylePanelFactory::LayerTypesFlags QgsMapLayerStyleManagerWidgetFactory::layerType()
bool QgsMapLayerStyleManagerWidgetFactory::supportsLayer( QgsMapLayer *layer )
{
return QgsMapLayer::VectorLayer;
return ( layer->type() == QgsMapLayer::VectorLayer || layer->type() == QgsMapLayer::RasterLayer );
}
2 changes: 1 addition & 1 deletion src/app/qgsmapstylingwidget.h
Expand Up @@ -45,7 +45,7 @@ class APP_EXPORT QgsMapLayerStyleManagerWidgetFactory : public QgsMapStylePanelF
QIcon icon() override;
QString title() override;
QgsMapStylePanel *createPanel( QgsMapLayer *layer, QgsMapCanvas *canvas, QWidget *parent ) override;
LayerTypesFlags layerType() override;
bool supportsLayer( QgsMapLayer *layer ) override;
};

class APP_EXPORT QgsMapLayerStyleCommand : public QUndoCommand
Expand Down
6 changes: 3 additions & 3 deletions src/gui/qgsmapstylepanel.h
Expand Up @@ -93,10 +93,10 @@ class GUI_EXPORT QgsMapStylePanelFactory
virtual QString title() = 0;

/**
* @brief Supported layer type for the widget.
* @return The layer type this widget is supported for.
* @brief Check if the layer is supported for this widget.
* @return True if this layer is supported for this widget
*/
virtual LayerTypesFlags layerType() = 0;
virtual bool supportsLayer( QgsMapLayer *layer ) = 0;

/**
* @brief Factory fucntion to create the widget on demand as needed by the dock.
Expand Down
2 changes: 1 addition & 1 deletion src/gui/symbology-ng/qgsrendererv2widget.h
Expand Up @@ -92,7 +92,7 @@ class GUI_EXPORT QgsRendererV2Widget : public QWidget
/**
* @brief Emitted when a sub panel for the widget is opened.
* The renderer can open inline sub panels instead of dialogs.
* @param opened
* @param opened True of the a sub panel is opened.
*/
void panelOpened( bool opened );

Expand Down

0 comments on commit 7573b22

Please sign in to comment.