[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/gnuef TODO samples/zipcode/states.gfd src/...
From: |
James Thompson |
Subject: |
gnue/gnuef TODO samples/zipcode/states.gfd src/... |
Date: |
Tue, 07 Nov 2000 21:00:26 -0800 |
CVSROOT: /cvs
Module name: gnue
Changes by: James Thompson <address@hidden> 00/11/07 21:00:26
Modified files:
gnuef : TODO
gnuef/samples/zipcode: states.gfd
gnuef/src : GFForm.py GFObjects.py UIwxpython.py
Log message:
Fixed bug causing null db fields to appear as None
Fixed switching records not updating tip & recordCount
Focus should now shift to first field in block upon entry
speed: started cleaning up events and code to reduce function/event
calls
CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/TODO.diff?r1=1.20&r2=1.21
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/zipcode/states.gfd.diff?r1=1.2&r2=1.3
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFForm.py.diff?r1=1.34&r2=1.35
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFObjects.py.diff?r1=1.31&r2=1.32
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/UIwxpython.py.diff?r1=1.27&r2=1.28
Patches:
Index: gnue/gnuef/TODO
diff -u gnue/gnuef/TODO:1.20 gnue/gnuef/TODO:1.21
--- gnue/gnuef/TODO:1.20 Tue Nov 7 16:18:07 2000
+++ gnue/gnuef/TODO Tue Nov 7 21:00:26 2000
@@ -11,14 +11,18 @@
**DONE for 0.1.0
** make packages (RPM and deb) [jade]
- fill in todo list (easy as there is a lot of DOs to TO) [everyone]
+
+ clean up code [everyone working on the code]
+ provide better seperation of Objects in the Data system
+ restore proper encapsulation in system
+ Speed, speed, speed (it's pretty bad now w/ complex forms)
+ status bar speed is slow
+
the x/y width units problem
mouse click out of field then F8 results in block error
- status bar speed is slow
-
current detail/masta code bombs if masta doesn't have an entry widget
defined for that field.
@@ -29,10 +33,6 @@
status bar record status not updating as soon as I'd like
it's possible to exit/query w/o saving current record
- clean up code [everyone working on the code]
- provide better seperation of Objects in the Data system
- restore proper encapsulation in system
-
Convert the form and view to support auto ajustment of grid system
to text based instead of pixel based
@@ -85,6 +85,14 @@
Add code to make a GUI startup failure roll into a text mode attempt
Add support of mouse focus to the charater
+
+ Sloppy query - a query mode that lets you ignore things like -'s in a
+ part number. To find 123-123123-12312 you'd enter 12312312312312. This
+ is an enduser request i see it being done with text query inserting %
+ between each char s%l%o%p%p%y%q%u%e%r%y
+
+
+
Index: gnue/gnuef/samples/zipcode/states.gfd
diff -u gnue/gnuef/samples/zipcode/states.gfd:1.2
gnue/gnuef/samples/zipcode/states.gfd:1.3
--- gnue/gnuef/samples/zipcode/states.gfd:1.2 Thu Nov 2 21:18:48 2000
+++ gnue/gnuef/samples/zipcode/states.gfd Tue Nov 7 21:00:26 2000
@@ -24,13 +24,13 @@
<!-- Block of cities -->
<block name="cities" datasource="cities" master="state.state"
detail="state_code">
<label text="City" x="5" y="100"/>
- <entry name="city" field="city" x="5" y="110" width="150" height="20"
visibleCount="5" readonly=""/>
+ <entry name="city" field="city" x="5" y="110" width="150" height="20"
visibleCount="5" />
<label text="State" x="65" y="100"/>
- <entry name="state" field="state_code" x="65" y="110" width="150"
height="20" visibleCount="5" readonly=""/>
+ <entry name="state" field="state_code" x="65" y="110" width="150"
height="20" visibleCount="5" />
<label text="Zip" x="125" y="100"/>
- <entry name="zip" field="zip" x="125" y="110" width="150" height="20"
visibleCount="5" readonly=""/>
+ <entry name="zip" field="zip" x="125" y="110" width="150" height="20"
visibleCount="5" />
</block>
</page>
Index: gnue/gnuef/src/GFForm.py
diff -u gnue/gnuef/src/GFForm.py:1.34 gnue/gnuef/src/GFForm.py:1.35
--- gnue/gnuef/src/GFForm.py:1.34 Sat Nov 4 20:14:52 2000
+++ gnue/gnuef/src/GFForm.py Tue Nov 7 21:00:26 2000
@@ -219,7 +219,6 @@
self.dispatchEvent(GFEvent('gotoENTRY',self.currentEntry));
self.updateRecordCounter()
self.updateRecordStatus()
-# self.updateTip()
def prevRecord(self, event):
self.dispatchEvent(GFEvent('uiPREVRECORD',self.currentEntry))
@@ -227,7 +226,6 @@
self.dispatchEvent(GFEvent('gotoENTRY',self.currentEntry));
self.updateRecordCounter()
self.updateRecordStatus()
-# self.updateTip()
def newRecord(self, event):
if not hasattr(self,'readonly'):
@@ -272,7 +270,6 @@
self.updateRecordCounter()
else:
self.dispatchEvent(GFEvent('formALERT','Form is readonly'))
-
def recordSwitched(self, event):
self.dispatchEvent(GFEvent('updateENTRY',event.data))
@@ -408,7 +405,8 @@
self.dispatchEvent(GFEvent('gotoPAGE',self.currentPage));
self.dispatchEvent(GFEvent('gotoENTRY',self.currentEntry));
-# self.updateStatus()
+
+ self.updateStatus()
#
# previousBlock
@@ -443,7 +441,7 @@
self.dispatchEvent(GFEvent('gotoPAGE',self.currentPage));
self.dispatchEvent(GFEvent('gotoENTRY',self.currentEntry));
-# self.updateStatus()
+ self.updateStatus()
#
# cursorMove
Index: gnue/gnuef/src/GFObjects.py
diff -u gnue/gnuef/src/GFObjects.py:1.31 gnue/gnuef/src/GFObjects.py:1.32
--- gnue/gnuef/src/GFObjects.py:1.31 Sat Nov 4 20:14:52 2000
+++ gnue/gnuef/src/GFObjects.py Tue Nov 7 21:00:26 2000
@@ -256,7 +256,7 @@
self.currentRecord = 0
self.dispatchEvent(GFEvent('switchRECORD',[oldRecord,self.currentRecord]));
self.dispatchEvent(GFEvent('requestPREVRECORD',None))
-
self.dispatchEvent(GFEvent('uiUPDATESTATUS',[None,None,None,self.currentRecord,self.recordCount]))
+
#self.dispatchEvent(GFEvent('uiUPDATESTATUS',[None,None,None,self.currentRecord,self.recordCount]))
@@ -279,7 +279,7 @@
if self.currentRecord > self.recordCount : self.currentRecord = 0
self.dispatchEvent(GFEvent('switchRECORD',[oldRecord,self.currentRecord]));
-
self.dispatchEvent(GFEvent('uiUPDATESTATUS',[None,None,None,self.currentRecord,self.recordCount]))
+ #
self.dispatchEvent(GFEvent('uiUPDATESTATUS',[None,None,None,self.currentRecord,self.recordCount]))
#
# recordSwitched
@@ -306,7 +306,7 @@
self.dispatchEvent(GFEvent('requestPREVRECORD',None))
self.dispatchEvent(GFEvent('requestNEXTRECORD',None))
-
self.dispatchEvent(GFEvent('uiUPDATESTATUS',[None,None,None,self.currentRecord,self.recordCount]))
+
#self.dispatchEvent(GFEvent('uiUPDATESTATUS',[None,None,None,self.currentRecord,self.recordCount]))
self.mode='normal'
#
@@ -350,7 +350,7 @@
self.dispatchEvent(GFEvent('switchRECORD',[-1,0]));
self.currentRecord = 0
-
self.dispatchEvent(GFEvent('uiUPDATESTATUS',[None,None,None,self.currentRecord,self.recordCount]))
+
#self.dispatchEvent(GFEvent('uiUPDATESTATUS',[None,None,None,self.currentRecord,self.recordCount]))
#
@@ -407,7 +407,7 @@
if not self.value:
self.value = ""
self.cursorPosition = len(self.value)
- self.dispatchEvent(GFEvent('uiNEXTRECORD',self))
+ #self.dispatchEvent(GFEvent('uiNEXTRECORD',self))
self.dispatchEvent(GFEvent('recordSWITCHED',self));
#
@@ -479,7 +479,6 @@
def initialize(self):
if GFOptions.DEBUG:
print "Initializing datasource %s" % (self.name)
-# self.resultSet = []
self.emptyRecord = {}
if hasattr(self,'database'):
@@ -552,7 +551,8 @@
if self.resultSet:
for count in range(len(self.resultSet)):
for key in self.resultSet[count].keys():
- self.resultSet[count][key] = str(self.resultSet[count][key])
+ if self.resultSet[count][key] != None:
+ self.resultSet[count][key] = str(self.resultSet[count][key])
def commit(self):
@@ -573,7 +573,11 @@
if self.resultSetStatus[count] == 'modified':
if self.resultSet[count].has_key(self.dataConnection.uniqueKey):
- if self.resultSet[count][self.dataConnection.uniqueKey] > 0:
+ if self.resultSet[count][self.dataConnection.uniqueKey] ==
'delete':
+ # record never in database so just mark for cleanup
+ self.resultSet[count][self.dataConnection.uniqueKey] = -1
+
+ elif self.resultSet[count][self.dataConnection.uniqueKey] > 0:
if GFOptions.DEBUG:
print "updating the record"
self.dataConnection.update(self.table,mask)
@@ -614,9 +618,10 @@
# Reset the internal type to string so things like len() work properly
for count in range(len(self.resultSet)):
for key in self.resultSet[count].keys():
- self.resultSet[count][key] = str(self.resultSet[count][key])
-
+ if self.resultSet[count][key] != None:
+ self.resultSet[count][key] = str(self.resultSet[count][key])
+
def new(self):
newentry = {}
for key in self.emptyRecord.keys():
@@ -625,21 +630,35 @@
self.resultSetStatus.append('saved')
def markForRemoval(self,recordNumber):
- self.resultSet[recordNumber][self.dataConnection.uniqueKey] = \
+ print "The key is
",self.resultSet[recordNumber][self.dataConnection.uniqueKey]
+ if self.resultSet[recordNumber][self.dataConnection.uniqueKey]:
+ self.resultSet[recordNumber][self.dataConnection.uniqueKey] = \
int(self.resultSet[recordNumber][self.dataConnection.uniqueKey]) * -1
+ else:
+ # The record had never really been saved so doesn't have an oid
+ self.resultSet[recordNumber][self.dataConnection.uniqueKey] = 'delete'
+ print "Never saved so I've set it to
",self.resultSet[recordNumber][self.dataConnection.uniqueKey]
self.resultSetStatus[recordNumber] = 'modified'
if GFOptions.DEBUG:
print "removing object: %s" %
(self.resultSet[recordNumber][self.dataConnection.uniqueKey])
def getField(self,recordNumber,fieldName):
try:
- field = self.resultSet[recordNumber][fieldName]
+ if self.resultSet[recordNumber][fieldName] != None:
+ field = self.resultSet[recordNumber][fieldName]
+ else:
+ field = ''
+# print "Daddy's gonna give you a '",field,"'"
return field
except IndexError, ex:
- return None
+# print "Fool there isn't any of that in here"
+ return ''
def setField(self,recordNumber,fieldName,value):
if len(self.resultSet) > recordNumber:
+ if len(value) == 0:
+ value = None
+
if self.resultSet[recordNumber][fieldName] != value:
self.resultSet[recordNumber][fieldName] = value
self.resultSetStatus[recordNumber] = 'modified'
Index: gnue/gnuef/src/UIwxpython.py
diff -u gnue/gnuef/src/UIwxpython.py:1.27 gnue/gnuef/src/UIwxpython.py:1.28
--- gnue/gnuef/src/UIwxpython.py:1.27 Mon Nov 6 20:31:09 2000
+++ gnue/gnuef/src/UIwxpython.py Tue Nov 7 21:00:26 2000
@@ -147,7 +147,6 @@
def switchFocus(self, event):
index = self.formToUI[event.data][1]
- #print self.formToUI[event.data]
self.formToUI[event.data][0][index].SetFocus()
def updateStatus(self,event):
@@ -182,10 +181,16 @@
# Fill the prior spots
for count in range(index):
+ value =
block.dataSourceLink.getField(currentRecord-(index-count),event.data.field)
if style == 'dropdown':
- value =
event.data.allowedValues()[block.dataSourceLink.getField(currentRecord-(index-count),event.data.field)]
- else:
- value =
block.dataSourceLink.getField(currentRecord-(index-count),event.data.field)
+ value = event.data.allowedValues()[value]
+
+# begin working on 7-nov-2000
+# if style == 'dropdown':
+# value =
event.data.allowedValues()[block.dataSourceLink.getField(currentRecord-(index-count),event.data.field)]
+# else:
+# value =
block.dataSourceLink.getField(currentRecord-(index-count),event.data.field)
+# end working on 7-nov-2000
self.formToUI[event.data][0][count].SetEvtHandlerEnabled(FALSE)
self.formToUI[event.data][0][count].SetValue(value)
self.formToUI[event.data][0][count].SetEvtHandlerEnabled(TRUE)
@@ -215,9 +220,13 @@
else:
value =
block.dataSourceLink.getField(currentRecord+(count-index),event.data.field)
if style == 'dropdown':
- value =
event.data.allowedValues()[block.dataSourceLink.getField(currentRecord+(count-index),event.data.field)]
- else:
- value =
block.dataSourceLink.getField(currentRecord+(count-index),event.data.field)
+ value = event.data.allowedValues()[value]
+# begin working on 7-nov-2000
+# if style == 'dropdown':
+# value =
event.data.allowedValues()[block.dataSourceLink.getField(currentRecord+(count-index),event.data.field)]
+# else:
+# value =
block.dataSourceLink.getField(currentRecord+(count-index),event.data.field)
+# end working on 7-nov-2000
self.formToUI[event.data][0][count].SetEvtHandlerEnabled(FALSE)
self.formToUI[event.data][0][count].SetValue(value)
self.formToUI[event.data][0][count].SetEvtHandlerEnabled(TRUE)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/gnuef TODO samples/zipcode/states.gfd src/...,
James Thompson <=