From 2d0d6953fbd486be733fa3d53e1545cc40bd65ae Mon Sep 17 00:00:00 2001
From: "benjamin.jakimow@geo.hu-berlin.de" <q8DTkxUg-BB>
Date: Wed, 30 Nov 2016 19:48:23 +0100
Subject: [PATCH] backend initialization of *.ui widgets

---
 .../ui/widgets.py                             | 32 ++++++++++++-------
 1 file changed, 21 insertions(+), 11 deletions(-)
 rename tsv_widgets.py => timeseriesviewer/ui/widgets.py (89%)

diff --git a/tsv_widgets.py b/timeseriesviewer/ui/widgets.py
similarity index 89%
rename from tsv_widgets.py
rename to timeseriesviewer/ui/widgets.py
index 1b2f7f78..ce8fcbdb 100644
--- a/tsv_widgets.py
+++ b/timeseriesviewer/ui/widgets.py
@@ -24,21 +24,30 @@ from PyQt4 import uic
 from PyQt4.QtCore import *
 from PyQt4.QtGui import *
 
-import sys, re, os
-sys.path.append(os.path.dirname(__file__))
+import sys, re, os, six
 
+from timeseriesviewer import jp
+from timeseriesviewer.ui import loadUIFormClass, DIR_UI
 
-def loadFormClass(name_ui):
-    FORM_CLASS, _ = uic.loadUiType(os.path.join(
-        os.path.dirname(__file__), name_ui), resource_suffix='')
-    return FORM_CLASS
+PATH_MAIN_UI = jp(DIR_UI, 'timseriesviewer.ui')
+PATH_BANDVIEWSETTINGS_UI = jp(DIR_UI, 'bandviewsettings.ui')
+PATH_IMAGECHIPVIEWSETTINGS_UI = jp(DIR_UI, 'imagechipviewsettings.ui')
 
+class TimeSeriesViewerUI(QMainWindow,
+                         loadUIFormClass(PATH_MAIN_UI)):
 
-FORM_CLASS_BANDVIEWSETTINGS = loadFormClass('bandviewsettings_widget_base.ui')
-FORM_CLASS_IMAGECHIPVIEWSETTINGS = loadFormClass('imagechipviewsettings_widget_base.ui')
-
+    def __init__(self, parent=None):
+        """Constructor."""
+        super(TimeSeriesViewerUI, self).__init__(parent)
+        # Set up the user interface from Designer.
+        # After setupUI you can access any designer object by doing
+        # self.<objectname>, and you can use autoconnect slots - see
+        # http://qt-project.org/doc/qt-4.8/designer-using-a-ui-file.html
+        # #widgets-and-dialogs-with-auto-connect
+        self.setupUi(self)
 
-class ImageChipViewSettings(QGroupBox, FORM_CLASS_IMAGECHIPVIEWSETTINGS):
+class ImageChipViewSettings(QGroupBox,
+                            loadUIFormClass(PATH_IMAGECHIPVIEWSETTINGS_UI)):
 
     #define signals
 
@@ -177,7 +186,8 @@ class ImageChipViewSettings(QGroupBox, FORM_CLASS_IMAGECHIPVIEWSETTINGS):
 
 
 
-class BandViewSettings(QGroupBox, FORM_CLASS_BANDVIEWSETTINGS):
+class BandViewSettings(QGroupBox,
+                       loadUIFormClass(PATH_BANDVIEWSETTINGS_UI)):
 
     #define signals
 
-- 
GitLab