/
qgswcsdataitems.h
82 lines (65 loc) · 2.64 KB
/
qgswcsdataitems.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/***************************************************************************
qgswcsdataitems.h
---------------------
begin : 2 July, 2012
copyright : (C) 2012 by Radim Blazek
email : radim dot blazek at gmail.com
***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
#ifndef QGSWCSDATAITEMS_H
#define QGSWCSDATAITEMS_H
#include "qgsdataitem.h"
#include "qgsdatasourceuri.h"
#include "qgswcscapabilities.h"
class QgsWCSConnectionItem : public QgsDataCollectionItem
{
Q_OBJECT
public:
QgsWCSConnectionItem( QgsDataItem* parent, QString name, QString path, QString uri );
~QgsWCSConnectionItem();
QVector<QgsDataItem*> createChildren() override;
virtual bool equal( const QgsDataItem *other ) override;
virtual QList<QAction*> actions() override;
QgsWcsCapabilities mWcsCapabilities;
QVector<QgsWcsCoverageSummary> mLayerProperties;
public slots:
void editConnection();
void deleteConnection();
private:
QString mUri;
};
// WCS Layers may be nested, so that they may be both QgsDataCollectionItem and QgsLayerItem
// We have to use QgsDataCollectionItem and support layer methods if necessary
class QgsWCSLayerItem : public QgsLayerItem
{
Q_OBJECT
public:
QgsWCSLayerItem( QgsDataItem* parent, QString name, QString path,
const QgsWcsCapabilitiesProperty& capabilitiesProperty,
const QgsDataSourceURI& dataSourceUri, const QgsWcsCoverageSummary& coverageSummary );
~QgsWCSLayerItem();
QString createUri();
QgsWcsCapabilitiesProperty mCapabilities;
QgsDataSourceURI mDataSourceUri;
QgsWcsCoverageSummary mCoverageSummary;
};
class QgsWCSRootItem : public QgsDataCollectionItem
{
Q_OBJECT
public:
QgsWCSRootItem( QgsDataItem* parent, QString name, QString path );
~QgsWCSRootItem();
QVector<QgsDataItem*> createChildren() override;
virtual QList<QAction*> actions() override;
virtual QWidget * paramWidget() override;
public slots:
void connectionsChanged();
void newConnection();
};
#endif // QGSWCSDATAITEMS_H