-
Notifications
You must be signed in to change notification settings - Fork 5
/
inspireatomclient.py
109 lines (96 loc) · 5.03 KB
/
inspireatomclient.py
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
"""
/***************************************************************************
InspireAtomClient
A QGIS plugin
Client for INSPIRE Downloadservices based on ATOM-Feeds
-------------------
begin : 2012-05-28
copyright : (C) 2012 by Juergen Weichand
email : [email protected]
***************************************************************************/
/***************************************************************************
* *
* 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. *
* *
***************************************************************************/
"""
# Import the PyQt and QGIS libraries
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from qgis.core import *
from qgis.gui import *
# Initialize Qt resources from file resources.py
from .resources import *
from .inspireatomclientdialog import InspireAtomClientDialog
class InspireAtomClient:
def __init__(self, iface):
# Save reference to the QGIS interface
self.iface = iface
self.clickTool = QgsMapToolEmitPoint(self.iface.mapCanvas())
def initGui(self):
# Create action that will start plugin configuration
self.action = QAction(QIcon(":/plugins/inspireatomclient/icon.png"), \
"INSPIRE Atom Client", self.iface.mainWindow())
# connect the action to the run method
self.action.triggered.connect(self.run)
self.aboutAction=QAction(QIcon(":/plugins/wfsclient/icon.png"), \
"About", self.iface.mainWindow())
self.aboutAction.triggered.connect(self.about)
# Add toolbar button and menu item
if hasattr( self.iface, "addPluginToWebMenu" ):
self.iface.addWebToolBarIcon(self.action)
self.iface.addPluginToWebMenu("&INSPIRE Atom Client", self.action)
self.iface.addPluginToWebMenu("&INSPIRE Atom Client", self.aboutAction)
else:
self.iface.addToolBarIcon(self.action)
self.iface.addPluginToMenu("&INSPIRE Atom Client", self.action)
self.iface.addPluginToMenu("&INSPIRE Atom Client", self.aboutAction)
def unload(self):
# Remove the plugin menu item and icon
if hasattr( self.iface, "addPluginToWebMenu" ):
self.iface.removePluginWebMenu("&INSPIRE Atom Client",self.action)
self.iface.removePluginWebMenu("&INSPIRE Atom Client",self.aboutAction)
self.iface.removeWebToolBarIcon(self.action)
else:
self.iface.removePluginMenu("&INSPIRE Atom Client",self.action)
self.iface.removePluginMenu("&INSPIRE Atom Client",self.aboutAction)
self.iface.removeToolBarIcon(self.action)
def about(self):
infoString = "<table>" \
"<tr><td colspan=\"2\"><b>INSPIRE Atom Client 0.8.1</b></td></tr><tr>" \
"<td colspan=\"2\">Experimental Plugin</td></tr>" \
"<tr><td colspan=\"2\"></td></tr>" \
"<tr><td rowspan=\"2\">Authors:</td>" \
"<td>Jürgen Weichand " \
"(<a href=\"mailto:[email protected]\">[email protected]</a>)</td></tr>" \
"<tr><td>Edward Nash " \
"(<a href=\"mailto:[email protected]\">[email protected]</a>)</td></tr>" \
"<tr><td colspan=\"2\"></td></tr>" \
"<tr><td>Website:</td>" \
"<td><a href=\"https://github.com/qgisinspiretools/qgis-inspire-atom-client-plugin\">" \
"https://github.com/qgisinspiretools/qgis-inspire-atom-client-plugin</a></td></tr>" \
"<tr></tr>" \
"<tr><td colspan=\"2\"><b>QGIS 2.x Migration</b></td></tr></tr>" \
"<tr><td>Author:</td><td>Stefan Ziegler</td></tr>" \
"<tr><td colspan=\"2\"><b>QGIS 3.x Migration</b></td></tr></tr>" \
"<tr><td>Author:</td><td>Tim Vinzing</td></tr>" \
"</table>"
QMessageBox.information(self.iface.mainWindow(), "About INSPIRE Atom Client", infoString)
# run method that performs all the real work
def run(self):
# create and show the dialog
dlg = InspireAtomClientDialog(self)
# show the dialog
# Dialog is placed in a corner?
#dlg.setWindowFlags(Qt.WindowStaysOnTopHint)
dlg.show()
result = dlg.exec_()
# See if OK was pressed
if result == 1:
# do something useful (delete the line containing pass and
# substitute with your code
pass