First working version
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@28 014f5005-505e-4b48-8d0a-63407b615a7c
This commit is contained in:
parent
18a986605f
commit
d9565654a5
42
maingui.py
42
maingui.py
@ -10,20 +10,41 @@
|
|||||||
from PyQt4 import QtCore, QtGui
|
from PyQt4 import QtCore, QtGui
|
||||||
import relation
|
import relation
|
||||||
import parser
|
import parser
|
||||||
|
import traceback
|
||||||
|
import sys
|
||||||
|
|
||||||
class Ui_Form(object):
|
class Ui_Form(object):
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.relations={} #Dictionary for relations
|
self.relations={} #Dictionary for relations
|
||||||
def execute(self):
|
def execute(self):
|
||||||
self.txtQuery.text()
|
try:
|
||||||
expr=parser.parse(self.txtQuery.text())
|
#Converting string to utf8 and then from qstring to normal string
|
||||||
result=eval(expr,self.relations)
|
query=str(self.txtQuery.text().toUtf8())
|
||||||
if len(self.txtResult.text())!=0:
|
expr=parser.parse(query)
|
||||||
self.relations[showAttributes]=result
|
print query, expr
|
||||||
|
result=eval(expr,self.relations)
|
||||||
|
|
||||||
|
res_rel=str(self.txtResult.text())#result relation's name
|
||||||
|
if len(res_rel)==0:
|
||||||
|
res_rel="last_"
|
||||||
|
|
||||||
|
self.relations[res_rel]=result
|
||||||
self.updateRelations()
|
self.updateRelations()
|
||||||
self.showRelation(result)
|
|
||||||
|
self.showRelation(result)
|
||||||
|
except:
|
||||||
|
print
|
||||||
|
#QtGui.QMessageBox.information(None,QtGui.QApplication.translate("Form", "Error"), str(traceback.print_exc()))
|
||||||
def showRelation(self,rel):
|
def showRelation(self,rel):
|
||||||
self.table.clear()
|
self.table.clear()
|
||||||
|
|
||||||
|
for i in range(self.table.headerItem().columnCount()):
|
||||||
|
self.table.headerItem().setText(i,"")
|
||||||
|
|
||||||
|
if rel==None:
|
||||||
|
self.table.headerItem().setText(0,"Empty relation")
|
||||||
|
return
|
||||||
|
|
||||||
for i in range(len(rel.header.attributes)):
|
for i in range(len(rel.header.attributes)):
|
||||||
self.table.headerItem().setText(i,rel.header.attributes[i])
|
self.table.headerItem().setText(i,rel.header.attributes[i])
|
||||||
|
|
||||||
@ -35,11 +56,11 @@ class Ui_Form(object):
|
|||||||
|
|
||||||
def printRelation(self,*rel):
|
def printRelation(self,*rel):
|
||||||
for i in rel:
|
for i in rel:
|
||||||
self.showRelation(self.relations[i.text()])
|
self.showRelation(self.relations[str(i.text().toUtf8())])
|
||||||
|
|
||||||
def showAttributes(self,*other):
|
def showAttributes(self,*other):
|
||||||
for i in other:
|
for i in other:
|
||||||
rel=i.text()
|
rel=str(i.text().toUtf8())
|
||||||
self.lstAttributes.clear()
|
self.lstAttributes.clear()
|
||||||
for j in self.relations[rel].header.attributes:
|
for j in self.relations[rel].header.attributes:
|
||||||
self.lstAttributes.addItem (j)
|
self.lstAttributes.addItem (j)
|
||||||
@ -50,7 +71,7 @@ class Ui_Form(object):
|
|||||||
self.lstRelations.addItem(i)
|
self.lstRelations.addItem(i)
|
||||||
def unloadRelation(self):
|
def unloadRelation(self):
|
||||||
for i in self.lstRelations.selectedItems():
|
for i in self.lstRelations.selectedItems():
|
||||||
del self.relations[i.text()]
|
del self.relations[i.text().toUtf8()]
|
||||||
self.updateRelations()
|
self.updateRelations()
|
||||||
def showAbout(self):
|
def showAbout(self):
|
||||||
QtGui.QMessageBox.information(None,QtGui.QApplication.translate("Form", "About"),
|
QtGui.QMessageBox.information(None,QtGui.QApplication.translate("Form", "About"),
|
||||||
@ -60,7 +81,7 @@ class Ui_Form(object):
|
|||||||
if res[1]==False:
|
if res[1]==False:
|
||||||
return
|
return
|
||||||
filename = QtGui.QFileDialog.getOpenFileName(None,QtGui.QApplication.translate("Form", "Load Relation"),"",QtGui.QApplication.translate("Form", "Relations (*.tlb);;Text Files (*.txt);;All Files (*)"))
|
filename = QtGui.QFileDialog.getOpenFileName(None,QtGui.QApplication.translate("Form", "Load Relation"),"",QtGui.QApplication.translate("Form", "Relations (*.tlb);;Text Files (*.txt);;All Files (*)"))
|
||||||
self.relations[res[0]]=relation.relation(filename)
|
self.relations[str(res[0].toUtf8())]=relation.relation(filename)
|
||||||
self.updateRelations()
|
self.updateRelations()
|
||||||
|
|
||||||
def addProduct(self):
|
def addProduct(self):
|
||||||
@ -169,6 +190,7 @@ class Ui_Form(object):
|
|||||||
self.table.setAlternatingRowColors(True)
|
self.table.setAlternatingRowColors(True)
|
||||||
self.table.setRootIsDecorated(False)
|
self.table.setRootIsDecorated(False)
|
||||||
self.table.setObjectName("table")
|
self.table.setObjectName("table")
|
||||||
|
self.showRelation(None)
|
||||||
self.horizontalLayout_4.addWidget(self.table)
|
self.horizontalLayout_4.addWidget(self.table)
|
||||||
self.verticalLayout_3 = QtGui.QVBoxLayout()
|
self.verticalLayout_3 = QtGui.QVBoxLayout()
|
||||||
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
self.verticalLayout_3.setObjectName("verticalLayout_3")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user