Newer
Older
from __future__ import absolute_import
import inspect
import os
import six
import traceback
import sys
import importlib
import re
import site
from qgis.gui import *
from qgis.core import *
from PyQt4.QtCore import *
from PyQt4.QtGui import *
DIR_REPO = os.path.normpath(os.path.split(inspect.getfile(inspect.currentframe()))[0])
DIR_SITE_PACKAGES = None

benjamin.jakimow@geo.hu-berlin.de
committed
class TimeSeriesViewerPlugin:
def __init__(self, iface):
self.iface = iface
self.tsv = None

benjamin.jakimow@geo.hu-berlin.de
committed
import console.console as CONSOLE
if CONSOLE._console is None:
CONSOLE._console = CONSOLE.PythonConsole(iface.mainWindow())
QTimer.singleShot(0, CONSOLE._console.activate)
def initGui(self):
self.toolbarActions = []
syspaths = [os.path.normpath(p) for p in sys.path]
if DIR_REPO not in syspaths: sys.path.append(DIR_REPO)

benjamin.jakimow@geo.hu-berlin.de
committed
import timeseriesviewer.ui.resources_py2
timeseriesviewer.ui.resources_py2.qInitResources()
# add platform independent site-packages
if DIR_SITE_PACKAGES:
site.addsitedir(DIR_SITE_PACKAGES)

benjamin.jakimow@geo.hu-berlin.de
committed
import timeseriesviewer
# init main UI
from timeseriesviewer import dprint, DIR_UI, jp
icon = QIcon(jp(DIR_UI, *['icons', 'icon.png']))
action = QAction(icon, 'SenseCarbon Time Series Viewer', self.iface)
action.triggered.connect(self.run)
self.toolbarActions.append(action)
for action in self.toolbarActions:

benjamin.jakimow@geo.hu-berlin.de
committed
print('ADD ICON')
self.iface.addToolBarIcon(action)
def run(self):
from timeseriesviewer.main import TimeSeriesViewer
# open QGIS python console. this is required to allow for print() statements in the source code.

benjamin.jakimow@geo.hu-berlin.de
committed
self.tsv = TimeSeriesViewer(self.iface)

benjamin.jakimow@geo.hu-berlin.de
committed
self.tsv.run()
def unload(self):
from timeseriesviewer import dprint
from timeseriesviewer.main import TimeSeriesViewer
dprint('UNLOAD SenseCarbon TimeSeriesViewer Plugin')
for action in self.toolbarActions:
print(action)
self.iface.removeToolBarIcon(action)
if isinstance(self.tsv, TimeSeriesViewer):
self.tsv.ui.close()
self.tsv = None
def tr(self, message):

benjamin.jakimow@geo.hu-berlin.de
committed
return QCoreApplication.translate('TimeSeriesViewerPlugin', message)