QGIS API Documentation  3.37.0-Master (a5b4d9743e8)
qgsmaplayerconfigwidgetfactory.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsmaplayerconfigwidgetfactoryfactory.h
3  --------------------------------------
4  Date : 9.7.2013
5  Copyright : (C) 2013 Matthias Kuhn
6  Email : matthias dot kuhn at gmx dot ch
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #ifndef QGSMAPLAYERCONFIGWIDGETFACTORY_H
17 #define QGSMAPLAYERCONFIGWIDGETFACTORY_H
18 
19 #include <QListWidgetItem>
20 #include "qgis_gui.h"
21 #include "qgis_sip.h"
22 
23 class QgsMapLayer;
25 class QgsMapCanvas;
26 class QgsLayerTreeGroup;
27 
34 {
35  public:
36 
43  enum class ParentPage : int
44  {
45  NoParent,
46  Temporal,
47  };
48 
51 
53  QgsMapLayerConfigWidgetFactory( const QString &title, const QIcon &icon );
54 
55  virtual ~QgsMapLayerConfigWidgetFactory() = default;
56 
61  virtual QIcon icon() const { return mIcon; }
62 
67  void setIcon( const QIcon &icon ) { mIcon = icon; }
68 
74  virtual QString title() const { return mTitle; }
75 
82  void setTitle( const QString &title ) { mTitle = title; }
83 
89  virtual bool supportsStyleDock() const { return false; }
90 
95  void setSupportsStyleDock( bool supports ) { mSupportsDock = supports; }
96 
102  virtual bool supportLayerPropertiesDialog() const { return false; }
103 
116  virtual QString layerPropertiesPagePositionHint() const;
117 
122  void setSupportLayerPropertiesDialog( bool supports ) { mSupportsProperties = supports; }
123 
128  virtual bool supportsLayer( QgsMapLayer *layer ) const;
129 
135  virtual bool supportsLayerTreeGroup( QgsLayerTreeGroup *group ) const;
136 
145  virtual ParentPage parentPage() const;
146 
156  virtual QgsMapLayerConfigWidget *createWidget( QgsMapLayer *layer, QgsMapCanvas *canvas, bool dockWidget = true, QWidget *parent = nullptr ) const = 0 SIP_FACTORY;
157 
158  private:
159  QIcon mIcon;
160  QString mTitle;
161  bool mSupportsDock = true;
162  bool mSupportsProperties = true;
163 };
164 
165 #endif // QGSMAPLAYERCONFIGWIDGETFACTORY_H
Layer tree group node serves as a container for layers and further groups.
Map canvas is a class for displaying all GIS data types on a canvas.
Definition: qgsmapcanvas.h:93
Factory class for creating custom map layer property pages.
virtual QIcon icon() const
The icon that will be shown in the UI for the panel.
virtual ~QgsMapLayerConfigWidgetFactory()=default
virtual QgsMapLayerConfigWidget * createWidget(QgsMapLayer *layer, QgsMapCanvas *canvas, bool dockWidget=true, QWidget *parent=nullptr) const =0
Factory function to create the widget on demand as needed by the dock.
void setIcon(const QIcon &icon)
Set the icon for the factory object.
virtual QString title() const
The title of the panel.
void setTitle(const QString &title)
Set the title for the interface.
QgsMapLayerConfigWidgetFactory()=default
Constructor.
virtual bool supportLayerPropertiesDialog() const
Flag if widget is supported for use in layer properties dialog.
void setSupportsStyleDock(bool supports)
Set support flag for style dock.
virtual bool supportsStyleDock() const
Flag if widget is supported for use in style dock.
ParentPage
Available parent pages, for factories which create a widget which is a sub-component of a standard pa...
void setSupportLayerPropertiesDialog(bool supports)
Set support flag for style dock.
A panel widget that can be shown in the map style dock.
Base class for all map layer types.
Definition: qgsmaplayer.h:75
#define SIP_FACTORY
Definition: qgis_sip.h:76