From 5fa90f273d3133e31702e7dc39037045409e63fe Mon Sep 17 00:00:00 2001
From: Benjamin Jakimow <benjamin.jakimow@geo.hu-berlin.de>
Date: Mon, 10 Jul 2017 14:58:19 +0200
Subject: [PATCH] backup

---
 timeseriesviewer/main.py             | 22 ++----------
 timeseriesviewer/mapvisualization.py | 12 ++++---
 timeseriesviewer/sandbox.py          |  1 +
 timeseriesviewer/ui/docks.py         | 54 ++++++++--------------------
 timeseriesviewer/ui/renderingdock.ui | 36 ++++++++++++++-----
 5 files changed, 54 insertions(+), 71 deletions(-)

diff --git a/timeseriesviewer/main.py b/timeseriesviewer/main.py
index 3b280c2f..9ac1bac1 100644
--- a/timeseriesviewer/main.py
+++ b/timeseriesviewer/main.py
@@ -139,25 +139,6 @@ class QgisTsvBridge(QObject):
                     qgis.utils.iface.addVectorLayer(src, os.path.basename(src), ml.providerType())
 
 
-    class SyncState(object):
-        def __init__(self):
-            self.center = False
-            self.extent = False
-            self.crs = False
-
-        def __eq__(self, other):
-            if not isinstance(other, QgisTsvBridge.SyncState):
-                return False
-            else:
-                return \
-                    self.center == other.center \
-                    and self.extent == other.extent \
-                    and self.crs == other.crs
-        def any(self):
-            return any([self.center, self.extent, self.crs])
-
-
-
     def __init__(self):
         assert QgisTsvBridge._instance is None, 'Can not instantiate QgsTsvBridge twice'
         self.TSV = None
@@ -435,6 +416,9 @@ class TimeSeriesViewer:
         self.spatialTemporalVis.sigCRSChanged.connect(D.dockRendering.setCrs)
         D.dockRendering.sigSpatialExtentChanged.connect(self.spatialTemporalVis.setSpatialExtent)
         D.dockRendering.sigMapCanvasColorChanged.connect(self.spatialTemporalVis.setBackgroundColor)
+        D.dockRendering.sigShowVectorLayer.connect(self.spatialTemporalVis.setVectorLayer)
+        D.dockRendering.sigRemoveVectorLayer.connect(lambda : self.spatialTemporalVis.setVectorLayer(None))
+
         self.spatialTemporalVis.setMapSize(D.dockRendering.mapSize())
 
 
diff --git a/timeseriesviewer/mapvisualization.py b/timeseriesviewer/mapvisualization.py
index 106f000c..ae95fade 100644
--- a/timeseriesviewer/mapvisualization.py
+++ b/timeseriesviewer/mapvisualization.py
@@ -57,15 +57,19 @@ class MapView(QObject):
     def setVectorLayer(self, lyr):
         if isinstance(lyr, QgsVectorLayer):
             self.vectorLayer = lyr
-            self.vectorLayer.rendererChanged.connect(self.sigVectorLayerChanged)
+            self.vectorLayer.rendererChanged.connect(self.onVectorLayerChanges)
             self.ui.btnVectorOverlayVisibility.setEnabled(True)
-
-
         else:
             self.vectorLayer = None
             self.ui.btnVectorOverlayVisibility.setEnabled(False)
 
-        self.sigVectorLayerChanged.emit()
+        self.onVectorLayerChanges()
+
+    def onVectorLayerChanges(self):
+
+        s = ""
+        for mapCanvas in self.mMapCanvases:
+            s = ""
 
     def applyStyles(self):
         for sensorView in self.sensorViews.values():
diff --git a/timeseriesviewer/sandbox.py b/timeseriesviewer/sandbox.py
index d31f59de..d8b56453 100644
--- a/timeseriesviewer/sandbox.py
+++ b/timeseriesviewer/sandbox.py
@@ -149,6 +149,7 @@ def sandboxQgisBridge():
     fakeQGIS.ui.show()
     import example.Images
     fakeQGIS.addVectorLayer(example.exampleEvents)
+    fakeQGIS.addVectorLayer(example.exampleEvents)
     fakeQGIS.addRasterLayer(example.Images.Img_2014_08_03_LE72270652014215CUB00_BOA)
 
     S.loadImageFiles([example.Images.Img_2014_01_15_LC82270652014015LGN00_BOA])
diff --git a/timeseriesviewer/ui/docks.py b/timeseriesviewer/ui/docks.py
index 5103b4a3..73aa3e36 100644
--- a/timeseriesviewer/ui/docks.py
+++ b/timeseriesviewer/ui/docks.py
@@ -36,8 +36,9 @@ class RenderingDockUI(TsvDockWidgetBase, load('renderingdock.ui')):
     sigSpatialExtentChanged = pyqtSignal(SpatialExtent)
     sigCrsChanged = pyqtSignal(QgsCoordinateReferenceSystem)
     sigMapSizeChanged = pyqtSignal(QSize)
-    sigQgisSyncStateChanged = pyqtSignal(QgisTsvBridge.SyncState)
     sigQgisInteractionRequest = pyqtSignal(str)
+    sigShowVectorLayer = pyqtSignal(QgsVectorLayer)
+    sigRemoveVectorLayer = pyqtSignal()
 
     def __init__(self, parent=None):
         super(RenderingDockUI, self).__init__(parent)
@@ -53,24 +54,29 @@ class RenderingDockUI(TsvDockWidgetBase, load('renderingdock.ui')):
         self.btnMapCanvasColor.colorChanged.connect(self.sigMapCanvasColorChanged)
         self.btnCrs.crsChanged.connect(self.sigCrsChanged)
 
-        #default: disable QgsSync box
+        self.gbQgsVectorLayer.clicked.connect(self.onLayerChanged)
+        self.cbQgsVectorLayer.layerChanged.connect(self.onLayerChanged)
 
-        #todo: realt-time syncing?
         self.frameRTSync.setVisible(False)
         self.progressBar.setVisible(False)
 
         self.enableQgisSyncronization(False)
 
-        self.mLastSyncState = self.qgsSyncState()
-        self.cbSyncQgsMapExtent.stateChanged.connect(self.onSyncStateChanged)
-        self.cbSyncQgsMapCenter.stateChanged.connect(self.onSyncStateChanged)
-        self.cbSyncQgsCRS.stateChanged.connect(self.onSyncStateChanged)
-
         self.btnSetQGISCenter.clicked.connect(lambda : self.sigQgisInteractionRequest.emit('tsvCenter2qgsCenter'))
         self.btnSetQGISExtent.clicked.connect(lambda: self.sigQgisInteractionRequest.emit('tsvExtent2qgsExtent'))
         self.btnGetQGISCenter.clicked.connect(lambda: self.sigQgisInteractionRequest.emit('qgisCenter2tsvCenter'))
         self.btnGetQGISExtent.clicked.connect(lambda: self.sigQgisInteractionRequest.emit('qgisExtent2tsvExtent'))
 
+    def onLayerChanged(self, *args):
+        lyr = self.cbQgsVectorLayer.currentLayer()
+        b = self.gbQgsVectorLayer.isChecked()
+
+        if b and isinstance(lyr, QgsVectorLayer):
+            self.sigShowVectorLayer.emit(lyr)
+        else:
+            self.sigRemoveVectorLayer.emit()
+
+
     def enableQgisSyncronization(self, b):
 
         self.gbSyncQgs.setEnabled(b)
@@ -78,38 +84,8 @@ class RenderingDockUI(TsvDockWidgetBase, load('renderingdock.ui')):
             self.gbSyncQgs.setTitle('QGIS')
         else:
             self.gbSyncQgs.setTitle('QGIS (not available)')
-        #self.gbQgsVectorLayer.setEnabled(b)
-
-    def onSyncStateChanged(self, *args):
-
-        w = [self.cbSyncQgsMapCenter, self.cbSyncQgsMapExtent]
-        self._blockSignals(w, True)
-        if self.cbSyncQgsMapExtent.isChecked():
-            self.cbSyncQgsMapCenter.setEnabled(False)
-            self.cbSyncQgsMapCenter.setChecked(True)
-        else:
-            self.cbSyncQgsMapCenter.setEnabled(True)
-        state = self.qgsSyncState()
-        self._blockSignals(w, False)
-
-        if self.mLastSyncState != state:
-            self.mLastSyncState = state
-            self.sigQgisSyncStateChanged.emit(state)
-
-
-    def setQgisSyncState(self, syncState):
-        assert isinstance(syncState, QgisTsvBridge.SyncState)
-
-        self.cbSyncQgsCRS.setChecked(syncState.crs)
-        self.cbSyncQgsMapExtent.setChecked(syncState.extent)
-        self.cbSyncQgsMapCenter.setChecked(syncState.center)
+        self.gbQgsVectorLayer.setEnabled(b)
 
-    def qgsSyncState(self):
-        s = QgisTsvBridge.SyncState()
-        s.crs = self.cbSyncQgsCRS.isChecked()
-        s.extent = self.cbSyncQgsMapExtent.isChecked()
-        s.center = self.cbSyncQgsMapCenter.isChecked()
-        return s
 
 
     def setCrs(self, crs):
diff --git a/timeseriesviewer/ui/renderingdock.ui b/timeseriesviewer/ui/renderingdock.ui
index 299b27c5..236b721c 100644
--- a/timeseriesviewer/ui/renderingdock.ui
+++ b/timeseriesviewer/ui/renderingdock.ui
@@ -6,7 +6,7 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>220</width>
+    <width>245</width>
     <height>359</height>
    </rect>
   </property>
@@ -48,7 +48,16 @@
        <bool>false</bool>
       </property>
       <layout class="QGridLayout" name="gridLayout" columnstretch="0,2,0,2">
-       <property name="margin">
+       <property name="leftMargin">
+        <number>6</number>
+       </property>
+       <property name="topMargin">
+        <number>6</number>
+       </property>
+       <property name="rightMargin">
+        <number>6</number>
+       </property>
+       <property name="bottomMargin">
         <number>6</number>
        </property>
        <property name="spacing">
@@ -56,10 +65,10 @@
        </property>
        <item row="2" column="1">
         <widget class="QgsColorButton" name="btnMapCanvasColor">
-         <property name="colorDialogTitle">
+         <property name="colorDialogTitle" stdset="0">
           <string>Select Map Canvas Background Color</string>
          </property>
-         <property name="color">
+         <property name="color" stdset="0">
           <color>
            <red>0</red>
            <green>0</green>
@@ -221,7 +230,7 @@
         </widget>
        </item>
        <item row="3" column="1" colspan="3">
-        <widget class="QgsProjectionSelectionWidget" name="btnCrs">
+        <widget class="QgsProjectionSelectionWidget" name="btnCrs" native="true">
          <property name="minimumSize">
           <size>
            <width>15</width>
@@ -263,7 +272,16 @@
        <property name="sizeConstraint">
         <enum>QLayout::SetMinimumSize</enum>
        </property>
-       <property name="margin">
+       <property name="leftMargin">
+        <number>6</number>
+       </property>
+       <property name="topMargin">
+        <number>6</number>
+       </property>
+       <property name="rightMargin">
+        <number>6</number>
+       </property>
+       <property name="bottomMargin">
         <number>6</number>
        </property>
        <property name="spacing">
@@ -398,10 +416,10 @@
          <property name="checked">
           <bool>false</bool>
          </property>
-         <property name="collapsed">
+         <property name="collapsed" stdset="0">
           <bool>true</bool>
          </property>
-         <property name="saveCheckedState">
+         <property name="saveCheckedState" stdset="0">
           <bool>true</bool>
          </property>
          <layout class="QFormLayout" name="formLayout_5">
@@ -411,7 +429,7 @@
           <item row="0" column="1">
            <widget class="QgsMapLayerComboBox" name="cbQgsVectorLayer">
             <property name="enabled">
-             <bool>false</bool>
+             <bool>true</bool>
             </property>
             <property name="sizePolicy">
              <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-- 
GitLab