QGIS API Documentation  2.8.2-Wien
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
qgslayertreeregistrybridge.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgslayertreeregistrybridge.h
3  --------------------------------------
4  Date : May 2014
5  Copyright : (C) 2014 by Martin Dobias
6  Email : wonder dot sk at gmail dot com
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 QGSLAYERTREEREGISTRYBRIDGE_H
17 #define QGSLAYERTREEREGISTRYBRIDGE_H
18 
19 #include <QObject>
20 #include <QStringList>
21 
22 class QgsLayerTreeGroup;
23 class QgsLayerTreeNode;
24 class QgsMapLayer;
25 
26 
39 class CORE_EXPORT QgsLayerTreeRegistryBridge : public QObject
40 {
41  Q_OBJECT
42  public:
43  explicit QgsLayerTreeRegistryBridge( QgsLayerTreeGroup* root, QObject *parent = 0 );
44 
45  void setEnabled( bool enabled ) { mEnabled = enabled; }
46  bool isEnabled() const { return mEnabled; }
47 
48  void setNewLayersVisible( bool enabled ) { mNewLayersVisible = enabled; }
49  bool newLayersVisible() const { return mNewLayersVisible; }
50 
53  void setLayerInsertionPoint( QgsLayerTreeGroup* parentGroup, int index );
54 
55  signals:
58  void addedLayersToLayerTree( QList<QgsMapLayer*> layers );
59 
60  protected slots:
61  void layersAdded( QList<QgsMapLayer*> layers );
62  void layersWillBeRemoved( QStringList layerIds );
63 
64  void groupWillRemoveChildren( QgsLayerTreeNode* node, int indexFrom, int indexTo );
65  void groupRemovedChildren();
66 
67  void removeLayersFromRegistry( QStringList layerIds );
68 
69  protected:
71  QStringList mLayerIdsForRemoval;
73  bool mEnabled;
75 
78 };
79 
80 #endif // QGSLAYERTREEREGISTRYBRIDGE_H