Do not ship compiled files

Remove the compiled files from the source.

Running from sources will require an extra make step that will generate
the necessary ui modules.
master
Salvo 'LtWorf' Tomaselli 2015-09-11 12:33:58 +07:00
parent 41bb45b445
commit c47823616a
6 changed files with 9 additions and 740 deletions

4
.gitignore vendored

@ -1,2 +1,6 @@
*.pyc
*~
relational_gui/survey.py
relational_gui/maingui.py
relational_gui/rel_edit.py

@ -1,6 +1,3 @@
default:
echo "sorry, no default action"
gui: pyqt
pyqt:
@ -36,6 +33,9 @@ dist: clean
rm -rf /tmp/relational/mac/.svn/
rm -rf /tmp/relational/relational/.svn/
rm -rf /tmp/relational/relational_gui/.svn/
rm -f /tmp/relational/relational_gui/survey.py
rm -f /tmp/relational/relational_gui/maingui.py
rm -f /tmp/relational/relational_gui/rel_edit.py
rm -rf /tmp/relational/relational_pyside/.svn/
rm -rf /tmp/relational/mac
rm -rf /tmp/relational/debian/

@ -40,11 +40,12 @@ Run from sources
To launch the application, run
```
make
./relational_gui.py
```
If it needs some dependencies:
Qt5, Python 3.4 or greater, PyQt5
Qt5, Python 3.4 or greater, PyQt5, pyuic5
It can run on osx but bugreports about that will be rejected.

@ -1,535 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'relational_gui/maingui.ui'
#
# Created by: PyQt5 UI code generator 5.4.2
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(800, 671)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.horizontalLayout_4 = QtWidgets.QHBoxLayout(self.centralwidget)
self.horizontalLayout_4.setObjectName("horizontalLayout_4")
self.verticalLayout_11 = QtWidgets.QVBoxLayout()
self.verticalLayout_11.setObjectName("verticalLayout_11")
self.groupBox_3 = QtWidgets.QGroupBox(self.centralwidget)
self.groupBox_3.setObjectName("groupBox_3")
self.verticalLayout_5 = QtWidgets.QVBoxLayout(self.groupBox_3)
self.verticalLayout_5.setObjectName("verticalLayout_5")
self.cmdAbout = QtWidgets.QPushButton(self.groupBox_3)
self.cmdAbout.setObjectName("cmdAbout")
self.verticalLayout_5.addWidget(self.cmdAbout)
self.cmdSurvey = QtWidgets.QPushButton(self.groupBox_3)
self.cmdSurvey.setObjectName("cmdSurvey")
self.verticalLayout_5.addWidget(self.cmdSurvey)
self.verticalLayout_11.addWidget(self.groupBox_3)
self.groupOperators = QtWidgets.QFrame(self.centralwidget)
self.groupOperators.setObjectName("groupOperators")
self.gridLayout_2 = QtWidgets.QGridLayout(self.groupOperators)
self.gridLayout_2.setObjectName("gridLayout_2")
self.cmdDifference = QtWidgets.QPushButton(self.groupOperators)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmdDifference.sizePolicy().hasHeightForWidth())
self.cmdDifference.setSizePolicy(sizePolicy)
self.cmdDifference.setMaximumSize(QtCore.QSize(40, 16777215))
self.cmdDifference.setText("-")
self.cmdDifference.setFlat(True)
self.cmdDifference.setObjectName("cmdDifference")
self.gridLayout_2.addWidget(self.cmdDifference, 1, 0, 1, 1)
self.cmdOuter = QtWidgets.QPushButton(self.groupOperators)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmdOuter.sizePolicy().hasHeightForWidth())
self.cmdOuter.setSizePolicy(sizePolicy)
self.cmdOuter.setMaximumSize(QtCore.QSize(40, 16777215))
self.cmdOuter.setText("")
self.cmdOuter.setFlat(True)
self.cmdOuter.setObjectName("cmdOuter")
self.gridLayout_2.addWidget(self.cmdOuter, 8, 0, 1, 1)
self.cmdDivision = QtWidgets.QPushButton(self.groupOperators)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmdDivision.sizePolicy().hasHeightForWidth())
self.cmdDivision.setSizePolicy(sizePolicy)
self.cmdDivision.setMaximumSize(QtCore.QSize(40, 16777215))
self.cmdDivision.setText("÷")
self.cmdDivision.setFlat(True)
self.cmdDivision.setObjectName("cmdDivision")
self.gridLayout_2.addWidget(self.cmdDivision, 4, 0, 1, 1)
self.cmdProduct = QtWidgets.QPushButton(self.groupOperators)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmdProduct.sizePolicy().hasHeightForWidth())
self.cmdProduct.setSizePolicy(sizePolicy)
self.cmdProduct.setMaximumSize(QtCore.QSize(40, 16777215))
self.cmdProduct.setText("*")
self.cmdProduct.setFlat(True)
self.cmdProduct.setObjectName("cmdProduct")
self.gridLayout_2.addWidget(self.cmdProduct, 0, 0, 1, 1)
self.cmdSelection = QtWidgets.QPushButton(self.groupOperators)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmdSelection.sizePolicy().hasHeightForWidth())
self.cmdSelection.setSizePolicy(sizePolicy)
self.cmdSelection.setMaximumSize(QtCore.QSize(40, 16777215))
self.cmdSelection.setText("σ")
self.cmdSelection.setFlat(True)
self.cmdSelection.setObjectName("cmdSelection")
self.gridLayout_2.addWidget(self.cmdSelection, 10, 0, 1, 1)
self.cmdArrow = QtWidgets.QPushButton(self.groupOperators)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmdArrow.sizePolicy().hasHeightForWidth())
self.cmdArrow.setSizePolicy(sizePolicy)
self.cmdArrow.setMaximumSize(QtCore.QSize(40, 16777215))
self.cmdArrow.setText("")
self.cmdArrow.setFlat(True)
self.cmdArrow.setObjectName("cmdArrow")
self.gridLayout_2.addWidget(self.cmdArrow, 12, 0, 1, 1)
self.cmdOuterLeft = QtWidgets.QPushButton(self.groupOperators)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmdOuterLeft.sizePolicy().hasHeightForWidth())
self.cmdOuterLeft.setSizePolicy(sizePolicy)
self.cmdOuterLeft.setMaximumSize(QtCore.QSize(40, 16777215))
self.cmdOuterLeft.setText("")
self.cmdOuterLeft.setFlat(True)
self.cmdOuterLeft.setObjectName("cmdOuterLeft")
self.gridLayout_2.addWidget(self.cmdOuterLeft, 6, 0, 1, 1)
spacerItem = QtWidgets.QSpacerItem(20, 25, QtWidgets.QSizePolicy.Minimum, QtWidgets.QSizePolicy.Expanding)
self.gridLayout_2.addItem(spacerItem, 13, 0, 1, 1)
self.cmdUnion = QtWidgets.QPushButton(self.groupOperators)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmdUnion.sizePolicy().hasHeightForWidth())
self.cmdUnion.setSizePolicy(sizePolicy)
self.cmdUnion.setMaximumSize(QtCore.QSize(40, 16777215))
self.cmdUnion.setText("")
self.cmdUnion.setFlat(True)
self.cmdUnion.setObjectName("cmdUnion")
self.gridLayout_2.addWidget(self.cmdUnion, 0, 1, 1, 1)
self.cmdIntersection = QtWidgets.QPushButton(self.groupOperators)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmdIntersection.sizePolicy().hasHeightForWidth())
self.cmdIntersection.setSizePolicy(sizePolicy)
self.cmdIntersection.setMaximumSize(QtCore.QSize(40, 16777215))
self.cmdIntersection.setText("")
self.cmdIntersection.setFlat(True)
self.cmdIntersection.setObjectName("cmdIntersection")
self.gridLayout_2.addWidget(self.cmdIntersection, 1, 1, 1, 1)
self.cmdJoin = QtWidgets.QPushButton(self.groupOperators)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmdJoin.sizePolicy().hasHeightForWidth())
self.cmdJoin.setSizePolicy(sizePolicy)
self.cmdJoin.setMaximumSize(QtCore.QSize(40, 16777215))
self.cmdJoin.setText("")
self.cmdJoin.setFlat(True)
self.cmdJoin.setObjectName("cmdJoin")
self.gridLayout_2.addWidget(self.cmdJoin, 4, 1, 1, 1)
self.cmdOuterRight = QtWidgets.QPushButton(self.groupOperators)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmdOuterRight.sizePolicy().hasHeightForWidth())
self.cmdOuterRight.setSizePolicy(sizePolicy)
self.cmdOuterRight.setMaximumSize(QtCore.QSize(40, 16777215))
self.cmdOuterRight.setText("")
self.cmdOuterRight.setFlat(True)
self.cmdOuterRight.setObjectName("cmdOuterRight")
self.gridLayout_2.addWidget(self.cmdOuterRight, 6, 1, 1, 1)
self.cmdProjection = QtWidgets.QPushButton(self.groupOperators)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmdProjection.sizePolicy().hasHeightForWidth())
self.cmdProjection.setSizePolicy(sizePolicy)
self.cmdProjection.setMaximumSize(QtCore.QSize(40, 16777215))
self.cmdProjection.setText("π")
self.cmdProjection.setFlat(True)
self.cmdProjection.setObjectName("cmdProjection")
self.gridLayout_2.addWidget(self.cmdProjection, 8, 1, 1, 1)
self.cmdRename = QtWidgets.QPushButton(self.groupOperators)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.MinimumExpanding, QtWidgets.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.cmdRename.sizePolicy().hasHeightForWidth())
self.cmdRename.setSizePolicy(sizePolicy)
self.cmdRename.setMaximumSize(QtCore.QSize(40, 16777215))
self.cmdRename.setText("ρ")
self.cmdRename.setFlat(True)
self.cmdRename.setObjectName("cmdRename")
self.gridLayout_2.addWidget(self.cmdRename, 10, 1, 1, 1)
self.verticalLayout_11.addWidget(self.groupOperators)
self.horizontalLayout_4.addLayout(self.verticalLayout_11)
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setObjectName("verticalLayout")
self.splitter_3 = QtWidgets.QSplitter(self.centralwidget)
self.splitter_3.setOrientation(QtCore.Qt.Horizontal)
self.splitter_3.setObjectName("splitter_3")
self.splitter_2 = QtWidgets.QSplitter(self.splitter_3)
self.splitter_2.setOrientation(QtCore.Qt.Vertical)
self.splitter_2.setObjectName("splitter_2")
self.table = QtWidgets.QTreeWidget(self.splitter_2)
self.table.setMinimumSize(QtCore.QSize(450, 400))
self.table.setSizeIncrement(QtCore.QSize(0, 0))
self.table.setRootIsDecorated(False)
self.table.setObjectName("table")
self.table.headerItem().setText(0, "Empty relation")
self.layoutWidget = QtWidgets.QWidget(self.splitter_2)
self.layoutWidget.setObjectName("layoutWidget")
self.verticalLayout_6 = QtWidgets.QVBoxLayout(self.layoutWidget)
self.verticalLayout_6.setSizeConstraint(QtWidgets.QLayout.SetMinimumSize)
self.verticalLayout_6.setObjectName("verticalLayout_6")
self.frmOptimizations = QtWidgets.QFrame(self.layoutWidget)
self.frmOptimizations.setFrameShape(QtWidgets.QFrame.NoFrame)
self.frmOptimizations.setFrameShadow(QtWidgets.QFrame.Plain)
self.frmOptimizations.setLineWidth(0)
self.frmOptimizations.setObjectName("frmOptimizations")
self.verticalLayout_2 = QtWidgets.QVBoxLayout(self.frmOptimizations)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.lstHistory = QtWidgets.QListWidget(self.frmOptimizations)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lstHistory.sizePolicy().hasHeightForWidth())
self.lstHistory.setSizePolicy(sizePolicy)
self.lstHistory.setMaximumSize(QtCore.QSize(16777215, 16777215))
self.lstHistory.setBaseSize(QtCore.QSize(0, 0))
self.lstHistory.setObjectName("lstHistory")
self.verticalLayout_2.addWidget(self.lstHistory)
self.horizontalLayout_3 = QtWidgets.QHBoxLayout()
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.cmdOptimize = QtWidgets.QPushButton(self.frmOptimizations)
self.cmdOptimize.setObjectName("cmdOptimize")
self.horizontalLayout_3.addWidget(self.cmdOptimize)
self.cmdUndoOptimize = QtWidgets.QPushButton(self.frmOptimizations)
self.cmdUndoOptimize.setObjectName("cmdUndoOptimize")
self.horizontalLayout_3.addWidget(self.cmdUndoOptimize)
self.cmdClearHistory = QtWidgets.QPushButton(self.frmOptimizations)
self.cmdClearHistory.setObjectName("cmdClearHistory")
self.horizontalLayout_3.addWidget(self.cmdClearHistory)
self.verticalLayout_2.addLayout(self.horizontalLayout_3)
self.verticalLayout_6.addWidget(self.frmOptimizations)
self.frmMultiLine = QtWidgets.QFrame(self.layoutWidget)
self.frmMultiLine.setFrameShape(QtWidgets.QFrame.NoFrame)
self.frmMultiLine.setFrameShadow(QtWidgets.QFrame.Plain)
self.frmMultiLine.setLineWidth(0)
self.frmMultiLine.setObjectName("frmMultiLine")
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.frmMultiLine)
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.txtMultiQuery = QtWidgets.QPlainTextEdit(self.frmMultiLine)
font = QtGui.QFont()
font.setFamily("DejaVu Sans")
font.setPointSize(11)
font.setBold(False)
font.setItalic(False)
font.setUnderline(False)
font.setWeight(50)
font.setStrikeOut(False)
font.setKerning(True)
self.txtMultiQuery.setFont(font)
self.txtMultiQuery.setPlainText("")
self.txtMultiQuery.setObjectName("txtMultiQuery")
self.horizontalLayout_2.addWidget(self.txtMultiQuery)
self.verticalLayout_4 = QtWidgets.QVBoxLayout()
self.verticalLayout_4.setObjectName("verticalLayout_4")
self.cmdClearMultilineQuery = QtWidgets.QPushButton(self.frmMultiLine)
self.cmdClearMultilineQuery.setObjectName("cmdClearMultilineQuery")
self.verticalLayout_4.addWidget(self.cmdClearMultilineQuery)
self.cmdExecuteMultiline = QtWidgets.QPushButton(self.frmMultiLine)
self.cmdExecuteMultiline.setAutoDefault(False)
self.cmdExecuteMultiline.setDefault(False)
self.cmdExecuteMultiline.setObjectName("cmdExecuteMultiline")
self.verticalLayout_4.addWidget(self.cmdExecuteMultiline)
self.horizontalLayout_2.addLayout(self.verticalLayout_4)
self.verticalLayout_6.addWidget(self.frmMultiLine)
self.splitter = QtWidgets.QSplitter(self.splitter_3)
self.splitter.setOrientation(QtCore.Qt.Vertical)
self.splitter.setObjectName("splitter")
self.groupBox = QtWidgets.QGroupBox(self.splitter)
self.groupBox.setMinimumSize(QtCore.QSize(0, 0))
self.groupBox.setMaximumSize(QtCore.QSize(300, 16777215))
self.groupBox.setObjectName("groupBox")
self.verticalLayout_7 = QtWidgets.QVBoxLayout(self.groupBox)
self.verticalLayout_7.setObjectName("verticalLayout_7")
self.lstRelations = QtWidgets.QListWidget(self.groupBox)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lstRelations.sizePolicy().hasHeightForWidth())
self.lstRelations.setSizePolicy(sizePolicy)
self.lstRelations.setMaximumSize(QtCore.QSize(16777215, 16777215))
self.lstRelations.setObjectName("lstRelations")
self.verticalLayout_7.addWidget(self.lstRelations)
self.gridLayout = QtWidgets.QGridLayout()
self.gridLayout.setObjectName("gridLayout")
self.cmdEdit = QtWidgets.QPushButton(self.groupBox)
self.cmdEdit.setObjectName("cmdEdit")
self.gridLayout.addWidget(self.cmdEdit, 1, 1, 1, 1)
self.cmdLoad = QtWidgets.QPushButton(self.groupBox)
self.cmdLoad.setObjectName("cmdLoad")
self.gridLayout.addWidget(self.cmdLoad, 0, 0, 1, 1)
self.cmdSave = QtWidgets.QPushButton(self.groupBox)
self.cmdSave.setObjectName("cmdSave")
self.gridLayout.addWidget(self.cmdSave, 0, 1, 1, 1)
self.cmdNew = QtWidgets.QPushButton(self.groupBox)
self.cmdNew.setObjectName("cmdNew")
self.gridLayout.addWidget(self.cmdNew, 1, 0, 1, 1)
self.cmdNewSession = QtWidgets.QPushButton(self.groupBox)
self.cmdNewSession.setObjectName("cmdNewSession")
self.gridLayout.addWidget(self.cmdNewSession, 2, 1, 1, 1)
self.cmdUnload = QtWidgets.QPushButton(self.groupBox)
self.cmdUnload.setObjectName("cmdUnload")
self.gridLayout.addWidget(self.cmdUnload, 2, 0, 1, 1)
self.verticalLayout_7.addLayout(self.gridLayout)
self.groupBox_2 = QtWidgets.QGroupBox(self.splitter)
self.groupBox_2.setMinimumSize(QtCore.QSize(0, 0))
self.groupBox_2.setMaximumSize(QtCore.QSize(300, 16777215))
self.groupBox_2.setObjectName("groupBox_2")
self.verticalLayout_3 = QtWidgets.QVBoxLayout(self.groupBox_2)
self.verticalLayout_3.setObjectName("verticalLayout_3")
self.lstAttributes = QtWidgets.QListWidget(self.groupBox_2)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.lstAttributes.sizePolicy().hasHeightForWidth())
self.lstAttributes.setSizePolicy(sizePolicy)
self.lstAttributes.setMaximumSize(QtCore.QSize(16777215, 16777215))
self.lstAttributes.setObjectName("lstAttributes")
self.verticalLayout_3.addWidget(self.lstAttributes)
self.verticalLayout.addWidget(self.splitter_3)
self.lineExpressionFrame = QtWidgets.QFrame(self.centralwidget)
self.lineExpressionFrame.setFrameShape(QtWidgets.QFrame.NoFrame)
self.lineExpressionFrame.setFrameShadow(QtWidgets.QFrame.Plain)
self.lineExpressionFrame.setLineWidth(0)
self.lineExpressionFrame.setObjectName("lineExpressionFrame")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.lineExpressionFrame)
self.horizontalLayout.setObjectName("horizontalLayout")
self.txtResult = QtWidgets.QLineEdit(self.lineExpressionFrame)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.txtResult.sizePolicy().hasHeightForWidth())
self.txtResult.setSizePolicy(sizePolicy)
self.txtResult.setObjectName("txtResult")
self.horizontalLayout.addWidget(self.txtResult)
self.label = QtWidgets.QLabel(self.lineExpressionFrame)
self.label.setObjectName("label")
self.horizontalLayout.addWidget(self.label)
self.txtQuery = QtWidgets.QLineEdit(self.lineExpressionFrame)
self.txtQuery.setObjectName("txtQuery")
self.horizontalLayout.addWidget(self.txtQuery)
self.cmdClearQuery = QtWidgets.QPushButton(self.lineExpressionFrame)
self.cmdClearQuery.setObjectName("cmdClearQuery")
self.horizontalLayout.addWidget(self.cmdClearQuery)
self.cmdExecute = QtWidgets.QPushButton(self.lineExpressionFrame)
self.cmdExecute.setAutoDefault(True)
self.cmdExecute.setDefault(True)
self.cmdExecute.setObjectName("cmdExecute")
self.horizontalLayout.addWidget(self.cmdExecute)
self.verticalLayout.addWidget(self.lineExpressionFrame)
self.horizontalLayout_4.addLayout(self.verticalLayout)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 800, 20))
self.menubar.setObjectName("menubar")
self.menuFile = QtWidgets.QMenu(self.menubar)
self.menuFile.setObjectName("menuFile")
self.menuAbout = QtWidgets.QMenu(self.menubar)
self.menuAbout.setObjectName("menuAbout")
self.action = QtWidgets.QAction(MainWindow)
self.action.setObjectName("action")
self.menuRelations = QtWidgets.QMenu(self.menubar)
self.menuRelations.setObjectName("menuRelations")
self.menuSettings = QtWidgets.QMenu(self.menubar)
self.menuSettings.setObjectName("menuSettings")
MainWindow.setMenuBar(self.menubar)
self.actionAbout = QtWidgets.QAction(MainWindow)
self.actionAbout.setMenuRole(QtWidgets.QAction.AboutRole)
self.actionAbout.setObjectName("actionAbout")
self.action_Load_relation = QtWidgets.QAction(MainWindow)
self.action_Load_relation.setObjectName("action_Load_relation")
self.action_Save_relation = QtWidgets.QAction(MainWindow)
self.action_Save_relation.setObjectName("action_Save_relation")
self.action_Quit = QtWidgets.QAction(MainWindow)
self.action_Quit.setMenuRole(QtWidgets.QAction.QuitRole)
self.action_Quit.setObjectName("action_Quit")
self.actionCheck_for_new_versions = QtWidgets.QAction(MainWindow)
self.actionCheck_for_new_versions.setObjectName("actionCheck_for_new_versions")
self.actionNew_relation = QtWidgets.QAction(MainWindow)
self.actionNew_relation.setObjectName("actionNew_relation")
self.actionEdit_relation = QtWidgets.QAction(MainWindow)
self.actionEdit_relation.setObjectName("actionEdit_relation")
self.actionNew_session = QtWidgets.QAction(MainWindow)
self.actionNew_session.setObjectName("actionNew_session")
self.actionSave_session_as = QtWidgets.QAction(MainWindow)
self.actionSave_session_as.setObjectName("actionSave_session_as")
self.actionManage_sessions = QtWidgets.QAction(MainWindow)
self.actionManage_sessions.setObjectName("actionManage_sessions")
self.actionUnload_relation = QtWidgets.QAction(MainWindow)
self.actionUnload_relation.setObjectName("actionUnload_relation")
self.actionMulti_line_mode = QtWidgets.QAction(MainWindow)
self.actionMulti_line_mode.setCheckable(True)
self.actionMulti_line_mode.setObjectName("actionMulti_line_mode")
self.menuFile.addSeparator()
self.menuFile.addAction(self.action_Quit)
self.menuAbout.addAction(self.actionAbout)
self.menuAbout.addAction(self.actionCheck_for_new_versions)
self.menuRelations.addAction(self.actionNew_relation)
self.menuRelations.addAction(self.action_Load_relation)
self.menuRelations.addAction(self.action_Save_relation)
self.menuRelations.addAction(self.actionEdit_relation)
self.menuRelations.addAction(self.actionUnload_relation)
self.menuSettings.addAction(self.actionMulti_line_mode)
self.menubar.addAction(self.menuFile.menuAction())
self.menubar.addAction(self.menuRelations.menuAction())
self.menubar.addAction(self.menuSettings.menuAction())
self.menubar.addAction(self.menuAbout.menuAction())
self.label.setBuddy(self.txtQuery)
self.retranslateUi(MainWindow)
self.cmdAbout.clicked.connect(MainWindow.showAbout)
self.cmdSurvey.clicked.connect(MainWindow.showSurvey)
self.cmdUnload.clicked.connect(MainWindow.unloadRelation)
self.cmdSave.clicked.connect(MainWindow.saveRelation)
self.cmdLoad.clicked.connect(MainWindow.loadRelation)
self.lstRelations.itemDoubleClicked['QListWidgetItem*'].connect(MainWindow.printRelation)
self.lstRelations.itemClicked['QListWidgetItem*'].connect(MainWindow.showAttributes)
self.actionAbout.triggered.connect(MainWindow.showAbout)
self.action_Load_relation.triggered.connect(MainWindow.loadRelation)
self.action_Save_relation.triggered.connect(MainWindow.saveRelation)
self.action_Quit.triggered.connect(MainWindow.close)
self.actionCheck_for_new_versions.triggered.connect(MainWindow.checkVersion)
self.cmdEdit.clicked.connect(MainWindow.editRelation)
self.actionEdit_relation.triggered.connect(MainWindow.editRelation)
self.cmdNew.clicked.connect(MainWindow.newRelation)
self.actionNew_relation.triggered.connect(MainWindow.newRelation)
self.actionUnload_relation.triggered.connect(MainWindow.unloadRelation)
self.actionMulti_line_mode.toggled['bool'].connect(MainWindow.setMultiline)
self.cmdClearMultilineQuery.clicked.connect(self.txtMultiQuery.clear)
self.cmdExecuteMultiline.clicked.connect(MainWindow.execute)
self.cmdClearQuery.clicked.connect(self.txtQuery.clear)
self.cmdClearHistory.clicked.connect(self.lstHistory.clear)
self.cmdOptimize.clicked.connect(MainWindow.optimize)
self.cmdUndoOptimize.clicked.connect(MainWindow.undoOptimize)
self.cmdExecute.clicked.connect(MainWindow.execute)
self.txtQuery.returnPressed.connect(MainWindow.execute)
self.lstHistory.itemDoubleClicked['QListWidgetItem*'].connect(MainWindow.resumeHistory)
self.cmdProduct.clicked.connect(MainWindow.addProduct)
self.cmdDifference.clicked.connect(MainWindow.addDifference)
self.cmdUnion.clicked.connect(MainWindow.addUnion)
self.cmdIntersection.clicked.connect(MainWindow.addIntersection)
self.cmdDivision.clicked.connect(MainWindow.addDivision)
self.cmdOuter.clicked.connect(MainWindow.addOuter)
self.cmdOuterLeft.clicked.connect(MainWindow.addOLeft)
self.cmdOuterRight.clicked.connect(MainWindow.addORight)
self.cmdJoin.clicked.connect(MainWindow.addJoin)
self.cmdProjection.clicked.connect(MainWindow.addProjection)
self.cmdSelection.clicked.connect(MainWindow.addSelection)
self.cmdRename.clicked.connect(MainWindow.addRename)
self.cmdArrow.clicked.connect(MainWindow.addArrow)
self.cmdNewSession.clicked.connect(MainWindow.newSession)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
MainWindow.setTabOrder(self.cmdAbout, self.cmdSurvey)
MainWindow.setTabOrder(self.cmdSurvey, self.cmdProduct)
MainWindow.setTabOrder(self.cmdProduct, self.cmdDifference)
MainWindow.setTabOrder(self.cmdDifference, self.cmdDivision)
MainWindow.setTabOrder(self.cmdDivision, self.cmdOuterLeft)
MainWindow.setTabOrder(self.cmdOuterLeft, self.cmdOuter)
MainWindow.setTabOrder(self.cmdOuter, self.cmdSelection)
MainWindow.setTabOrder(self.cmdSelection, self.cmdArrow)
MainWindow.setTabOrder(self.cmdArrow, self.table)
MainWindow.setTabOrder(self.table, self.lstHistory)
MainWindow.setTabOrder(self.lstHistory, self.cmdOptimize)
MainWindow.setTabOrder(self.cmdOptimize, self.cmdUndoOptimize)
MainWindow.setTabOrder(self.cmdUndoOptimize, self.cmdClearHistory)
MainWindow.setTabOrder(self.cmdClearHistory, self.txtMultiQuery)
MainWindow.setTabOrder(self.txtMultiQuery, self.cmdClearMultilineQuery)
MainWindow.setTabOrder(self.cmdClearMultilineQuery, self.cmdExecuteMultiline)
MainWindow.setTabOrder(self.cmdExecuteMultiline, self.lstRelations)
MainWindow.setTabOrder(self.lstRelations, self.cmdEdit)
MainWindow.setTabOrder(self.cmdEdit, self.lstAttributes)
MainWindow.setTabOrder(self.lstAttributes, self.txtResult)
MainWindow.setTabOrder(self.txtResult, self.txtQuery)
MainWindow.setTabOrder(self.txtQuery, self.cmdClearQuery)
MainWindow.setTabOrder(self.cmdClearQuery, self.cmdExecute)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Relational"))
self.groupBox_3.setTitle(_translate("MainWindow", "Menu"))
self.cmdAbout.setText(_translate("MainWindow", "About"))
self.cmdSurvey.setText(_translate("MainWindow", "Survey"))
self.cmdDifference.setToolTip(_translate("MainWindow", "Difference"))
self.cmdOuter.setToolTip(_translate("MainWindow", "Full outer join"))
self.cmdDivision.setToolTip(_translate("MainWindow", "Division"))
self.cmdProduct.setToolTip(_translate("MainWindow", "Product"))
self.cmdSelection.setToolTip(_translate("MainWindow", "Selection"))
self.cmdOuterLeft.setToolTip(_translate("MainWindow", "Left outer join"))
self.cmdUnion.setToolTip(_translate("MainWindow", "Union"))
self.cmdIntersection.setToolTip(_translate("MainWindow", "Intersection"))
self.cmdJoin.setToolTip(_translate("MainWindow", "Natural join"))
self.cmdOuterRight.setToolTip(_translate("MainWindow", "Right outer join"))
self.cmdProjection.setToolTip(_translate("MainWindow", "Projection"))
self.cmdRename.setToolTip(_translate("MainWindow", "Rename"))
self.cmdOptimize.setText(_translate("MainWindow", "Optimize"))
self.cmdUndoOptimize.setText(_translate("MainWindow", "Undo optimize"))
self.cmdClearHistory.setText(_translate("MainWindow", "Clear history"))
self.cmdClearMultilineQuery.setText(_translate("MainWindow", ""))
self.cmdExecuteMultiline.setText(_translate("MainWindow", "Execute"))
self.groupBox.setTitle(_translate("MainWindow", "Relations"))
self.lstRelations.setSortingEnabled(True)
self.cmdEdit.setText(_translate("MainWindow", "Edit"))
self.cmdLoad.setText(_translate("MainWindow", "Load"))
self.cmdSave.setText(_translate("MainWindow", "Save"))
self.cmdNew.setText(_translate("MainWindow", "New"))
self.cmdNewSession.setText(_translate("MainWindow", "Unload all"))
self.cmdUnload.setText(_translate("MainWindow", "Unload"))
self.groupBox_2.setTitle(_translate("MainWindow", "Attributes"))
self.txtResult.setText(_translate("MainWindow", "_last1"))
self.label.setText(_translate("MainWindow", "="))
self.cmdClearQuery.setText(_translate("MainWindow", ""))
self.cmdExecute.setText(_translate("MainWindow", "Execute"))
self.menuFile.setTitle(_translate("MainWindow", "&File"))
self.menuAbout.setTitle(_translate("MainWindow", "&Help"))
self.menuRelations.setTitle(_translate("MainWindow", "Relations"))
self.menuSettings.setTitle(_translate("MainWindow", "Settings"))
self.actionAbout.setText(_translate("MainWindow", "&About"))
self.action_Load_relation.setText(_translate("MainWindow", "&Load relation"))
self.action_Load_relation.setShortcut(_translate("MainWindow", "Ctrl+O"))
self.action_Save_relation.setText(_translate("MainWindow", "&Save relation"))
self.action_Save_relation.setShortcut(_translate("MainWindow", "Ctrl+S"))
self.action_Quit.setText(_translate("MainWindow", "&Quit"))
self.action_Quit.setShortcut(_translate("MainWindow", "Ctrl+Q"))
self.actionCheck_for_new_versions.setText(_translate("MainWindow", "Check for new versions"))
self.actionNew_relation.setText(_translate("MainWindow", "New relation"))
self.actionNew_relation.setShortcut(_translate("MainWindow", "Ctrl+N"))
self.actionEdit_relation.setText(_translate("MainWindow", "Edit relation"))
self.actionEdit_relation.setShortcut(_translate("MainWindow", "Ctrl+E"))
self.actionNew_session.setText(_translate("MainWindow", "New session"))
self.actionSave_session_as.setText(_translate("MainWindow", "Save session as"))
self.actionSave_session_as.setToolTip(_translate("MainWindow", "Save session as"))
self.actionManage_sessions.setText(_translate("MainWindow", "Manage sessions"))
self.actionUnload_relation.setText(_translate("MainWindow", "Unload relation"))
self.actionMulti_line_mode.setText(_translate("MainWindow", "Multi-line mode"))
self.actionMulti_line_mode.setShortcut(_translate("MainWindow", "Ctrl+L"))

@ -1,69 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'relational_gui/rel_edit.ui'
#
# Created by: PyQt5 UI code generator 5.4.2
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Dialog(object):
def setupUi(self, Dialog):
Dialog.setObjectName("Dialog")
Dialog.resize(594, 444)
self.verticalLayout_2 = QtWidgets.QVBoxLayout(Dialog)
self.verticalLayout_2.setObjectName("verticalLayout_2")
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
self.groupBox = QtWidgets.QGroupBox(Dialog)
self.groupBox.setObjectName("groupBox")
self.verticalLayout = QtWidgets.QVBoxLayout(self.groupBox)
self.verticalLayout.setObjectName("verticalLayout")
self.cmdAddTuple = QtWidgets.QPushButton(self.groupBox)
self.cmdAddTuple.setObjectName("cmdAddTuple")
self.verticalLayout.addWidget(self.cmdAddTuple)
self.cmdRemoveTuple = QtWidgets.QPushButton(self.groupBox)
self.cmdRemoveTuple.setObjectName("cmdRemoveTuple")
self.verticalLayout.addWidget(self.cmdRemoveTuple)
self.cmdAddColumn = QtWidgets.QPushButton(self.groupBox)
self.cmdAddColumn.setObjectName("cmdAddColumn")
self.verticalLayout.addWidget(self.cmdAddColumn)
self.cmdRemoveColumn = QtWidgets.QPushButton(self.groupBox)
self.cmdRemoveColumn.setObjectName("cmdRemoveColumn")
self.verticalLayout.addWidget(self.cmdRemoveColumn)
self.horizontalLayout.addWidget(self.groupBox)
self.table = QtWidgets.QTableWidget(Dialog)
self.table.setObjectName("table")
self.table.setColumnCount(0)
self.table.setRowCount(0)
self.horizontalLayout.addWidget(self.table)
self.verticalLayout_2.addLayout(self.horizontalLayout)
self.label = QtWidgets.QLabel(Dialog)
self.label.setObjectName("label")
self.verticalLayout_2.addWidget(self.label)
self.buttonBox = QtWidgets.QDialogButtonBox(Dialog)
self.buttonBox.setOrientation(QtCore.Qt.Horizontal)
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.Cancel|QtWidgets.QDialogButtonBox.Ok)
self.buttonBox.setObjectName("buttonBox")
self.verticalLayout_2.addWidget(self.buttonBox)
self.retranslateUi(Dialog)
self.buttonBox.accepted.connect(Dialog.accept)
self.buttonBox.rejected.connect(Dialog.reject)
self.cmdAddColumn.clicked.connect(Dialog.addColumn)
self.cmdRemoveColumn.clicked.connect(Dialog.deleteColumn)
self.cmdAddTuple.clicked.connect(Dialog.addRow)
self.cmdRemoveTuple.clicked.connect(Dialog.deleteRow)
QtCore.QMetaObject.connectSlotsByName(Dialog)
def retranslateUi(self, Dialog):
_translate = QtCore.QCoreApplication.translate
Dialog.setWindowTitle(_translate("Dialog", "Relation editor"))
self.groupBox.setTitle(_translate("Dialog", "Edit"))
self.cmdAddTuple.setText(_translate("Dialog", "Add tuple"))
self.cmdRemoveTuple.setText(_translate("Dialog", "Remove tuple"))
self.cmdAddColumn.setText(_translate("Dialog", "Add column"))
self.cmdRemoveColumn.setText(_translate("Dialog", "Remove column"))
self.label.setText(_translate("Dialog", "Remember that new relations and modified relations are not automatically saved"))

@ -1,132 +0,0 @@
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'relational_gui/survey.ui'
#
# Created by: PyQt5 UI code generator 5.4.2
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(422, 313)
Form.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates))
self.verticalLayout = QtWidgets.QVBoxLayout(Form)
self.verticalLayout.setObjectName("verticalLayout")
self.formLayout = QtWidgets.QGridLayout()
self.formLayout.setObjectName("formLayout")
self.txtSystem = QtWidgets.QLineEdit(Form)
self.txtSystem.setObjectName("txtSystem")
self.formLayout.addWidget(self.txtSystem, 0, 1, 1, 1)
self.label = QtWidgets.QLabel(Form)
self.label.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates))
self.label.setObjectName("label")
self.formLayout.addWidget(self.label, 1, 0, 1, 1)
self.txtCountry = QtWidgets.QLineEdit(Form)
self.txtCountry.setObjectName("txtCountry")
self.formLayout.addWidget(self.txtCountry, 1, 1, 1, 1)
self.label_2 = QtWidgets.QLabel(Form)
self.label_2.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates))
self.label_2.setObjectName("label_2")
self.formLayout.addWidget(self.label_2, 2, 0, 1, 1)
self.txtSchool = QtWidgets.QLineEdit(Form)
self.txtSchool.setObjectName("txtSchool")
self.formLayout.addWidget(self.txtSchool, 2, 1, 1, 1)
self.label_3 = QtWidgets.QLabel(Form)
self.label_3.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates))
self.label_3.setObjectName("label_3")
self.formLayout.addWidget(self.label_3, 3, 0, 1, 1)
self.txtAge = QtWidgets.QLineEdit(Form)
self.txtAge.setObjectName("txtAge")
self.formLayout.addWidget(self.txtAge, 3, 1, 1, 1)
self.label_4 = QtWidgets.QLabel(Form)
self.label_4.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates))
self.label_4.setObjectName("label_4")
self.formLayout.addWidget(self.label_4, 4, 0, 1, 1)
self.txtFind = QtWidgets.QLineEdit(Form)
self.txtFind.setObjectName("txtFind")
self.formLayout.addWidget(self.txtFind, 4, 1, 1, 1)
self.label_5 = QtWidgets.QLabel(Form)
self.label_5.setLocale(QtCore.QLocale(QtCore.QLocale.English, QtCore.QLocale.UnitedStates))
self.label_5.setObjectName("label_5")
self.formLayout.addWidget(self.label_5, 0, 0, 1, 1)
self.label_6 = QtWidgets.QLabel(Form)
self.label_6.setObjectName("label_6")
self.formLayout.addWidget(self.label_6, 6, 0, 1, 1)
self.txtComments = QtWidgets.QTextEdit(Form)
self.txtComments.setTabChangesFocus(True)
self.txtComments.setObjectName("txtComments")
self.formLayout.addWidget(self.txtComments, 6, 1, 1, 1)
self.label_7 = QtWidgets.QLabel(Form)
self.label_7.setObjectName("label_7")
self.formLayout.addWidget(self.label_7, 5, 0, 1, 1)
self.txtEmail = QtWidgets.QLineEdit(Form)
self.txtEmail.setObjectName("txtEmail")
self.formLayout.addWidget(self.txtEmail, 5, 1, 1, 1)
self.verticalLayout.addLayout(self.formLayout)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout.setObjectName("horizontalLayout")
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Expanding, QtWidgets.QSizePolicy.Minimum)
self.horizontalLayout.addItem(spacerItem)
self.cmdCancel = QtWidgets.QPushButton(Form)
self.cmdCancel.setObjectName("cmdCancel")
self.horizontalLayout.addWidget(self.cmdCancel)
self.cmdClear = QtWidgets.QPushButton(Form)
self.cmdClear.setObjectName("cmdClear")
self.horizontalLayout.addWidget(self.cmdClear)
self.cmdSend = QtWidgets.QPushButton(Form)
self.cmdSend.setDefault(True)
self.cmdSend.setObjectName("cmdSend")
self.horizontalLayout.addWidget(self.cmdSend)
self.verticalLayout.addLayout(self.horizontalLayout)
self.label.setBuddy(self.txtCountry)
self.label_2.setBuddy(self.txtSchool)
self.label_3.setBuddy(self.txtAge)
self.label_4.setBuddy(self.txtFind)
self.label_5.setBuddy(self.txtSystem)
self.label_6.setBuddy(self.txtComments)
self.label_7.setBuddy(self.txtEmail)
self.retranslateUi(Form)
self.cmdCancel.clicked.connect(Form.close)
self.cmdClear.clicked.connect(self.txtComments.clear)
self.cmdClear.clicked.connect(self.txtFind.clear)
self.cmdClear.clicked.connect(self.txtAge.clear)
self.cmdClear.clicked.connect(self.txtSchool.clear)
self.cmdClear.clicked.connect(self.txtCountry.clear)
self.cmdClear.clicked.connect(self.txtSystem.clear)
self.txtSystem.returnPressed.connect(self.txtCountry.setFocus)
self.txtCountry.returnPressed.connect(self.txtSchool.setFocus)
self.txtSchool.returnPressed.connect(self.txtAge.setFocus)
self.txtAge.returnPressed.connect(self.txtFind.setFocus)
self.cmdSend.clicked.connect(Form.send)
self.cmdClear.clicked.connect(self.txtEmail.clear)
self.txtFind.returnPressed.connect(self.txtEmail.setFocus)
self.txtEmail.returnPressed.connect(self.txtComments.setFocus)
QtCore.QMetaObject.connectSlotsByName(Form)
Form.setTabOrder(self.txtSystem, self.txtCountry)
Form.setTabOrder(self.txtCountry, self.txtSchool)
Form.setTabOrder(self.txtSchool, self.txtAge)
Form.setTabOrder(self.txtAge, self.txtFind)
Form.setTabOrder(self.txtFind, self.txtEmail)
Form.setTabOrder(self.txtEmail, self.txtComments)
Form.setTabOrder(self.txtComments, self.cmdSend)
Form.setTabOrder(self.cmdSend, self.cmdClear)
Form.setTabOrder(self.cmdClear, self.cmdCancel)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Survey"))
self.label.setText(_translate("Form", "Country"))
self.label_2.setText(_translate("Form", "School"))
self.label_3.setText(_translate("Form", "Age"))
self.label_4.setText(_translate("Form", "How did you find relational"))
self.label_5.setText(_translate("Form", "System"))
self.label_6.setText(_translate("Form", "Comments"))
self.label_7.setText(_translate("Form", "Email (only if you want a reply)"))
self.cmdCancel.setText(_translate("Form", "Cancel"))
self.cmdClear.setText(_translate("Form", "Clear"))
self.cmdSend.setText(_translate("Form", "Send"))