diff --git a/Makefile b/Makefile
index b3e2527..ff5ca8d 100644
--- a/Makefile
+++ b/Makefile
@@ -4,8 +4,10 @@ default:
gui:
pyside-uic relational_pyside/survey.ui > relational_pyside/survey.py
pyside-uic relational_pyside/maingui.ui > relational_pyside/maingui.py
+ pyside-uic relational_pyside/rel_edit.ui > relational_pyside/rel_edit.py
pyuic4 relational_gui/survey.ui > relational_gui/survey.py
pyuic4 relational_gui/maingui.ui > relational_gui/maingui.py
+ pyuic4 relational_gui/rel_edit.ui > relational_gui/rel_edit.py
uninstall:
diff --git a/relational_gui/creator.py b/relational_gui/creator.py
index 054974b..8ad8d4c 100644
--- a/relational_gui/creator.py
+++ b/relational_gui/creator.py
@@ -27,29 +27,76 @@ import rel_edit
class creatorForm(QtGui.QDialog):
- def __init__(self,ui,rel=None):
+ def __init__(self,rel=None):
QtGui.QDialog.__init__(self)
+
self.setSizeGripEnabled(True)
self.result_relation=None
+ self.rel=rel
+ def setUi(self,ui):
+ self.ui=ui
+ self.table=self.ui.table
+
+ if self.rel==None:
+ self.setup_empty()
+ else:
+ self.setup_replation(rel)
+ def setup_relation(rel):
+ pass
+ def setup_empty(self):
+ self.table.insertColumn(0)
+ self.table.insertColumn(0)
+ self.table.insertRow(0)
+ self.table.insertRow(0)
+
+ i00=QtGui.QTableWidgetItem()
+ i01=QtGui.QTableWidgetItem()
+ i10=QtGui.QTableWidgetItem()
+ i11=QtGui.QTableWidgetItem()
+ i00.setText('Field name 1')
+ i01.setText('Field name 2')
+ i10.setText('Value 1')
+ i11.setText('Value 2')
+
+ self.table.setItem (0,0,i00)
+ self.table.setItem (0,1,i01)
+ self.table.setItem (1,0,i10)
+ self.table.setItem (1,1,i11)
+
def accept(self):
-
QtGui.QDialog.accept(self)
pass
def reject(self):
+ self.result_relation=None
+ QtGui.QDialog.reject(self)
+ pass
+ def addColumn(self):
+ self.table.insertColumn(self.table.columnCount())
+ pass
+ def addRow(self):
+ self.table.insertRow(1)
+ pass
+ def deleteColumn(self):
+ if self.table.columnCount()>1:
+ self.table.removeColumn(self.table.currentColumn())
+ pass
+ def deleteRow(self):
+ if self.table.rowCount()>2:
+ self.table.removeRow(self.table.currentRow())
pass
-
def editRelation(rel=None):
ui = rel_edit.Ui_Dialog()
- Form = creatorForm(ui)
-
+ Form = creatorForm(rel)
ui.setupUi(Form)
+ Form.setUi(ui)
+
Form.exec_()
return Form.result_relation
diff --git a/relational_gui/guihandler.py b/relational_gui/guihandler.py
index 50bbfbd..33e5cc2 100644
--- a/relational_gui/guihandler.py
+++ b/relational_gui/guihandler.py
@@ -162,6 +162,17 @@ class relForm(QtGui.QMainWindow):
for i in self.ui.lstRelations.selectedItems():
del self.relations[compatibility.get_py_str(i.text())]
self.updateRelations()
+ def editRelation(self):
+ import creator
+ for i in self.ui.lstRelations.selectedItems():
+ self.relations[compatibility.get_py_str(i.text())]=creator.editRelation(self.relations[compatibility.get_py_str(i.text())])
+ self.updateRelations()
+ def newRelation(self):
+ import creator
+ creator.editRelation()
+ self.updateRelations()
+ #TODO chose name for the relation
+
def showSurvey(self):
if self.Survey==None:
self.Survey=surveyForm.surveyForm()
diff --git a/relational_gui/maingui.py b/relational_gui/maingui.py
index 0bb557f..4bddde4 100644
--- a/relational_gui/maingui.py
+++ b/relational_gui/maingui.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'relational_gui/maingui.ui'
#
-# Created: Thu Oct 13 17:38:01 2011
+# Created: Thu Oct 13 19:00:44 2011
# by: PyQt4 UI code generator 4.8.3
#
# WARNING! All changes made in this file will be lost!
@@ -157,6 +157,12 @@ class Ui_MainWindow(object):
self.cmdUnload = QtGui.QPushButton(self.groupBox)
self.cmdUnload.setObjectName(_fromUtf8("cmdUnload"))
self.verticalLayout.addWidget(self.cmdUnload)
+ self.cmdNew = QtGui.QPushButton(self.groupBox)
+ self.cmdNew.setObjectName(_fromUtf8("cmdNew"))
+ self.verticalLayout.addWidget(self.cmdNew)
+ self.cmdEdit = QtGui.QPushButton(self.groupBox)
+ self.cmdEdit.setObjectName(_fromUtf8("cmdEdit"))
+ self.verticalLayout.addWidget(self.cmdEdit)
self.groupBox_2 = QtGui.QGroupBox(self.splitter)
self.groupBox_2.setMinimumSize(QtCore.QSize(0, 0))
self.groupBox_2.setMaximumSize(QtCore.QSize(300, 16777215))
@@ -219,8 +225,14 @@ class Ui_MainWindow(object):
self.action_Quit.setObjectName(_fromUtf8("action_Quit"))
self.actionCheck_for_new_versions = QtGui.QAction(MainWindow)
self.actionCheck_for_new_versions.setObjectName(_fromUtf8("actionCheck_for_new_versions"))
+ self.actionNew_relation = QtGui.QAction(MainWindow)
+ self.actionNew_relation.setObjectName(_fromUtf8("actionNew_relation"))
+ self.actionEdit_relation = QtGui.QAction(MainWindow)
+ self.actionEdit_relation.setObjectName(_fromUtf8("actionEdit_relation"))
+ self.menuFile.addAction(self.actionNew_relation)
self.menuFile.addAction(self.action_Load_relation)
self.menuFile.addAction(self.action_Save_relation)
+ self.menuFile.addAction(self.actionEdit_relation)
self.menuFile.addSeparator()
self.menuFile.addAction(self.action_Quit)
self.menuAbout.addAction(self.actionAbout)
@@ -264,6 +276,10 @@ class Ui_MainWindow(object):
QtCore.QObject.connect(self.action_Save_relation, QtCore.SIGNAL(_fromUtf8("triggered()")), MainWindow.saveRelation)
QtCore.QObject.connect(self.action_Quit, QtCore.SIGNAL(_fromUtf8("triggered()")), MainWindow.close)
QtCore.QObject.connect(self.actionCheck_for_new_versions, QtCore.SIGNAL(_fromUtf8("triggered()")), MainWindow.checkVersion)
+ QtCore.QObject.connect(self.cmdEdit, QtCore.SIGNAL(_fromUtf8("clicked()")), MainWindow.editRelation)
+ QtCore.QObject.connect(self.actionEdit_relation, QtCore.SIGNAL(_fromUtf8("triggered()")), MainWindow.editRelation)
+ QtCore.QObject.connect(self.cmdNew, QtCore.SIGNAL(_fromUtf8("clicked()")), MainWindow.newRelation)
+ QtCore.QObject.connect(self.actionNew_relation, QtCore.SIGNAL(_fromUtf8("triggered()")), MainWindow.newRelation)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
MainWindow.setTabOrder(self.cmdAbout, self.cmdSurvey)
MainWindow.setTabOrder(self.cmdSurvey, self.cmdProduct)
@@ -321,6 +337,8 @@ class Ui_MainWindow(object):
self.cmdLoad.setText(QtGui.QApplication.translate("MainWindow", "Load relation", None, QtGui.QApplication.UnicodeUTF8))
self.cmdSave.setText(QtGui.QApplication.translate("MainWindow", "Save relation", None, QtGui.QApplication.UnicodeUTF8))
self.cmdUnload.setText(QtGui.QApplication.translate("MainWindow", "Unload relation", None, QtGui.QApplication.UnicodeUTF8))
+ self.cmdNew.setText(QtGui.QApplication.translate("MainWindow", "New relation", None, QtGui.QApplication.UnicodeUTF8))
+ self.cmdEdit.setText(QtGui.QApplication.translate("MainWindow", "Edit relation", None, QtGui.QApplication.UnicodeUTF8))
self.groupBox_2.setTitle(QtGui.QApplication.translate("MainWindow", "Attributes", None, QtGui.QApplication.UnicodeUTF8))
self.txtResult.setText(QtGui.QApplication.translate("MainWindow", "_last1", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("MainWindow", "=", None, QtGui.QApplication.UnicodeUTF8))
@@ -336,4 +354,8 @@ class Ui_MainWindow(object):
self.action_Quit.setText(QtGui.QApplication.translate("MainWindow", "&Quit", None, QtGui.QApplication.UnicodeUTF8))
self.action_Quit.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+Q", None, QtGui.QApplication.UnicodeUTF8))
self.actionCheck_for_new_versions.setText(QtGui.QApplication.translate("MainWindow", "Check for new versions", None, QtGui.QApplication.UnicodeUTF8))
+ self.actionNew_relation.setText(QtGui.QApplication.translate("MainWindow", "New relation", None, QtGui.QApplication.UnicodeUTF8))
+ self.actionNew_relation.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+N", None, QtGui.QApplication.UnicodeUTF8))
+ self.actionEdit_relation.setText(QtGui.QApplication.translate("MainWindow", "Edit relation", None, QtGui.QApplication.UnicodeUTF8))
+ self.actionEdit_relation.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+E", None, QtGui.QApplication.UnicodeUTF8))
diff --git a/relational_gui/maingui.ui b/relational_gui/maingui.ui
index e31caf0..757884a 100644
--- a/relational_gui/maingui.ui
+++ b/relational_gui/maingui.ui
@@ -312,6 +312,20 @@
+ -
+
+
+ New relation
+
+
+
+ -
+
+
+ Edit relation
+
+
+
@@ -412,8 +426,10 @@
&File
+
+
@@ -468,6 +484,22 @@
Check for new versions
+
+
+ New relation
+
+
+ Ctrl+N
+
+
+
+
+ Edit relation
+
+
+ Ctrl+E
+
+
cmdAbout
@@ -605,8 +637,8 @@
addProduct()
- 41
- 171
+ 53
+ 166
180
@@ -621,8 +653,8 @@
addDifference()
- 82
- 194
+ 94
+ 193
46
@@ -637,8 +669,8 @@
addArrow()
- 99
- 505
+ 107
+ 490
58
@@ -653,8 +685,8 @@
addRename()
- 42
- 474
+ 54
+ 463
111
@@ -669,8 +701,8 @@
addSelection()
- 72
- 446
+ 84
+ 436
16
@@ -685,8 +717,8 @@
addProjection()
- 99
- 414
+ 107
+ 409
91
@@ -701,8 +733,8 @@
unloadRelation()
- 646
- 312
+ 788
+ 280
773
@@ -717,8 +749,8 @@
saveRelation()
- 717
- 287
+ 788
+ 253
760
@@ -733,8 +765,8 @@
loadRelation()
- 753
- 255
+ 788
+ 226
753
@@ -797,8 +829,8 @@
addORight()
- 90
- 359
+ 102
+ 355
58
@@ -813,8 +845,8 @@
addOuter()
- 34
- 390
+ 46
+ 382
86
@@ -829,8 +861,8 @@
addOLeft()
- 32
- 332
+ 44
+ 328
66
@@ -845,8 +877,8 @@
addJoin()
- 101
- 302
+ 107
+ 301
147
@@ -893,8 +925,8 @@
addUnion()
- 20
- 222
+ 32
+ 220
279
@@ -1046,6 +1078,70 @@
+
+ cmdEdit
+ clicked()
+ MainWindow
+ editRelation()
+
+
+ 683
+ 323
+
+
+ 399
+ 305
+
+
+
+
+ actionEdit_relation
+ triggered()
+ MainWindow
+ editRelation()
+
+
+ -1
+ -1
+
+
+ 399
+ 305
+
+
+
+
+ cmdNew
+ clicked()
+ MainWindow
+ newRelation()
+
+
+ 683
+ 296
+
+
+ 399
+ 305
+
+
+
+
+ actionNew_relation
+ triggered()
+ MainWindow
+ newRelation()
+
+
+ -1
+ -1
+
+
+ 399
+ 305
+
+
+
execute()
@@ -1076,5 +1172,7 @@
showAttributes(QListWidgetItem*)
loadQuery()
resumeHistory(QListWidgetItem*)
+ editRelation()
+ newRelation()
diff --git a/relational_gui/rel_edit.ui b/relational_gui/rel_edit.ui
index 69b5eac..234143c 100644
--- a/relational_gui/rel_edit.ui
+++ b/relational_gui/rel_edit.ui
@@ -11,87 +11,64 @@
- Dialog
+ Relation editor
-
-
-
- 110
- 340
- 341
- 32
-
-
-
- Qt::Horizontal
-
-
- QDialogButtonBox::Cancel|QDialogButtonBox::Ok
-
-
-
-
-
- 230
- 50
- 256
- 192
-
-
-
-
- a
-
-
-
-
- A
-
-
-
-
-
-
- 10
- 60
- 137
- 140
-
-
-
- Edit
-
-
- -
-
-
- Add column
-
-
-
- -
-
-
- Remove column
-
-
-
- -
-
-
- Add tuple
-
-
-
- -
-
-
- Remove tuple
-
-
-
-
-
+
+ -
+
+
-
+
+
+ Edit
+
+
+
-
+
+
+ Add tuple
+
+
+
+ -
+
+
+ Remove tuple
+
+
+
+ -
+
+
+ Add column
+
+
+
+ -
+
+
+ Remove column
+
+
+
+
+
+
+ -
+
+
+
+
+ -
+
+
+ Qt::Horizontal
+
+
+ QDialogButtonBox::Cancel|QDialogButtonBox::Ok
+
+
+
+
@@ -127,5 +104,75 @@
+
+ cmdAddColumn
+ clicked()
+ Dialog
+ addColumn()
+
+
+ 71
+ 95
+
+
+ 188
+ 100
+
+
+
+
+ cmdRemoveColumn
+ clicked()
+ Dialog
+ deleteColumn()
+
+
+ 126
+ 121
+
+
+ 202
+ 129
+
+
+
+
+ cmdAddTuple
+ clicked()
+ Dialog
+ addRow()
+
+
+ 124
+ 155
+
+
+ 197
+ 158
+
+
+
+
+ cmdRemoveTuple
+ clicked()
+ Dialog
+ deleteRow()
+
+
+ 122
+ 181
+
+
+ 182
+ 193
+
+
+
+
+ addColumn()
+ addRow()
+ deleteColumn()
+ deleteRow()
+
diff --git a/relational_gui/survey.py b/relational_gui/survey.py
index e75cc1d..bab4efe 100644
--- a/relational_gui/survey.py
+++ b/relational_gui/survey.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'relational_gui/survey.ui'
#
-# Created: Thu Oct 13 17:38:01 2011
+# Created: Thu Oct 13 19:00:44 2011
# by: PyQt4 UI code generator 4.8.3
#
# WARNING! All changes made in this file will be lost!
diff --git a/relational_pyside/creator.py b/relational_pyside/creator.py
new file mode 120000
index 0000000..6ec91df
--- /dev/null
+++ b/relational_pyside/creator.py
@@ -0,0 +1 @@
+../relational_gui/creator.py
\ No newline at end of file
diff --git a/relational_pyside/maingui.py b/relational_pyside/maingui.py
index c21e6ea..c834693 100644
--- a/relational_pyside/maingui.py
+++ b/relational_pyside/maingui.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'relational_pyside/maingui.ui'
#
-# Created: Sun Oct 9 00:27:00 2011
+# Created: Thu Oct 13 19:00:44 2011
# by: pyside-uic 0.2.13 running on PySide 1.0.7
#
# WARNING! All changes made in this file will be lost!
@@ -152,6 +152,12 @@ class Ui_MainWindow(object):
self.cmdUnload = QtGui.QPushButton(self.groupBox)
self.cmdUnload.setObjectName("cmdUnload")
self.verticalLayout.addWidget(self.cmdUnload)
+ self.cmdNew = QtGui.QPushButton(self.groupBox)
+ self.cmdNew.setObjectName("cmdNew")
+ self.verticalLayout.addWidget(self.cmdNew)
+ self.cmdEdit = QtGui.QPushButton(self.groupBox)
+ self.cmdEdit.setObjectName("cmdEdit")
+ self.verticalLayout.addWidget(self.cmdEdit)
self.groupBox_2 = QtGui.QGroupBox(self.splitter)
self.groupBox_2.setMinimumSize(QtCore.QSize(0, 0))
self.groupBox_2.setMaximumSize(QtCore.QSize(300, 16777215))
@@ -214,8 +220,14 @@ class Ui_MainWindow(object):
self.action_Quit.setObjectName("action_Quit")
self.actionCheck_for_new_versions = QtGui.QAction(MainWindow)
self.actionCheck_for_new_versions.setObjectName("actionCheck_for_new_versions")
+ self.actionNew_relation = QtGui.QAction(MainWindow)
+ self.actionNew_relation.setObjectName("actionNew_relation")
+ self.actionEdit_relation = QtGui.QAction(MainWindow)
+ self.actionEdit_relation.setObjectName("actionEdit_relation")
+ self.menuFile.addAction(self.actionNew_relation)
self.menuFile.addAction(self.action_Load_relation)
self.menuFile.addAction(self.action_Save_relation)
+ self.menuFile.addAction(self.actionEdit_relation)
self.menuFile.addSeparator()
self.menuFile.addAction(self.action_Quit)
self.menuAbout.addAction(self.actionAbout)
@@ -259,6 +271,10 @@ class Ui_MainWindow(object):
QtCore.QObject.connect(self.action_Save_relation, QtCore.SIGNAL("triggered()"), MainWindow.saveRelation)
QtCore.QObject.connect(self.action_Quit, QtCore.SIGNAL("triggered()"), MainWindow.close)
QtCore.QObject.connect(self.actionCheck_for_new_versions, QtCore.SIGNAL("triggered()"), MainWindow.checkVersion)
+ QtCore.QObject.connect(self.cmdEdit, QtCore.SIGNAL("clicked()"), MainWindow.editRelation)
+ QtCore.QObject.connect(self.actionEdit_relation, QtCore.SIGNAL("triggered()"), MainWindow.editRelation)
+ QtCore.QObject.connect(self.cmdNew, QtCore.SIGNAL("clicked()"), MainWindow.newRelation)
+ QtCore.QObject.connect(self.actionNew_relation, QtCore.SIGNAL("triggered()"), MainWindow.newRelation)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
MainWindow.setTabOrder(self.cmdAbout, self.cmdSurvey)
MainWindow.setTabOrder(self.cmdSurvey, self.cmdProduct)
@@ -316,6 +332,8 @@ class Ui_MainWindow(object):
self.cmdLoad.setText(QtGui.QApplication.translate("MainWindow", "Load relation", None, QtGui.QApplication.UnicodeUTF8))
self.cmdSave.setText(QtGui.QApplication.translate("MainWindow", "Save relation", None, QtGui.QApplication.UnicodeUTF8))
self.cmdUnload.setText(QtGui.QApplication.translate("MainWindow", "Unload relation", None, QtGui.QApplication.UnicodeUTF8))
+ self.cmdNew.setText(QtGui.QApplication.translate("MainWindow", "New relation", None, QtGui.QApplication.UnicodeUTF8))
+ self.cmdEdit.setText(QtGui.QApplication.translate("MainWindow", "Edit relation", None, QtGui.QApplication.UnicodeUTF8))
self.groupBox_2.setTitle(QtGui.QApplication.translate("MainWindow", "Attributes", None, QtGui.QApplication.UnicodeUTF8))
self.txtResult.setText(QtGui.QApplication.translate("MainWindow", "_last1", None, QtGui.QApplication.UnicodeUTF8))
self.label.setText(QtGui.QApplication.translate("MainWindow", "=", None, QtGui.QApplication.UnicodeUTF8))
@@ -331,4 +349,8 @@ class Ui_MainWindow(object):
self.action_Quit.setText(QtGui.QApplication.translate("MainWindow", "&Quit", None, QtGui.QApplication.UnicodeUTF8))
self.action_Quit.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+Q", None, QtGui.QApplication.UnicodeUTF8))
self.actionCheck_for_new_versions.setText(QtGui.QApplication.translate("MainWindow", "Check for new versions", None, QtGui.QApplication.UnicodeUTF8))
+ self.actionNew_relation.setText(QtGui.QApplication.translate("MainWindow", "New relation", None, QtGui.QApplication.UnicodeUTF8))
+ self.actionNew_relation.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+N", None, QtGui.QApplication.UnicodeUTF8))
+ self.actionEdit_relation.setText(QtGui.QApplication.translate("MainWindow", "Edit relation", None, QtGui.QApplication.UnicodeUTF8))
+ self.actionEdit_relation.setShortcut(QtGui.QApplication.translate("MainWindow", "Ctrl+E", None, QtGui.QApplication.UnicodeUTF8))
diff --git a/relational_pyside/survey.py b/relational_pyside/survey.py
index de94f6c..2dc2a97 100644
--- a/relational_pyside/survey.py
+++ b/relational_pyside/survey.py
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'relational_pyside/survey.ui'
#
-# Created: Sun Oct 9 00:27:00 2011
+# Created: Thu Oct 13 19:00:44 2011
# by: pyside-uic 0.2.13 running on PySide 1.0.7
#
# WARNING! All changes made in this file will be lost!