QGIS API Documentation
4.3.0-Master (16eddb2670e)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
gui
layertree
qgslayertreemapcanvasbridge.h
Go to the documentation of this file.
1
/***************************************************************************
2
qgslayertreemapcanvasbridge.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 QGSLAYERTREEMAPCANVASBRIDGE_H
17
#define QGSLAYERTREEMAPCANVASBRIDGE_H
18
19
#include "qgis_gui.h"
20
#include "
qgscoordinatereferencesystem.h
"
21
22
#include <QObject>
23
#include <QStringList>
24
25
class
QgsMapCanvas
;
26
class
QgsMapLayer
;
27
class
QgsMapOverviewCanvas
;
28
class
QgsLayerTreeGroup
;
29
class
QgsLayerTreeNode
;
30
class
QgsLayerTree
;
31
47
class
GUI_EXPORT
QgsLayerTreeMapCanvasBridge
:
public
QObject
48
{
49
Q_OBJECT
50
public
:
52
QgsLayerTreeMapCanvasBridge
(
QgsLayerTree
*root,
QgsMapCanvas
*canvas, QObject *parent
SIP_TRANSFERTHIS
=
nullptr
);
53
54
QgsLayerTree
*
rootGroup
()
const
{
return
mRoot; }
55
QgsMapCanvas
*
mapCanvas
()
const
{
return
mCanvas; }
56
61
void
setOverviewCanvas
(
QgsMapOverviewCanvas
*
overviewCanvas
) { mOverviewCanvas =
overviewCanvas
; }
62
63
#ifdef SIP_RUN
64
69
void
setOvervewCanvas(
QgsMapOverviewCanvas
*overviewCanvas )
SIP_DEPRECATED
;
// TODO QGIS 5.0 remove
70
//%MethodCode
71
sipCpp->setOverviewCanvas( a0 );
72
//%End
73
#endif
74
78
QgsMapOverviewCanvas
*
overviewCanvas
()
const
{
return
mOverviewCanvas; }
79
84
void
setAutoSetupOnFirstLayer
(
bool
enabled ) { mAutoSetupOnFirstLayer = enabled; }
85
bool
autoSetupOnFirstLayer
()
const
{
return
mAutoSetupOnFirstLayer; }
86
88
Q_INVOKABLE
void
setCanvasLayers();
89
90
signals:
91
96
void
canvasLayersChanged
(
const
QList<QgsMapLayer *> &layers );
97
98
private
slots:
99
void
nodeVisibilityChanged();
100
void
nodeCustomPropertyChanged(
QgsLayerTreeNode
*node,
const
QString &key );
101
void
layersAdded(
const
QList<QgsMapLayer *> &layers );
102
103
private
:
105
void
setCanvasLayers
(
QgsLayerTreeNode
*node, QList<QgsMapLayer *> &canvasLayers, QList<QgsMapLayer *> &overviewLayers, QList<QgsMapLayer *> &allLayers );
106
107
void
deferredSetCanvasLayers();
108
109
QgsLayerTree
*mRoot =
nullptr
;
110
QgsMapCanvas
*mCanvas =
nullptr
;
111
QgsMapOverviewCanvas
*mOverviewCanvas =
nullptr
;
112
113
bool
mPendingCanvasUpdate =
false
;
114
115
bool
mAutoSetupOnFirstLayer =
true
;
116
117
bool
mHasLayersLoaded;
118
bool
mHasValidLayersLoaded =
false
;
119
120
QgsCoordinateReferenceSystem
mFirstCRS;
121
};
122
123
#endif
// QGSLAYERTREEMAPCANVASBRIDGE_H
QgsCoordinateReferenceSystem
Represents a coordinate reference system (CRS).
Definition
qgscoordinatereferencesystem.h:216
QgsLayerTreeGroup
Layer tree group node serves as a container for layers and further groups.
Definition
qgslayertreegroup.h:45
QgsLayerTreeMapCanvasBridge::mapCanvas
QgsMapCanvas * mapCanvas() const
Definition
qgslayertreemapcanvasbridge.h:55
QgsLayerTreeMapCanvasBridge::rootGroup
QgsLayerTree * rootGroup() const
Definition
qgslayertreemapcanvasbridge.h:54
QgsLayerTreeMapCanvasBridge::setAutoSetupOnFirstLayer
void setAutoSetupOnFirstLayer(bool enabled)
if enabled, will automatically set full canvas extent and destination CRS + map units when first laye...
Definition
qgslayertreemapcanvasbridge.h:84
QgsLayerTreeMapCanvasBridge::setCanvasLayers
Q_INVOKABLE void setCanvasLayers()
force update of canvas layers from the layer tree. Normally this should not be needed to be called.
Definition
qgslayertreemapcanvasbridge.cpp:51
QgsLayerTreeMapCanvasBridge::canvasLayersChanged
void canvasLayersChanged(const QList< QgsMapLayer * > &layers)
Emitted when the set of layers (or order of layers) visible in the canvas changes.
QgsLayerTreeMapCanvasBridge::overviewCanvas
QgsMapOverviewCanvas * overviewCanvas() const
Returns associated overview canvas (may be nullptr).
Definition
qgslayertreemapcanvasbridge.h:78
QgsLayerTreeMapCanvasBridge::autoSetupOnFirstLayer
bool autoSetupOnFirstLayer() const
Definition
qgslayertreemapcanvasbridge.h:85
QgsLayerTreeMapCanvasBridge::setOverviewCanvas
void setOverviewCanvas(QgsMapOverviewCanvas *overviewCanvas)
Associates overview canvas with the bridge, so the overview will be updated whenever main canvas is u...
Definition
qgslayertreemapcanvasbridge.h:61
QgsLayerTreeMapCanvasBridge::QgsLayerTreeMapCanvasBridge
QgsLayerTreeMapCanvasBridge(QgsLayerTree *root, QgsMapCanvas *canvas, QObject *parent SIP_TRANSFERTHIS=nullptr)
Constructor: does not take ownership of the layer tree nor canvas.
Definition
qgslayertreemapcanvasbridge.cpp:36
QgsLayerTreeNode
Base class for nodes in a layer tree.
Definition
qgslayertreenode.h:81
QgsLayerTree
Namespace with helper functions for layer tree operations.
Definition
qgslayertree.h:37
QgsMapCanvas
Map canvas is a class for displaying all GIS data types on a canvas.
Definition
qgsmapcanvas.h:96
QgsMapLayer
Base class for all map layer types.
Definition
qgsmaplayer.h:83
QgsMapOverviewCanvas
A widget that displays an overview map.
Definition
qgsmapoverviewcanvas.h:39
SIP_DEPRECATED
#define SIP_DEPRECATED
Definition
qgis_sip.h:113
SIP_TRANSFERTHIS
#define SIP_TRANSFERTHIS
Definition
qgis_sip.h:52
qgscoordinatereferencesystem.h
Generated on
for QGIS API Documentation by
1.17.0