commit-gnue
[Top][All Lists]
Advanced

[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)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]