From 79bbd869be998e15ce1aefa4fb759eb444b718c2 Mon Sep 17 00:00:00 2001
From: "benjamin.jakimow@geo.hu-berlin.de" <q8DTkxUg-BB>
Date: Mon, 16 Jan 2017 10:19:56 +0100
Subject: [PATCH] refactoring

---
 timeseriesviewer/main.py | 296 +++++++++++++++++++++------------------
 1 file changed, 159 insertions(+), 137 deletions(-)

diff --git a/timeseriesviewer/main.py b/timeseriesviewer/main.py
index b7f3e83f..a551e2c5 100644
--- a/timeseriesviewer/main.py
+++ b/timeseriesviewer/main.py
@@ -301,19 +301,19 @@ class TimeSeriesItemModel(QAbstractItemModel):
         return 1
 
 
-class TimeSeriesDatumViewManager(QObject):
+class TimeSeriesDateViewManager(QObject):
 
     def __init__(self, timeSeriesViewer):
         assert isinstance(timeSeriesViewer, TimeSeriesViewer)
-        super(TimeSeriesDatumViewManager, self).__init__()
+        super(TimeSeriesDateViewManager, self).__init__()
 
         self.TSV = timeSeriesViewer
         self.TSDViews = list()
 
-        self.bandViewMananger = self.TSV.bandViewManager
-        self.bandViewMananger.sigBandViewAdded.connect(self.addBandView)
-        self.bandViewMananger.sigBandViewRemoved.connect(self.removeBandView)
-        self.bandViewMananger.sigBandViewVisibility.connect(self.setBandViewVisibility)
+        self.mapViewManager = self.TSV.mapViewManager
+        self.mapViewManager.sigMapViewAdded.connect(self.addMapView)
+        self.mapViewManager.sigMapViewRemoved.connect(self.removeMapView)
+        self.mapViewManager.sigMapViewVisibility.connect(self.setMapViewVisibility)
 
         self.setSpatialExtent(self.TSV.TS.getMaxSpatialExtent())
         self.setMaxTSDViews()
@@ -385,16 +385,16 @@ class TimeSeriesDatumViewManager(QObject):
             v = smin + (smax - smin) * float(i) / n
             scrollBar.setValue(int(round(v)))
 
-    def setBandViewVisibility(self, bandView, isVisible):
-        assert isinstance(bandView, BandView)
+    def setMapViewVisibility(self, bandView, isVisible):
+        assert isinstance(bandView, MapViewDefinition)
         assert isinstance(isVisible, bool)
 
         for tsdv in self.TSDViews:
-            tsdv.setBandViewVisibility(bandView, isVisible)
+            tsdv.setMapViewVisibility(bandView, isVisible)
 
 
-    def addBandView(self, bandView):
-        assert isinstance(bandView, BandView)
+    def addMapView(self, bandView):
+        assert isinstance(bandView, MapViewDefinition)
 
         w = self.L.parentWidget()
         w.setUpdatesEnabled(False)
@@ -403,7 +403,7 @@ class TimeSeriesDatumViewManager(QObject):
             tsdv.ui.setUpdatesEnabled(False)
 
         for tsdv in self.TSDViews:
-            tsdv.insertBandView(bandView)
+            tsdv.insertMapView(bandView)
 
         for tsdv in self.TSDViews:
             tsdv.ui.setUpdatesEnabled(True)
@@ -412,10 +412,10 @@ class TimeSeriesDatumViewManager(QObject):
 
 
 
-    def removeBandView(self, bandView):
-        assert isinstance(bandView, BandView)
+    def removeMapView(self, bandView):
+        assert isinstance(bandView, MapViewDefinition)
         for tsdv in self.TSDViews:
-            tsdv.removeBandView(bandView)
+            tsdv.removeMapView(bandView)
 
     def createTSDViews(self, timeSeriesDates):
         for TSD in timeSeriesDates:
@@ -423,8 +423,8 @@ class TimeSeriesDatumViewManager(QObject):
             tsdView = TimeSeriesDatumView(TSD)
             tsdView.setSubsetSize(self.subsetSize)
             tsdView.sigExtentsChanged.connect(self.setSpatialExtent)
-            for i, bandView in enumerate(self.bandViewMananger):
-                tsdView.insertBandView(bandView)
+            for i, bandView in enumerate(self.mapViewManager):
+                tsdView.insertMapView(bandView)
             if self.extent:
                 tsdView.setSpatialExtent(self.extent)
             self.addTSDView(tsdView)
@@ -459,26 +459,25 @@ class TimeSeriesDatumViewManager(QObject):
 
 
 
-class BandView(QObject):
+class MapViewDefinition(QObject):
 
 
-    sigRemoveBandView = pyqtSignal(object)
-    #sigBandViewVisibility = pyqtSignal(bool)
-    sigHideBandView = pyqtSignal()
-    sigShowBandView = pyqtSignal()
+    sigRemoveMapView = pyqtSignal(object)
+    sigHideMapView = pyqtSignal()
+    sigShowMapView = pyqtSignal()
     sigTitleChanged = pyqtSignal(str)
 
     def __init__(self, recommended_bands=None, parent=None, showSensorNames=True):
-        super(BandView, self).__init__()
-        self.ui = MapViewUI(parent)
+        super(MapViewDefinition, self).__init__()
+        self.ui = MapViewDefinitionUI(self, parent=parent)
         self.ui.create()
         self.setVisibility(True)
 
         #forward actions with reference to this band view
 
-        self.ui.actionRemoveBandView.triggered.connect(lambda: self.sigRemoveBandView.emit(self))
-        self.ui.sigHideBandView.connect(lambda : self.sigHideBandView.emit())
-        self.ui.sigShowBandView.connect(lambda: self.sigShowBandView.emit())
+        self.ui.actionRemoveMapView.triggered.connect(lambda: self.sigRemoveMapView.emit(self))
+        self.ui.sigHideMapView.connect(lambda : self.sigHideMapView.emit())
+        self.ui.sigShowMapView.connect(lambda: self.sigShowMapView.emit())
         self.sensorViews = collections.OrderedDict()
         self.mShowSensorNames = showSensorNames
 
@@ -491,11 +490,12 @@ class BandView(QObject):
         return self.ui.visibility()
 
     def setTitle(self, title):
-        self.ui.labelViewName.setText(title)
-        self.sigTitleChanged.emit(self.ui.labelViewName.text())
+        self.mTitle = title
+        self.ui.labelName.setText(title)
+        self.sigTitleChanged.emit(self.mTitle)
 
     def title(self):
-        return self.ui.labelViewName.text()
+        return self.mTitle
 
     def showSensorNames(self, b):
         assert isinstance(b, bool)
@@ -526,11 +526,11 @@ class BandView(QObject):
         assert type(sensor) is SensorInstrument
         assert sensor not in self.sensorViews.keys()
         w = MapViewRenderSettings(sensor)
-        w.showSensorName(False)
+        #w.showSensorName(False)
         self.sensorViews[sensor] = w
-        l = self.ui.layout()
+        l = self.ui.sensorList
         i = l.count()
-        l.insertWidget(i, w.ui)
+        l.addWidget(w.ui)
 
 
     def getSensorWidget(self, sensor):
@@ -541,97 +541,119 @@ class BandView(QObject):
 
 
 
-class BandViewManager(QObject):
+class MapViewManager(QObject):
 
     sigSensorAdded = pyqtSignal(SensorInstrument)
     sigSensorRemoved = pyqtSignal(SensorInstrument)
-    sigBandViewAdded = pyqtSignal(BandView)
-    sigBandViewRemoved = pyqtSignal(BandView)
-    sigBandViewVisibility = pyqtSignal(BandView, bool)
+    sigMapViewAdded = pyqtSignal(MapViewDefinition)
+    sigMapViewRemoved = pyqtSignal(MapViewDefinition)
+    sigMapViewVisibility = pyqtSignal(MapViewDefinition, bool)
 
     def __init__(self, timeSeriesViewer):
         assert isinstance(timeSeriesViewer, TimeSeriesViewer)
-        super(BandViewManager, self).__init__()
+        super(MapViewManager, self).__init__()
 
         self.TSV = timeSeriesViewer
-        self.bandViews = []
-        self.bandViewButtons = dict()
-        self.recentBandViewDefinition = None
+        self.ui = self.TSV.ui
+        self.mapViewsDefinitions = []
+        self.mapViewButtons = dict()
+
 
     def removeSensor(self, sensor):
         assert isinstance(sensor, SensorInstrument)
 
         removed = False
-        for view in self.bandViews:
+        for view in self.mapViewsDefinitions:
             removed = removed and view.removeSensor(sensor)
 
         if removed:
             self.sigSensorRemoved(sensor)
 
 
-    def createBandView(self):
-        btnList = self.TSV.ui.BVButtonList
+    def createMapView(self):
+        btnList = self.TSV.ui.dockMapViews.BVButtonList
         btn = QToolButton(btnList)
         btnList.layout().insertWidget(btnList.layout().count() - 1, btn)
 
-        bandView = BandView(parent=self.TSV.ui.scrollAreaBandViewsContent, showSensorNames=False)
-        bandView.sigRemoveBandView.connect(self.removeBandView)
-        bandView.sigShowBandView.connect(lambda : self.sigBandViewVisibility.emit(bandView, bandView.visibility()))
-        bandView.sigHideBandView.connect(lambda: self.sigBandViewVisibility.emit(bandView, bandView.visibility()))
-        bandView.sigTitleChanged.connect(btn.setText)
+        mapView = MapViewDefinition(parent=self.TSV.ui.dockMapViews.scrollAreaMapViews, showSensorNames=False)
+        mapView.sigRemoveMapView.connect(self.removeMapView)
+        mapView.sigShowMapView.connect(lambda : self.sigMapViewVisibility.emit(mapView, mapView.visibility()))
+        mapView.sigHideMapView.connect(lambda: self.sigMapViewVisibility.emit(mapView, mapView.visibility()))
+        #mapView.sigTitleChanged.connect(btn.setText)
 
         #bandView.setTitle('#{}'.format(len(self)))
 
-        self.bandViewButtons[bandView] = btn
-        self.bandViews.append(bandView)
+        self.mapViewButtons[mapView] = btn
+        self.mapViewsDefinitions.append(mapView)
         for sensor in self.TSV.TS.Sensors:
-            bandView.addSensor(sensor)
+            mapView.addSensor(sensor)
+
+        btn.clicked.connect(lambda : self.showMapViewDefinition(mapView))
+        self.refreshMapViewTitles()
+        self.sigMapViewAdded.emit(mapView)
+
+        if len(self) == 1:
+            self.showMapViewDefinition(mapView)
 
-        btn.clicked.connect(lambda : self.showBandViewDefinition(bandView))
-        self.refreshBandViewTitles()
-        self.sigBandViewAdded.emit(bandView)
+    def removeMapView(self, mapView):
+        assert isinstance(mapView, MapViewDefinition)
+        btn = self.mapViewButtons[mapView]
+        btnList = self.TSV.ui.dockMapViews.BVButtonList
 
-    def removeBandView(self, bandView):
-        assert isinstance(bandView, BandView)
-        btn = self.bandViewButtons[bandView]
-        btnList = self.TSV.ui.BVButtonList
+        idx = self.mapViewsDefinitions.index(mapView)
 
+        self.mapViewsDefinitions.remove(mapView)
+        self.mapViewButtons.pop(mapView)
 
-        self.bandViews.remove(bandView)
-        self.bandViewButtons.pop(bandView)
-        bandView.ui.setVisible(False)
+        mapView.ui.setVisible(False)
         btn.setVisible(False)
         btnList.layout().removeWidget(btn)
-        self.TSV.BVP.removeWidget(bandView.ui)
-        bandView.ui.close()
+        l = self.ui.dockMapViews.scrollAreaMapsViewDockContent.layout()
+
+        for d in self.recentMapViewDefinitions():
+            d.ui.setVisible(False)
+            l.removeWidget(d.ui)
+        l.removeWidget(mapView.ui)
+        mapView.ui.close()
         btn.close()
-        self.refreshBandViewTitles()
-        self.sigBandViewRemoved.emit(bandView)
+        self.refreshMapViewTitles()
+        self.sigMapViewRemoved.emit(mapView)
+
+        if len(self) > 0:
+            #show previous mapViewDefinition
+            idxNext = max([idx-1, 0])
+            self.showMapViewDefinition(self.mapViewsDefinitions[idxNext])
+
+    def refreshMapViewTitles(self):
+        for i, mapView in enumerate(self.mapViewsDefinitions):
+            number = i+1
+            title = '#{}'.format(number)
+            mapView.setTitle(title)
+            btn = self.mapViewButtons[mapView]
+            btn.setText('{}'.format(number))
+            btn.setToolTip('Show definition for map view {}'.format(number))
+            btn.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Fixed)
+            s = ""
 
-    def refreshBandViewTitles(self):
-        for i, bandView in enumerate(self.bandViews):
-            bandView.setTitle('#{}'.format(i + 1))
+    def showMapViewDefinition(self, mapViewDefinition):
+        assert mapViewDefinition in self.mapViewsDefinitions
+        assert isinstance(mapViewDefinition, MapViewDefinition)
+        l = self.ui.dockMapViews.scrollAreaMapsViewDockContent.layout()
 
+        for d in self.recentMapViewDefinitions():
+            d.ui.setVisible(False)
+            l.removeWidget(d.ui)
 
-    def showBandViewDefinition(self, bandView):
-        assert bandView in self.bandViews
-        if self.recentBandViewDefinition == bandView:
-            return
-        l = self.TSV.BVP
-        assert l.rowCount() == 2
-        assert l.columnCount() == 2
-        toRemove = l.itemAtPosition(0,0)
-        if toRemove:
-            oldBandViewUI = toRemove.widget()
-            oldBandViewUI.setVisible(False)
-            l.removeWidget(oldBandViewUI)
-        l.addWidget(bandView.ui, 0,0)
-        bandView.ui.setVisible(True)
-        self.recentBandViewDefinition = bandView
-        print(('show ', l.itemAtPosition(0,0).widget().labelViewName.text()))
-
-    def setBandViewVisibility(self, bandView, isVisible):
-        assert isinstance(bandView, BandView)
+        l.insertWidget(l.count() - 1, mapViewDefinition.ui)
+        mapViewDefinition.ui.setVisible(True)
+
+    def recentMapViewDefinitions(self):
+        parent = self.ui.dockMapViews.scrollAreaMapsViewDockContent
+        return [ui.mapViewDefinition() for ui in parent.findChildren(MapViewDefinitionUI)]
+
+
+    def setMapViewVisibility(self, bandView, isVisible):
+        assert isinstance(bandView, MapViewDefinition)
         assert isinstance(isVisible, bool)
 
 
@@ -639,16 +661,16 @@ class BandViewManager(QObject):
 
 
     def __len__(self):
-        return len(self.bandViews)
+        return len(self.mapViewsDefinitions)
 
     def __iter__(self):
-        return iter(self.bandViews)
+        return iter(self.mapViewsDefinitions)
 
     def __getitem__(self, key):
-        return self.bandViews[key]
+        return self.mapViewsDefinitions[key]
 
-    def __contains__(self, bandView):
-        return bandView in self.bandViews
+    def __contains__(self, mapView):
+        return mapView in self.mapViewsDefinitions
 
 
 class TimeSeriesDatumView(QObject):
@@ -663,8 +685,8 @@ class TimeSeriesDatumView(QObject):
 
         self.TSD = None
 
-        self.bandViewCanvases = dict()
-        self.bandViewOrder = []
+        self.mapCanvases = dict()
+        self.mapOrder = []
         self.setTimeSeriesDatum(TSD)
         self.L = self.ui.layout()
         self.wOffset = self.L.count()-1
@@ -672,16 +694,16 @@ class TimeSeriesDatumView(QObject):
 
 
     def activateMapTool(self, key):
-        for c in self.bandViewCanvases.values():
+        for c in self.mapCanvases.values():
             c.activateMapTool(key)
 
-    def setBandViewVisibility(self, bandView, isVisible):
-        self.bandViewCanvases[bandView].setVisible(isVisible)
+    def setMapViewVisibility(self, bandView, isVisible):
+        self.mapCanvases[bandView].setVisible(isVisible)
 
     def setSpatialExtent(self, spatialExtent):
         assert isinstance(spatialExtent, SpatialExtent)
 
-        for c in self.bandViewCanvases.values():
+        for c in self.mapCanvases.values():
             c.setSpatialExtent(spatialExtent)
 
 
@@ -695,11 +717,11 @@ class TimeSeriesDatumView(QObject):
         self.ui.line.setFixedWidth(size.width())
 
         #apply new subset size to existing canvases
-        for c in self.bandViewCanvases.values():
+        for c in self.mapCanvases.values():
             c.setFixedSize(size)
 
         self.ui.setFixedWidth(size.width() + 2*(m.left() + m.right()))
-        n = len(self.bandViewCanvases)
+        n = len(self.mapCanvases)
         #todo: improve size forecast
         self.ui.setMinimumHeight((n+1) * size.height())
 
@@ -709,28 +731,28 @@ class TimeSeriesDatumView(QObject):
         self.TSD = TSD
         self.ui.labelTitle.setText(str(TSD.date))
 
-        for c in self.bandViewCanvases.values():
+        for c in self.mapCanvases.values():
             c.setLayer(self.TSD.pathImg)
 
-    def removeBandView(self, bandView):
-        self.bandViewOrder.remove(bandView)
-        canvas = self.bandViewCanvases.pop(bandView)
+    def removeMapView(self, bandView):
+        self.mapOrder.remove(bandView)
+        canvas = self.mapCanvases.pop(bandView)
         self.L.removeWidget(canvas)
         canvas.close()
 
     def redraw(self):
-        for c in self.bandViewCanvases.values():
+        for c in self.mapCanvases.values():
             c.refreshAllLayers()
 
-    def insertBandView(self, bandView, i=-1):
-        assert isinstance(bandView, BandView)
-        assert bandView not in self.bandViewOrder
-        if len(self.bandViewCanvases) != len(self.bandViewOrder):
+    def insertMapView(self, bandView, i=-1):
+        assert isinstance(bandView, MapViewDefinition)
+        assert bandView not in self.mapOrder
+        if len(self.mapCanvases) != len(self.mapOrder):
             s = ""
 
-        assert i >= -1 and i <= len(self.bandViewOrder)
+        assert i >= -1 and i <= len(self.mapOrder)
         if i == -1:
-            i = len(self.bandViewCanvases)
+            i = len(self.mapCanvases)
 
         canvas = MapViewMapCanvas(self.ui)
         canvas.setLayer(self.TSD.pathImg)
@@ -738,8 +760,8 @@ class TimeSeriesDatumView(QObject):
         canvas.extentsChanged.connect(lambda : self.sigExtentsChanged.emit(canvas.spatialExtent()))
 
 
-        self.bandViewCanvases[bandView] = canvas
-        self.bandViewOrder.insert(i, bandView)
+        self.mapCanvases[bandView] = canvas
+        self.mapOrder.insert(i, bandView)
         self.L.insertWidget(self.wOffset + i, canvas)
 
     def __lt__(self, other):
@@ -824,15 +846,15 @@ class TimeSeriesViewer:
         #init TS model
         TSM = TimeSeriesTableModel(self.TS)
         D = self.ui
-        self.ICP = D.scrollAreaSubsetContent.layout()
-        D.scrollAreaBandViewsContent.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.MinimumExpanding)
-        self.BVP = self.ui.scrollAreaBandViewsContent.layout()
+        #self.ICP = D.scrollAreaSubsetContent.layout()
+        #D.scrollAreaMapViews.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.MinimumExpanding)
+        #self.BVP = self.ui.scrollAreaMapViews.layout()
 
         D.tableView_TimeSeries.setModel(TSM)
         D.tableView_TimeSeries.horizontalHeader().setResizeMode(QHeaderView.ResizeToContents)
 
-        self.bandViewManager = BandViewManager(self)
-        self.timeSeriesViewManager = TimeSeriesDatumViewManager(self)
+        self.mapViewManager = MapViewManager(self)
+        self.timeSeriesDateViewManager = TimeSeriesDateViewManager(self)
 
         self.ValidatorPxX = QIntValidator(0,99999)
         self.ValidatorPxY = QIntValidator(0,99999)
@@ -842,19 +864,19 @@ class TimeSeriesViewer:
         #D.btn_showPxCoordinate.clicked.connect(lambda: self.showSubsetsStart())
         #connect actions with logic
 
-        D.actionSelectCenter.triggered.connect(lambda : self.timeSeriesViewManager.activateMapTool('selectCenter'))
-        D.actionSelectArea.triggered.connect(lambda : self.timeSeriesViewManager.activateMapTool('selectArea'))
+        D.actionSelectCenter.triggered.connect(lambda : self.timeSeriesDateViewManager.activateMapTool('selectCenter'))
+        D.actionSelectArea.triggered.connect(lambda : self.timeSeriesDateViewManager.activateMapTool('selectArea'))
         D.actionZoomMaxExtent.triggered.connect(lambda : self.zoomTo('maxExtent'))
         D.actionZoomPixelScale.triggered.connect(lambda: self.zoomTo('pixelScale'))
-        D.actionZoomIn.triggered.connect(lambda: self.timeSeriesViewManager.activateMapTool('zoomIn'))
-        D.actionZoomOut.triggered.connect(lambda: self.timeSeriesViewManager.activateMapTool('zoomOut'))
-        D.actionPan.triggered.connect(lambda: self.timeSeriesViewManager.activateMapTool('pan'))
+        D.actionZoomIn.triggered.connect(lambda: self.timeSeriesDateViewManager.activateMapTool('zoomIn'))
+        D.actionZoomOut.triggered.connect(lambda: self.timeSeriesDateViewManager.activateMapTool('zoomOut'))
+        D.actionPan.triggered.connect(lambda: self.timeSeriesDateViewManager.activateMapTool('pan'))
 
-        D.actionAddBandView.triggered.connect(self.bandViewManager.createBandView)
+        D.actionAddMapView.triggered.connect(self.mapViewManager.createMapView)
 
         D.actionAddTSD.triggered.connect(self.ua_addTSImages)
         D.actionRemoveTSD.triggered.connect(self.removeTimeSeriesDates)
-        D.actionRedraw.triggered.connect(self.timeSeriesViewManager.redraw)
+        D.actionRedraw.triggered.connect(self.timeSeriesDateViewManager.redraw)
         D.actionLoadTS.triggered.connect(self.loadTimeSeries)
         D.actionClearTS.triggered.connect(self.clearTimeSeries)
         D.actionSaveTS.triggered.connect(self.ua_saveTSFile)
@@ -874,9 +896,9 @@ class TimeSeriesViewer:
 
         D.sliderDOI.valueChanged.connect(self.setDOI)
 
-        D.actionSetSubsetSize.triggered.connect(lambda : self.timeSeriesViewManager.setSubsetSize(
+        D.actionSetSubsetSize.triggered.connect(lambda : self.timeSeriesDateViewManager.setSubsetSize(
                                                 self.ui.subsetSize()))
-        D.actionSetExtent.triggered.connect(lambda: self.timeSeriesViewManager.setSpatialExtent(self.ui.spatialExtent()))
+        D.actionSetExtent.triggered.connect(lambda: self.timeSeriesDateViewManager.setSpatialExtent(self.ui.spatialExtent()))
 
         self.canvasCrs = QgsCoordinateReferenceSystem()
 
@@ -884,7 +906,7 @@ class TimeSeriesViewer:
     def zoomTo(self, key):
         if key == 'maxExtent':
             ext = self.TS.getMaxSpatialExtent(self.ui.crs())
-            self.timeSeriesViewManager.setSpatialExtent(ext)
+            self.timeSeriesDateViewManager.setSpatialExtent(ext)
         elif key == 'pixelScale':
             s = ""
 
@@ -916,7 +938,7 @@ class TimeSeriesViewer:
         self.ui.labelDOIValue.setText(text)
 
         if TSD:
-            self.timeSeriesViewManager.navToDOI(TSD)
+            self.timeSeriesDateViewManager.navToDOI(TSD)
 
 
     def icon(self):
@@ -936,15 +958,15 @@ class TimeSeriesViewer:
         if not self.hasInitialCenterPoint:
             if len(self.TS.data) > 0:
                 extent = self.TS.getMaxSpatialExtent(self.canvasCrs)
-                self.timeSeriesViewManager.setSubsetSize(self.ui.subsetSize())
-                self.timeSeriesViewManager.setSpatialExtent(extent)
+                self.timeSeriesDateViewManager.setSubsetSize(self.ui.subsetSize())
+                self.timeSeriesDateViewManager.setSpatialExtent(extent)
                 self.ui.setSpatialExtent(extent)
                 self.hasInitialCenterPoint = True
 
-            if len(self.bandViewManager) == 0:
+            if len(self.mapViewManager) == 0:
                 # add two empty band-views by default
-                self.bandViewManager.createBandView()
-                self.bandViewManager.createBandView()
+                self.mapViewManager.createMapView()
+                self.mapViewManager.createMapView()
 
         if len(self.TS.data) == 0:
             self.hasInitialCenterPoint = False
@@ -991,7 +1013,7 @@ class TimeSeriesViewer:
         #keep specified CRS but translate extent
         oldExtent = self.ui.spatialExtent()
         self.ui.setSpatialExtent(extent)
-        self.timeSeriesViewManager.setSpatialExtent(extent)
+        self.timeSeriesDateViewManager.setSpatialExtent(extent)
 
     def qgs_handleMouseDown(self, pt, btn):
         pass
@@ -1118,7 +1140,7 @@ class TimeSeriesViewer:
             M.beginResetModel()
             self.TS.addFiles(files)
             M.endResetModel()
-            self.refreshBandViews()
+            self.refreshMapViews()
 
         self.check_enabled()
 
-- 
GitLab