comments and cleanup in about.py
git-svn-id: http://galileo.dmi.unict.it/svn/relational/trunk@207 014f5005-505e-4b48-8d0a-63407b615a7c
This commit is contained in:
parent
4b6960b7be
commit
9efc56269e
@ -90,4 +90,4 @@
|
||||
- Selection can now accept expressions with parenthesis
|
||||
|
||||
0.11
|
||||
- Font is set only on windows
|
||||
- Font is set only on windows (Rev 206)
|
@ -67,9 +67,9 @@ def recoursive_scan(function,node,rels=None):
|
||||
|
||||
|
||||
def duplicated_select(n):
|
||||
changes=0
|
||||
'''This function locates and deletes things like
|
||||
σ a ( σ a(C)) and the ones like σ a ( σ b(C))'''
|
||||
changes=0
|
||||
if n.name=='σ' and n.child.name=='σ':
|
||||
if n.prop != n.child.prop: #Nested but different, joining them
|
||||
n.prop = n.prop + " and " + n.child.prop
|
||||
@ -84,7 +84,7 @@ def futile_union_intersection_subtraction(n):
|
||||
σ k (r) ᑌ r with r
|
||||
σ k (r) ᑎ r with σ k (r)
|
||||
'''
|
||||
#TODO document into the wiki
|
||||
|
||||
changes=0
|
||||
|
||||
if n.name in ('ᑌ','ᑎ') and n.left==n.right:
|
||||
@ -102,6 +102,7 @@ def futile_union_intersection_subtraction(n):
|
||||
replace_node(n,n.left)
|
||||
else:
|
||||
replace_node(n,n.right)
|
||||
#TODO make work the following line...
|
||||
#elif (n.name == '-' and ((n.left.name=='σ' and n.left.child==n.right) or (n.right.name=='σ' and n.right.child==n.left))): #Intersection of two equal things, but one has a selection
|
||||
elif n.name=='-' and n.left==n.right:#Empty relation
|
||||
changes=1
|
||||
@ -175,7 +176,6 @@ def swap_union_renames(n):
|
||||
and replaces them with
|
||||
ρ a➡b(R ᑌ Q).
|
||||
Does the same with subtraction and intersection'''
|
||||
#TODO document into the wiki
|
||||
changes=0
|
||||
|
||||
if n.name in ('-','ᑌ','ᑎ') and n.left.name==n.right.name and n.left.name=='ρ':
|
||||
@ -374,7 +374,6 @@ def swap_rename_projection(n):
|
||||
and more important, will hopefully allow further optimizations.
|
||||
Will also eliminate fields in the rename that are cutted in the projection.
|
||||
'''
|
||||
#TODO document into the wiki
|
||||
changes=0
|
||||
|
||||
if n.name=='π' and n.child.name=='ρ':
|
||||
|
@ -110,10 +110,7 @@ class Ui_Dialog(object):
|
||||
self.tabWidget.setCurrentIndex(0)
|
||||
QtCore.QObject.connect(self.buttonBox,QtCore.SIGNAL("accepted()"),Dialog.accept)
|
||||
QtCore.QObject.connect(self.buttonBox,QtCore.SIGNAL("rejected()"),Dialog.reject)
|
||||
#QtCore.QObject.connect(self.label_4,QtCore.SIGNAL("linkActivated()"),self.openSite)
|
||||
QtCore.QMetaObject.connectSlotsByName(Dialog)
|
||||
def openSite(self):
|
||||
print "ciao"
|
||||
def retranslateUi(self, Dialog):
|
||||
Dialog.setWindowTitle(QtGui.QApplication.translate("Dialog", "Documentation", None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.groupBox.setTitle(QtGui.QApplication.translate("Dialog", "Relational", None, QtGui.QApplication.UnicodeUTF8))
|
||||
@ -121,7 +118,7 @@ class Ui_Dialog(object):
|
||||
self.label_3.setText(QtGui.QApplication.translate("Dialog", "Version "+version, None, QtGui.QApplication.UnicodeUTF8))
|
||||
self.label_3.setTextInteractionFlags(QtCore.Qt.LinksAccessibleByMouse|QtCore.Qt.TextSelectableByMouse)
|
||||
self.groupBox_3.setTitle(QtGui.QApplication.translate("Dialog", "Author", None, QtGui.QApplication.UnicodeUTF8))
|
||||
if os.name=='nt':
|
||||
if os.name=='nt': #Differentiates acknowledgements depending on the system
|
||||
self.label_2.setText(QtGui.QApplication.translate("Dialog", "Salvo \"LtWorf\" Tomaselli <tiposchi@tiscali.it>\nEmilio Di Prima <emiliodiprima [at] msn [dot] com> (For the windows version)", None, QtGui.QApplication.UnicodeUTF8))
|
||||
else:
|
||||
self.label_2.setText(QtGui.QApplication.translate("Dialog", "Salvo \"LtWorf\" Tomaselli <tiposchi@tiscali.it>", None, QtGui.QApplication.UnicodeUTF8))
|
||||
|
@ -30,7 +30,7 @@ class Ui_Form(object):
|
||||
self.About=None
|
||||
self.Survey=None
|
||||
self.relations={} #Dictionary for relations
|
||||
self.undo=[] #UndoQueue for relations
|
||||
self.undo=[] #UndoQueue for queries
|
||||
self.selectedRelation=None
|
||||
def load_query(self,*index):
|
||||
self.txtQuery.setText(self.savedQ.itemData(index[0]).toString())
|
||||
@ -44,17 +44,20 @@ class Ui_Form(object):
|
||||
|
||||
self.savedQ.addItem(res[0],QtCore.QVariant(self.txtQuery.text()))
|
||||
def toggle_advanced(self):
|
||||
'''Hides or shows the advanced frame'''
|
||||
if self.advancedBox.isVisible():
|
||||
self.advancedBox.hide()
|
||||
else:
|
||||
self.advancedBox.show()
|
||||
|
||||
def undo_optimize(self):
|
||||
'''Undoes the optimization on the query, popping one item from the undo list'''
|
||||
try:
|
||||
self.txtQuery.setText(self.undo.pop())
|
||||
except:#Nothing to restore
|
||||
pass
|
||||
def optimize(self):
|
||||
'''Performs all the possible optimizations on the query'''
|
||||
self.undo.insert(len(self.undo),self.txtQuery.text()) #Storing the query in undo list
|
||||
|
||||
result=optimizer.optimize_all(str(self.txtQuery.text().toUtf8()),self.relations)
|
||||
@ -62,6 +65,7 @@ class Ui_Form(object):
|
||||
|
||||
#self.txtQuery.setText(result)
|
||||
def execute(self):
|
||||
'''Executes the query'''
|
||||
try:
|
||||
#Converting string to utf8 and then from qstring to normal string
|
||||
query=str(self.txtQuery.text().toUtf8())
|
||||
@ -83,6 +87,7 @@ class Ui_Form(object):
|
||||
except:
|
||||
QtGui.QMessageBox.information(None,QtGui.QApplication.translate("Form", "Error"),QtGui.QApplication.translate("Form", "Check your query!") )
|
||||
def showRelation(self,rel):
|
||||
'''Shows the selected relation into the table'''
|
||||
self.table.clear()
|
||||
|
||||
if rel==None: #No relation to show
|
||||
@ -110,6 +115,7 @@ class Ui_Form(object):
|
||||
self.showRelation(self.selectedRelation)
|
||||
|
||||
def showAttributes(self,*other):
|
||||
'''Shows the attributes of the selected relation'''
|
||||
for i in other:
|
||||
rel=str(i.text().toUtf8())
|
||||
self.lstAttributes.clear()
|
||||
|
Loading…
x
Reference in New Issue
Block a user