From 05569ed4614a4b51b192e9e5b4cb2e6f70219c3a Mon Sep 17 00:00:00 2001 From: Riaan van den Dool Date: Wed, 7 Mar 2012 16:20:34 +0200 Subject: [PATCH 1/8] Starting with the editor. --- register/visualize/editor.py | 88 +++++++++++++++++++++++++++ register/visualize/editor.ui | 112 +++++++++++++++++++++++++++++++++++ 2 files changed, 200 insertions(+) create mode 100644 register/visualize/editor.py create mode 100644 register/visualize/editor.ui diff --git a/register/visualize/editor.py b/register/visualize/editor.py new file mode 100644 index 0000000..b84f65f --- /dev/null +++ b/register/visualize/editor.py @@ -0,0 +1,88 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'editor.ui' +# +# Created: Wed Mar 7 16:06:43 2012 +# by: PyQt4 UI code generator 4.8.5 +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore, QtGui + +try: + _fromUtf8 = QtCore.QString.fromUtf8 +except AttributeError: + _fromUtf8 = lambda s: s + +class Ui_MainWindow(object): + def setupUi(self, MainWindow): + MainWindow.setObjectName(_fromUtf8("MainWindow")) + MainWindow.resize(823, 663) + MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Python-Register Editor", None, QtGui.QApplication.UnicodeUTF8)) + self.centralwidget = QtGui.QWidget(MainWindow) + self.centralwidget.setObjectName(_fromUtf8("centralwidget")) + self.widget = QtGui.QWidget(self.centralwidget) + self.widget.setGeometry(QtCore.QRect(10, 20, 791, 571)) + self.widget.setObjectName(_fromUtf8("widget")) + self.horizontalLayout = QtGui.QHBoxLayout(self.widget) + self.horizontalLayout.setMargin(0) + self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) + self.graphicsView = QtGui.QGraphicsView(self.widget) + self.graphicsView.setObjectName(_fromUtf8("graphicsView")) + self.horizontalLayout.addWidget(self.graphicsView) + self.graphicsView_2 = QtGui.QGraphicsView(self.widget) + self.graphicsView_2.setObjectName(_fromUtf8("graphicsView_2")) + self.horizontalLayout.addWidget(self.graphicsView_2) + self.horizontalLayoutWidget = QtGui.QWidget(self.centralwidget) + self.horizontalLayoutWidget.setGeometry(QtCore.QRect(261, 20, 291, 151)) + self.horizontalLayoutWidget.setObjectName(_fromUtf8("horizontalLayoutWidget")) + self.horizontalLayout_2 = QtGui.QHBoxLayout(self.horizontalLayoutWidget) + self.horizontalLayout_2.setMargin(0) + self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2")) + self.graphicsView_4 = QtGui.QGraphicsView(self.horizontalLayoutWidget) + self.graphicsView_4.setObjectName(_fromUtf8("graphicsView_4")) + self.horizontalLayout_2.addWidget(self.graphicsView_4) + self.graphicsView_3 = QtGui.QGraphicsView(self.horizontalLayoutWidget) + self.graphicsView_3.setObjectName(_fromUtf8("graphicsView_3")) + self.horizontalLayout_2.addWidget(self.graphicsView_3) + MainWindow.setCentralWidget(self.centralwidget) + self.menubar = QtGui.QMenuBar(MainWindow) + self.menubar.setGeometry(QtCore.QRect(0, 0, 823, 25)) + self.menubar.setObjectName(_fromUtf8("menubar")) + self.menuFile = QtGui.QMenu(self.menubar) + self.menuFile.setTitle(QtGui.QApplication.translate("MainWindow", "File", None, QtGui.QApplication.UnicodeUTF8)) + self.menuFile.setObjectName(_fromUtf8("menuFile")) + self.menuAbout = QtGui.QMenu(self.menubar) + self.menuAbout.setTitle(QtGui.QApplication.translate("MainWindow", "About", None, QtGui.QApplication.UnicodeUTF8)) + self.menuAbout.setObjectName(_fromUtf8("menuAbout")) + MainWindow.setMenuBar(self.menubar) + self.statusbar = QtGui.QStatusBar(MainWindow) + self.statusbar.setObjectName(_fromUtf8("statusbar")) + MainWindow.setStatusBar(self.statusbar) + self.actionOpen_left = QtGui.QAction(MainWindow) + self.actionOpen_left.setText(QtGui.QApplication.translate("MainWindow", "Open left...", None, QtGui.QApplication.UnicodeUTF8)) + self.actionOpen_left.setObjectName(_fromUtf8("actionOpen_left")) + self.actionOpen_right = QtGui.QAction(MainWindow) + self.actionOpen_right.setText(QtGui.QApplication.translate("MainWindow", "Open right...", None, QtGui.QApplication.UnicodeUTF8)) + self.actionOpen_right.setObjectName(_fromUtf8("actionOpen_right")) + self.actionSave_features = QtGui.QAction(MainWindow) + self.actionSave_features.setText(QtGui.QApplication.translate("MainWindow", "Save features...", None, QtGui.QApplication.UnicodeUTF8)) + self.actionSave_features.setObjectName(_fromUtf8("actionSave_features")) + self.actionExit = QtGui.QAction(MainWindow) + self.actionExit.setText(QtGui.QApplication.translate("MainWindow", "Exit", None, QtGui.QApplication.UnicodeUTF8)) + self.actionExit.setObjectName(_fromUtf8("actionExit")) + self.menuFile.addAction(self.actionOpen_left) + self.menuFile.addAction(self.actionOpen_right) + self.menuFile.addSeparator() + self.menuFile.addAction(self.actionSave_features) + self.menuFile.addSeparator() + self.menuFile.addAction(self.actionExit) + self.menubar.addAction(self.menuFile.menuAction()) + self.menubar.addAction(self.menuAbout.menuAction()) + + self.retranslateUi(MainWindow) + QtCore.QMetaObject.connectSlotsByName(MainWindow) + + def retranslateUi(self, MainWindow): + pass + diff --git a/register/visualize/editor.ui b/register/visualize/editor.ui new file mode 100644 index 0000000..99078d5 --- /dev/null +++ b/register/visualize/editor.ui @@ -0,0 +1,112 @@ + + + MainWindow + + + + 0 + 0 + 823 + 663 + + + + Python-Register Editor + + + + + + 10 + 20 + 791 + 571 + + + + + + + + + + + + + + + 261 + 20 + 291 + 151 + + + + + + + + + + + + graphicsView + graphicsView_2 + graphicsView + + graphicsView_3 + horizontalLayoutWidget + + + + + 0 + 0 + 823 + 25 + + + + + File + + + + + + + + + + + About + + + + + + + + + Open left... + + + + + Open right... + + + + + Save features... + + + + + Exit + + + + + + From 5e6117e04f58806b4b477df4c59a789959ad2809 Mon Sep 17 00:00:00 2001 From: Riaan van den Dool Date: Thu, 8 Mar 2012 08:12:57 +0200 Subject: [PATCH 2/8] Struggling with layout. --- register/visualize/editor.py | 80 +++++++++++++++++++++--------------- register/visualize/editor.ui | 35 +++++++++++++++- 2 files changed, 81 insertions(+), 34 deletions(-) diff --git a/register/visualize/editor.py b/register/visualize/editor.py index b84f65f..8db20e1 100644 --- a/register/visualize/editor.py +++ b/register/visualize/editor.py @@ -2,7 +2,7 @@ # Form implementation generated from reading ui file 'editor.ui' # -# Created: Wed Mar 7 16:06:43 2012 +# Created: Thu Mar 8 07:24:07 2012 # by: PyQt4 UI code generator 4.8.5 # # WARNING! All changes made in this file will be lost! @@ -14,12 +14,18 @@ except AttributeError: _fromUtf8 = lambda s: s -class Ui_MainWindow(object): - def setupUi(self, MainWindow): - MainWindow.setObjectName(_fromUtf8("MainWindow")) - MainWindow.resize(823, 663) - MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Python-Register Editor", None, QtGui.QApplication.UnicodeUTF8)) - self.centralwidget = QtGui.QWidget(MainWindow) + +class Editor(QtGui.QMainWindow): + + def __init__(self): + super(Editor, self).__init__() + self.initUI() + + def initUI(self): + self.setObjectName(_fromUtf8("MainWindow")) + self.resize(823, 663) + self.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Python-Register Editor", None, QtGui.QApplication.UnicodeUTF8)) + self.centralwidget = QtGui.QWidget(self) self.centralwidget.setObjectName(_fromUtf8("centralwidget")) self.widget = QtGui.QWidget(self.centralwidget) self.widget.setGeometry(QtCore.QRect(10, 20, 791, 571)) @@ -27,26 +33,26 @@ def setupUi(self, MainWindow): self.horizontalLayout = QtGui.QHBoxLayout(self.widget) self.horizontalLayout.setMargin(0) self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) - self.graphicsView = QtGui.QGraphicsView(self.widget) - self.graphicsView.setObjectName(_fromUtf8("graphicsView")) - self.horizontalLayout.addWidget(self.graphicsView) - self.graphicsView_2 = QtGui.QGraphicsView(self.widget) - self.graphicsView_2.setObjectName(_fromUtf8("graphicsView_2")) - self.horizontalLayout.addWidget(self.graphicsView_2) + self.imageLeft = QtGui.QGraphicsView(self.widget) + self.imageLeft.setObjectName(_fromUtf8("imageLeft")) + self.horizontalLayout.addWidget(self.imageLeft) + self.imageRight = QtGui.QGraphicsView(self.widget) + self.imageRight.setObjectName(_fromUtf8("imageRight")) + self.horizontalLayout.addWidget(self.imageRight) self.horizontalLayoutWidget = QtGui.QWidget(self.centralwidget) self.horizontalLayoutWidget.setGeometry(QtCore.QRect(261, 20, 291, 151)) self.horizontalLayoutWidget.setObjectName(_fromUtf8("horizontalLayoutWidget")) self.horizontalLayout_2 = QtGui.QHBoxLayout(self.horizontalLayoutWidget) self.horizontalLayout_2.setMargin(0) self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2")) - self.graphicsView_4 = QtGui.QGraphicsView(self.horizontalLayoutWidget) - self.graphicsView_4.setObjectName(_fromUtf8("graphicsView_4")) - self.horizontalLayout_2.addWidget(self.graphicsView_4) - self.graphicsView_3 = QtGui.QGraphicsView(self.horizontalLayoutWidget) - self.graphicsView_3.setObjectName(_fromUtf8("graphicsView_3")) - self.horizontalLayout_2.addWidget(self.graphicsView_3) - MainWindow.setCentralWidget(self.centralwidget) - self.menubar = QtGui.QMenuBar(MainWindow) + self.imageZoomRight = QtGui.QGraphicsView(self.horizontalLayoutWidget) + self.imageZoomRight.setObjectName(_fromUtf8("imageZoomRight")) + self.horizontalLayout_2.addWidget(self.imageZoomRight) + self.imageZoomLeft = QtGui.QGraphicsView(self.horizontalLayoutWidget) + self.imageZoomLeft.setObjectName(_fromUtf8("imageZoomLeft")) + self.horizontalLayout_2.addWidget(self.imageZoomLeft) + self.setCentralWidget(self.centralwidget) + self.menubar = QtGui.QMenuBar(self) self.menubar.setGeometry(QtCore.QRect(0, 0, 823, 25)) self.menubar.setObjectName(_fromUtf8("menubar")) self.menuFile = QtGui.QMenu(self.menubar) @@ -55,20 +61,20 @@ def setupUi(self, MainWindow): self.menuAbout = QtGui.QMenu(self.menubar) self.menuAbout.setTitle(QtGui.QApplication.translate("MainWindow", "About", None, QtGui.QApplication.UnicodeUTF8)) self.menuAbout.setObjectName(_fromUtf8("menuAbout")) - MainWindow.setMenuBar(self.menubar) - self.statusbar = QtGui.QStatusBar(MainWindow) + self.setMenuBar(self.menubar) + self.statusbar = QtGui.QStatusBar(self) self.statusbar.setObjectName(_fromUtf8("statusbar")) - MainWindow.setStatusBar(self.statusbar) - self.actionOpen_left = QtGui.QAction(MainWindow) + self.setStatusBar(self.statusbar) + self.actionOpen_left = QtGui.QAction(self) self.actionOpen_left.setText(QtGui.QApplication.translate("MainWindow", "Open left...", None, QtGui.QApplication.UnicodeUTF8)) self.actionOpen_left.setObjectName(_fromUtf8("actionOpen_left")) - self.actionOpen_right = QtGui.QAction(MainWindow) + self.actionOpen_right = QtGui.QAction(self) self.actionOpen_right.setText(QtGui.QApplication.translate("MainWindow", "Open right...", None, QtGui.QApplication.UnicodeUTF8)) self.actionOpen_right.setObjectName(_fromUtf8("actionOpen_right")) - self.actionSave_features = QtGui.QAction(MainWindow) + self.actionSave_features = QtGui.QAction(self) self.actionSave_features.setText(QtGui.QApplication.translate("MainWindow", "Save features...", None, QtGui.QApplication.UnicodeUTF8)) self.actionSave_features.setObjectName(_fromUtf8("actionSave_features")) - self.actionExit = QtGui.QAction(MainWindow) + self.actionExit = QtGui.QAction(self) self.actionExit.setText(QtGui.QApplication.translate("MainWindow", "Exit", None, QtGui.QApplication.UnicodeUTF8)) self.actionExit.setObjectName(_fromUtf8("actionExit")) self.menuFile.addAction(self.actionOpen_left) @@ -79,10 +85,18 @@ def setupUi(self, MainWindow): self.menuFile.addAction(self.actionExit) self.menubar.addAction(self.menuFile.menuAction()) self.menubar.addAction(self.menuAbout.menuAction()) + + self.actionOpen_left.triggered.connect(self.openLeft) + self.actionExit.triggered.connect(self.exxit) - self.retranslateUi(MainWindow) - QtCore.QMetaObject.connectSlotsByName(MainWindow) - - def retranslateUi(self, MainWindow): - pass + def openLeft(self): + filename = QtGui.QFileDialog.getOpenFileName(self, 'Open image file', '~') + pixmap = QtGui.QPixmap(filename) + scene = QtGui.QGraphicsScene() + scene.addPixmap(pixmap) + self.imageLeft.setScene(scene) + + def exxit(self): + self.close() + \ No newline at end of file diff --git a/register/visualize/editor.ui b/register/visualize/editor.ui index 99078d5..07f6763 100644 --- a/register/visualize/editor.ui +++ b/register/visualize/editor.ui @@ -108,5 +108,38 @@ - + + + actionOpen_left + triggered() + graphicsView + update() + + + 71 + 98 + + + 206 + 330 + + + + + actionOpen_right + triggered() + graphicsView_2 + update() + + + -1 + -1 + + + 604 + 330 + + + + From 3a738ff443bd8651f480245e561755366afe719c Mon Sep 17 00:00:00 2001 From: Nathan Faggian Date: Sun, 11 Mar 2012 15:08:10 +1100 Subject: [PATCH 3/8] Editor change so I can start it in osx. --- register/visualize/editor.py | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/register/visualize/editor.py b/register/visualize/editor.py index 8db20e1..bc2be45 100644 --- a/register/visualize/editor.py +++ b/register/visualize/editor.py @@ -6,7 +6,7 @@ # by: PyQt4 UI code generator 4.8.5 # # WARNING! All changes made in this file will be lost! - +import sys from PyQt4 import QtCore, QtGui try: @@ -21,7 +21,7 @@ def __init__(self): super(Editor, self).__init__() self.initUI() - def initUI(self): + def initUI(self): self.setObjectName(_fromUtf8("MainWindow")) self.resize(823, 663) self.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Python-Register Editor", None, QtGui.QApplication.UnicodeUTF8)) @@ -89,7 +89,6 @@ def initUI(self): self.actionOpen_left.triggered.connect(self.openLeft) self.actionExit.triggered.connect(self.exxit) - def openLeft(self): filename = QtGui.QFileDialog.getOpenFileName(self, 'Open image file', '~') pixmap = QtGui.QPixmap(filename) @@ -99,4 +98,16 @@ def openLeft(self): def exxit(self): self.close() - \ No newline at end of file + + +# Invoke the GUI +def main(): + + app = QtGui.QApplication(sys.argv) + editor = Editor() + editor.show() + sys.exit(app.exec_()) + + +if __name__ == '__main__': + main() From ae3296d42fab4ea6bc145a8b86206a6d0ec7765d Mon Sep 17 00:00:00 2001 From: Riaan van den Dool Date: Thu, 15 Mar 2012 12:23:23 +0200 Subject: [PATCH 4/8] QML based GUI. --- register/visualize/africa-map1.jpg | Bin 0 -> 115249 bytes register/visualize/editor.py | 119 +++-------------------- register/visualize/editor.qml | 66 +++++++++++++ register/visualize/editor.ui | 145 ----------------------------- 4 files changed, 80 insertions(+), 250 deletions(-) create mode 100644 register/visualize/africa-map1.jpg create mode 100644 register/visualize/editor.qml delete mode 100644 register/visualize/editor.ui diff --git a/register/visualize/africa-map1.jpg b/register/visualize/africa-map1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..57e1383e6424a6e4d4b520e525c4f36ebcbaa0c3 GIT binary patch literal 115249 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�_e@f=?iXu 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 literal 0 HcmV?d00001 diff --git a/register/visualize/editor.py b/register/visualize/editor.py index bc2be45..7c9af0a 100644 --- a/register/visualize/editor.py +++ b/register/visualize/editor.py @@ -1,113 +1,22 @@ -# -*- coding: utf-8 -*- - -# Form implementation generated from reading ui file 'editor.ui' -# -# Created: Thu Mar 8 07:24:07 2012 -# by: PyQt4 UI code generator 4.8.5 -# -# WARNING! All changes made in this file will be lost! import sys -from PyQt4 import QtCore, QtGui - -try: - _fromUtf8 = QtCore.QString.fromUtf8 -except AttributeError: - _fromUtf8 = lambda s: s - -class Editor(QtGui.QMainWindow): - - def __init__(self): - super(Editor, self).__init__() - self.initUI() - - def initUI(self): - self.setObjectName(_fromUtf8("MainWindow")) - self.resize(823, 663) - self.setWindowTitle(QtGui.QApplication.translate("MainWindow", "Python-Register Editor", None, QtGui.QApplication.UnicodeUTF8)) - self.centralwidget = QtGui.QWidget(self) - self.centralwidget.setObjectName(_fromUtf8("centralwidget")) - self.widget = QtGui.QWidget(self.centralwidget) - self.widget.setGeometry(QtCore.QRect(10, 20, 791, 571)) - self.widget.setObjectName(_fromUtf8("widget")) - self.horizontalLayout = QtGui.QHBoxLayout(self.widget) - self.horizontalLayout.setMargin(0) - self.horizontalLayout.setObjectName(_fromUtf8("horizontalLayout")) - self.imageLeft = QtGui.QGraphicsView(self.widget) - self.imageLeft.setObjectName(_fromUtf8("imageLeft")) - self.horizontalLayout.addWidget(self.imageLeft) - self.imageRight = QtGui.QGraphicsView(self.widget) - self.imageRight.setObjectName(_fromUtf8("imageRight")) - self.horizontalLayout.addWidget(self.imageRight) - self.horizontalLayoutWidget = QtGui.QWidget(self.centralwidget) - self.horizontalLayoutWidget.setGeometry(QtCore.QRect(261, 20, 291, 151)) - self.horizontalLayoutWidget.setObjectName(_fromUtf8("horizontalLayoutWidget")) - self.horizontalLayout_2 = QtGui.QHBoxLayout(self.horizontalLayoutWidget) - self.horizontalLayout_2.setMargin(0) - self.horizontalLayout_2.setObjectName(_fromUtf8("horizontalLayout_2")) - self.imageZoomRight = QtGui.QGraphicsView(self.horizontalLayoutWidget) - self.imageZoomRight.setObjectName(_fromUtf8("imageZoomRight")) - self.horizontalLayout_2.addWidget(self.imageZoomRight) - self.imageZoomLeft = QtGui.QGraphicsView(self.horizontalLayoutWidget) - self.imageZoomLeft.setObjectName(_fromUtf8("imageZoomLeft")) - self.horizontalLayout_2.addWidget(self.imageZoomLeft) - self.setCentralWidget(self.centralwidget) - self.menubar = QtGui.QMenuBar(self) - self.menubar.setGeometry(QtCore.QRect(0, 0, 823, 25)) - self.menubar.setObjectName(_fromUtf8("menubar")) - self.menuFile = QtGui.QMenu(self.menubar) - self.menuFile.setTitle(QtGui.QApplication.translate("MainWindow", "File", None, QtGui.QApplication.UnicodeUTF8)) - self.menuFile.setObjectName(_fromUtf8("menuFile")) - self.menuAbout = QtGui.QMenu(self.menubar) - self.menuAbout.setTitle(QtGui.QApplication.translate("MainWindow", "About", None, QtGui.QApplication.UnicodeUTF8)) - self.menuAbout.setObjectName(_fromUtf8("menuAbout")) - self.setMenuBar(self.menubar) - self.statusbar = QtGui.QStatusBar(self) - self.statusbar.setObjectName(_fromUtf8("statusbar")) - self.setStatusBar(self.statusbar) - self.actionOpen_left = QtGui.QAction(self) - self.actionOpen_left.setText(QtGui.QApplication.translate("MainWindow", "Open left...", None, QtGui.QApplication.UnicodeUTF8)) - self.actionOpen_left.setObjectName(_fromUtf8("actionOpen_left")) - self.actionOpen_right = QtGui.QAction(self) - self.actionOpen_right.setText(QtGui.QApplication.translate("MainWindow", "Open right...", None, QtGui.QApplication.UnicodeUTF8)) - self.actionOpen_right.setObjectName(_fromUtf8("actionOpen_right")) - self.actionSave_features = QtGui.QAction(self) - self.actionSave_features.setText(QtGui.QApplication.translate("MainWindow", "Save features...", None, QtGui.QApplication.UnicodeUTF8)) - self.actionSave_features.setObjectName(_fromUtf8("actionSave_features")) - self.actionExit = QtGui.QAction(self) - self.actionExit.setText(QtGui.QApplication.translate("MainWindow", "Exit", None, QtGui.QApplication.UnicodeUTF8)) - self.actionExit.setObjectName(_fromUtf8("actionExit")) - self.menuFile.addAction(self.actionOpen_left) - self.menuFile.addAction(self.actionOpen_right) - self.menuFile.addSeparator() - self.menuFile.addAction(self.actionSave_features) - self.menuFile.addSeparator() - self.menuFile.addAction(self.actionExit) - self.menubar.addAction(self.menuFile.menuAction()) - self.menubar.addAction(self.menuAbout.menuAction()) - - self.actionOpen_left.triggered.connect(self.openLeft) - self.actionExit.triggered.connect(self.exxit) +from PyQt4.QtCore import QDateTime, QObject, QUrl, pyqtSignal +from PyQt4.QtGui import QApplication +from PyQt4.QtDeclarative import QDeclarativeView - def openLeft(self): - filename = QtGui.QFileDialog.getOpenFileName(self, 'Open image file', '~') - pixmap = QtGui.QPixmap(filename) - scene = QtGui.QGraphicsScene() - scene.addPixmap(pixmap) - self.imageLeft.setScene(scene) - - def exxit(self): - self.close() +app = QApplication(sys.argv) -# Invoke the GUI -def main(): +# Create the QML user interface. +view = QDeclarativeView() +view.setSource(QUrl('main.qml')) +view.setResizeMode(QDeclarativeView.SizeRootObjectToView) - app = QtGui.QApplication(sys.argv) - editor = Editor() - editor.show() - sys.exit(app.exec_()) +# Get the root object of the user interface. +rootObject = view.rootObject() +# Display the user interface and allow the user to interact with it. +view.setGeometry(100, 100, 1000, 500) +view.show() -if __name__ == '__main__': - main() +app.exec_() diff --git a/register/visualize/editor.qml b/register/visualize/editor.qml new file mode 100644 index 0000000..bd61f23 --- /dev/null +++ b/register/visualize/editor.qml @@ -0,0 +1,66 @@ +// import QtQuick 1.0 // to target S60 5th Edition or Maemo 5 +import QtQuick 1.1 + +Rectangle { + id: rectangle1 + width: 1000 + height: 500 + MouseArea { + id: main_mouse_area + anchors.fill: parent + onClicked: { + Qt.quit(); + } + + Image { + id: left_image + anchors.rightMargin: main_mouse_area.width/2 + 25 + anchors.right: parent.right + anchors.left: parent.left + anchors.leftMargin: 50 + anchors.bottom: parent.bottom + anchors.bottomMargin: 50 + anchors.top: parent.top + anchors.topMargin: 50 + source: "africa-map1.jpg" + } + + Image { + id: right_image + anchors.right: parent.right + anchors.rightMargin: 50 + anchors.leftMargin: main_mouse_area.width/2 + 25 + anchors.left: parent.left + anchors.bottom: parent.bottom + anchors.bottomMargin: 50 + anchors.top: parent.top + anchors.topMargin: 50 + source: "africa-map1.jpg" + } + + Image { + id: left_image_zoom + width: left_image.width / 5 + height: left_image.height / 5 + anchors.right: left_image.right + anchors.rightMargin: 5 + anchors.top: left_image.top + anchors.topMargin: 5 + source: "africa-map1.jpg" + } + + Image { + id: right_image_zoom + width: right_image.width / 5 + height: right_image.height / 5 + anchors.left: right_image.left + anchors.leftMargin: 5 + anchors.top: right_image.top + anchors.topMargin: 5 + source: "africa-map1.jpg" + } + + } + + +} diff --git a/register/visualize/editor.ui b/register/visualize/editor.ui deleted file mode 100644 index 07f6763..0000000 --- a/register/visualize/editor.ui +++ /dev/null @@ -1,145 +0,0 @@ - - - MainWindow - - - - 0 - 0 - 823 - 663 - - - - Python-Register Editor - - - - - - 10 - 20 - 791 - 571 - - - - - - - - - - - - - - - 261 - 20 - 291 - 151 - - - - - - - - - - - - graphicsView - graphicsView_2 - graphicsView - - graphicsView_3 - horizontalLayoutWidget - - - - - 0 - 0 - 823 - 25 - - - - - File - - - - - - - - - - - About - - - - - - - - - Open left... - - - - - Open right... - - - - - Save features... - - - - - Exit - - - - - - - actionOpen_left - triggered() - graphicsView - update() - - - 71 - 98 - - - 206 - 330 - - - - - actionOpen_right - triggered() - graphicsView_2 - update() - - - -1 - -1 - - - 604 - 330 - - - - - From 207c7517e4c12224ea1cb410f9126ca27e51e063 Mon Sep 17 00:00:00 2001 From: Riaan van den Dool Date: Thu, 15 Mar 2012 12:29:25 +0200 Subject: [PATCH 5/8] Fixed filename. --- register/visualize/editor.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/register/visualize/editor.py b/register/visualize/editor.py index 7c9af0a..49802c1 100644 --- a/register/visualize/editor.py +++ b/register/visualize/editor.py @@ -9,7 +9,7 @@ # Create the QML user interface. view = QDeclarativeView() -view.setSource(QUrl('main.qml')) +view.setSource(QUrl('editor.qml')) view.setResizeMode(QDeclarativeView.SizeRootObjectToView) # Get the root object of the user interface. From 9112e91d40e6a5c6a988e1ed1cfb722938326906 Mon Sep 17 00:00:00 2001 From: Nathan Faggian Date: Fri, 16 Mar 2012 18:01:15 +1100 Subject: [PATCH 6/8] Ideas - Riaan please ignore files for a bit. --- register/visualize/controller.py | 33 +++++++++++++++++++++++ register/visualize/graphics.py | 45 ++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 register/visualize/controller.py create mode 100644 register/visualize/graphics.py diff --git a/register/visualize/controller.py b/register/visualize/controller.py new file mode 100644 index 0000000..16d35c8 --- /dev/null +++ b/register/visualize/controller.py @@ -0,0 +1,33 @@ +""" Model view controller """ + +import sys +import graphics + +from PyQt4 import QtCore, QtGui + + +class PointModel(): + """ + Representation of things, like points and polygons. + """ + def __init__(self, x, y): + self.x = x + self.y = y + + +class Controller(QtGui.QDialog): + """ Control of view and model """ + + def __init__(self, parent=None): + QtGui.QWidget.__init__(self, parent) + + self.view = graphics.Ui_Dialog() + self.view.setupUi(self) + + self.model = PointModel(50, 50) + +if __name__ == "__main__": + app = QtGui.QApplication(sys.argv) + application = Controller() + application.show() + sys.exit(app.exec_()) diff --git a/register/visualize/graphics.py b/register/visualize/graphics.py new file mode 100644 index 0000000..15f1ea3 --- /dev/null +++ b/register/visualize/graphics.py @@ -0,0 +1,45 @@ +# -*- coding: utf-8 -*- + +# Form implementation generated from reading ui file 'graphics.ui' +# +# Created: Fri Mar 16 16:59:34 2012 +# by: PyQt4 UI code generator 4.7 +# +# WARNING! All changes made in this file will be lost! + +from PyQt4 import QtCore, QtGui + +class Ui_Dialog(object): + def setupUi(self, Dialog): + Dialog.setObjectName("Dialog") + Dialog.resize(648, 612) + Dialog.setMouseTracking(True) + Dialog.setSizeGripEnabled(False) + Dialog.setModal(False) + + self.scene = QtGui.QGraphicsScene() + + self.graphicsView = QtGui.QGraphicsView(Dialog) + self.graphicsView.setGeometry(QtCore.QRect(10, 10, 631, 591)) + self.graphicsView.setObjectName("graphicsView") + + self.graphicsView.setScene(self.scene) + + self.retranslateUi(Dialog) + QtCore.QMetaObject.connectSlotsByName(Dialog) + + def retranslateUi(self, Dialog): + Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "View", None, QtGui.QApplication.UnicodeUTF8)) + + + def pointView(self, model): + """ + Views a model as a point. + """ + self.scene.addRect( + QtCore.QRect(model.x, model.y, 10, 10), + pen=QtGui.QPen() + ) + + + \ No newline at end of file From 0e8228570d5408c056230ad72f9448d69807b0d5 Mon Sep 17 00:00:00 2001 From: Nathan Faggian Date: Fri, 16 Mar 2012 18:15:05 +1100 Subject: [PATCH 7/8] Updates, removed graphics.py and starting playing around with a model-view-controller idea I had for user interaction. --- register/visualize/controller.py | 59 ++++++++++++++++++++++++++++---- register/visualize/graphics.py | 45 ------------------------ 2 files changed, 53 insertions(+), 51 deletions(-) delete mode 100644 register/visualize/graphics.py diff --git a/register/visualize/controller.py b/register/visualize/controller.py index 16d35c8..129c9a1 100644 --- a/register/visualize/controller.py +++ b/register/visualize/controller.py @@ -1,12 +1,56 @@ -""" Model view controller """ +""" Model view controller in QT """ import sys -import graphics from PyQt4 import QtCore, QtGui +#============================================================================== +# View (only ever draws the model data and retransmits messages) +#============================================================================== -class PointModel(): + +class dialog(object): + + def setupUi(self, Dialog): + Dialog.setObjectName("Dialog") + Dialog.resize(648, 612) + Dialog.setModal(False) + + self.graphicsView = QtGui.QGraphicsView(Dialog) + self.graphicsView.setGeometry(QtCore.QRect(10, 10, 631, 591)) + self.graphicsView.setObjectName("graphicsView") + + self.scene = QtGui.QGraphicsScene() + self.graphicsView.setScene(self.scene) + + self.retranslateUi(Dialog) + QtCore.QMetaObject.connectSlotsByName(Dialog) + + def retranslateUi(self, Dialog): + Dialog.setWindowTitle( + QtGui.QApplication.translate( + "Dialog", + "View", + None, + QtGui.QApplication.UnicodeUTF8 + ) + ) + + def draw(self, model): + """ + Views a model as a point. + """ + self.scene.addRect( + QtCore.QRect(model.x, model.y, 10, 10), + pen=QtGui.QPen() + ) + + +#============================================================================== +# Model (data) +#============================================================================== + +class Model(): """ Representation of things, like points and polygons. """ @@ -15,17 +59,20 @@ def __init__(self, x, y): self.y = y +#============================================================================== +# Controller (subscribes to messages from view) +#============================================================================== + + class Controller(QtGui.QDialog): """ Control of view and model """ def __init__(self, parent=None): QtGui.QWidget.__init__(self, parent) - self.view = graphics.Ui_Dialog() + self.view = dialog() self.view.setupUi(self) - self.model = PointModel(50, 50) - if __name__ == "__main__": app = QtGui.QApplication(sys.argv) application = Controller() diff --git a/register/visualize/graphics.py b/register/visualize/graphics.py deleted file mode 100644 index 15f1ea3..0000000 --- a/register/visualize/graphics.py +++ /dev/null @@ -1,45 +0,0 @@ -# -*- coding: utf-8 -*- - -# Form implementation generated from reading ui file 'graphics.ui' -# -# Created: Fri Mar 16 16:59:34 2012 -# by: PyQt4 UI code generator 4.7 -# -# WARNING! All changes made in this file will be lost! - -from PyQt4 import QtCore, QtGui - -class Ui_Dialog(object): - def setupUi(self, Dialog): - Dialog.setObjectName("Dialog") - Dialog.resize(648, 612) - Dialog.setMouseTracking(True) - Dialog.setSizeGripEnabled(False) - Dialog.setModal(False) - - self.scene = QtGui.QGraphicsScene() - - self.graphicsView = QtGui.QGraphicsView(Dialog) - self.graphicsView.setGeometry(QtCore.QRect(10, 10, 631, 591)) - self.graphicsView.setObjectName("graphicsView") - - self.graphicsView.setScene(self.scene) - - self.retranslateUi(Dialog) - QtCore.QMetaObject.connectSlotsByName(Dialog) - - def retranslateUi(self, Dialog): - Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "View", None, QtGui.QApplication.UnicodeUTF8)) - - - def pointView(self, model): - """ - Views a model as a point. - """ - self.scene.addRect( - QtCore.QRect(model.x, model.y, 10, 10), - pen=QtGui.QPen() - ) - - - \ No newline at end of file From 542d57f624ab31581ebaa2176aa828d59e37bdf3 Mon Sep 17 00:00:00 2001 From: Riaan van den Dool Date: Sat, 17 Mar 2012 11:37:22 +0200 Subject: [PATCH 8/8] Editor class. --- register/visualize/editor.py | 3 +- register/visualize/editor.qml | 153 ++++++++++++++++++++++------------ 2 files changed, 102 insertions(+), 54 deletions(-) diff --git a/register/visualize/editor.py b/register/visualize/editor.py index 49802c1..bd8ee73 100644 --- a/register/visualize/editor.py +++ b/register/visualize/editor.py @@ -1,4 +1,5 @@ import sys +import os from PyQt4.QtCore import QDateTime, QObject, QUrl, pyqtSignal from PyQt4.QtGui import QApplication @@ -9,7 +10,7 @@ # Create the QML user interface. view = QDeclarativeView() -view.setSource(QUrl('editor.qml')) +view.setSource(QUrl(os.path.join(os.path.dirname(__file__), 'editor.qml'))) view.setResizeMode(QDeclarativeView.SizeRootObjectToView) # Get the root object of the user interface. diff --git a/register/visualize/editor.qml b/register/visualize/editor.qml index bd61f23..3bbe1a0 100644 --- a/register/visualize/editor.qml +++ b/register/visualize/editor.qml @@ -1,66 +1,113 @@ -// import QtQuick 1.0 // to target S60 5th Edition or Maemo 5 import QtQuick 1.1 +import Qt 4.7 -Rectangle { - id: rectangle1 +Rectangle { + id: main_rectangle width: 1000 height: 500 - MouseArea { - id: main_mouse_area - anchors.fill: parent - onClicked: { - Qt.quit(); - } - Image { - id: left_image - anchors.rightMargin: main_mouse_area.width/2 + 25 - anchors.right: parent.right - anchors.left: parent.left - anchors.leftMargin: 50 - anchors.bottom: parent.bottom - anchors.bottomMargin: 50 - anchors.top: parent.top - anchors.topMargin: 50 - source: "africa-map1.jpg" - } + signal open_left_clicked; + signal open_right_clicked; - Image { - id: right_image - anchors.right: parent.right - anchors.rightMargin: 50 - anchors.leftMargin: main_mouse_area.width/2 + 25 - anchors.left: parent.left - anchors.bottom: parent.bottom - anchors.bottomMargin: 50 - anchors.top: parent.top - anchors.topMargin: 50 - source: "africa-map1.jpg" - } + function open_left(url) { + left_image.source = url + } - Image { - id: left_image_zoom - width: left_image.width / 5 - height: left_image.height / 5 - anchors.right: left_image.right - anchors.rightMargin: 5 - anchors.top: left_image.top - anchors.topMargin: 5 - source: "africa-map1.jpg" - } + function open_right(url) { + left_image.source = url + } - Image { - id: right_image_zoom - width: right_image.width / 5 - height: right_image.height / 5 - anchors.left: right_image.left - anchors.leftMargin: 5 - anchors.top: right_image.top - anchors.topMargin: 5 - source: "africa-map1.jpg" - } + Image { + id: left_image + anchors.rightMargin: parent.width/2 + 25 + anchors.right: parent.right + anchors.left: parent.left + anchors.leftMargin: 50 + anchors.bottom: parent.bottom + anchors.bottomMargin: 50 + anchors.top: parent.top + anchors.topMargin: 50 + source: "africa-map1.jpg" + } + + Image { + id: right_image + anchors.right: parent.right + anchors.rightMargin: 50 + anchors.leftMargin: parent.width/2 + 25 + anchors.left: parent.left + anchors.bottom: parent.bottom + anchors.bottomMargin: 50 + anchors.top: parent.top + anchors.topMargin: 50 + source: "africa-map1.jpg" + } + + Image { + id: left_image_zoom + width: left_image.width / 5 + height: left_image.height / 5 + anchors.right: left_image.right + anchors.rightMargin: 5 + anchors.top: left_image.top + anchors.topMargin: 5 + source: "africa-map1.jpg" + } + Image { + id: right_image_zoom + width: right_image.width / 5 + height: right_image.height / 5 + anchors.left: right_image.left + anchors.leftMargin: 5 + anchors.top: right_image.top + anchors.topMargin: 5 + source: "africa-map1.jpg" } + Flow { + id: menu_flow + height: 45 + spacing: 0 + anchors.right: parent.right + anchors.rightMargin: 0 + anchors.left: parent.left + anchors.leftMargin: 0 + anchors.top: parent.top + anchors.topMargin: 0 + + Text { + id: menu_open_left + x: 26 + y: 30 + width: 100 + height: 45 + text: qsTr("Open Left...") + verticalAlignment: Text.AlignVCenter + font.pixelSize: 12 + MouseArea { + id: menu_open_left_mouse_area + anchors.fill: parent + onClicked: open_left_clicked() + } + } + + Text { + id: menu_open_right + x: 26 + y: 30 + width: 100 + height: 45 + text: qsTr("Open Right...") + verticalAlignment: Text.AlignVCenter + font.pixelSize: 12 + MouseArea { + id: menu_open_right_mouse_area + anchors.fill: parent + onClicked: open_right_clicked() + } + } + } + }