commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

gnue/gnuef acinclude.m4 samples/zipcode/pg_zip_...


From: James Thompson
Subject: gnue/gnuef acinclude.m4 samples/zipcode/pg_zip_...
Date: Thu, 19 Oct 2000 22:56:52 -0700

CVSROOT:        /cvs
Module name:    gnue
Changes by:     James Thompson <address@hidden> 00/10/19 22:56:51

Modified files:
        gnuef          : acinclude.m4 
        gnuef/samples/zipcode: pg_zip_code.sql zip_code.gfd 
        gnuef/src      : GFForm.py GFObjects.py UIbase.py UIwxpython.py 

Log message:
        Parital (buggy) visibleCount on entries

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/acinclude.m4.diff?r1=1.1&r2=1.2
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/zipcode/pg_zip_code.sql.diff?r1=1.1&r2=1.2
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/zipcode/zip_code.gfd.diff?r1=1.4&r2=1.5
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFForm.py.diff?r1=1.20&r2=1.21
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFObjects.py.diff?r1=1.20&r2=1.21
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/UIbase.py.diff?r1=1.7&r2=1.8
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/UIwxpython.py.diff?r1=1.13&r2=1.14

Patches:
Index: gnue/gnuef/acinclude.m4
diff -u gnue/gnuef/acinclude.m4:1.1 gnue/gnuef/acinclude.m4:1.2
--- gnue/gnuef/acinclude.m4:1.1 Tue Oct 17 17:33:10 2000
+++ gnue/gnuef/acinclude.m4     Thu Oct 19 22:56:51 2000
@@ -44,7 +44,6 @@
 
   AC_SUBST(PYTHON_PREFIX)
   PYTHON_PREFIX='${prefix}'
-
   AC_SUBST(PYTHON_EXEC_PREFIX)
   PYTHON_EXEC_PREFIX='${exec_prefix}'
 
Index: gnue/gnuef/samples/zipcode/pg_zip_code.sql
diff -u gnue/gnuef/samples/zipcode/pg_zip_code.sql:1.1 
gnue/gnuef/samples/zipcode/pg_zip_code.sql:1.2
--- gnue/gnuef/samples/zipcode/pg_zip_code.sql:1.1      Sat Oct  7 17:03:41 2000
+++ gnue/gnuef/samples/zipcode/pg_zip_code.sql  Thu Oct 19 22:56:51 2000
@@ -4,3 +4,11 @@
   city varchar(30),
   state char(2)
 );
+
+create table states
+(
+  state char(2),
+  description varchar(30)
+);
+
+
Index: gnue/gnuef/samples/zipcode/zip_code.gfd
diff -u gnue/gnuef/samples/zipcode/zip_code.gfd:1.4 
gnue/gnuef/samples/zipcode/zip_code.gfd:1.5
--- gnue/gnuef/samples/zipcode/zip_code.gfd:1.4 Wed Oct 11 18:57:06 2000
+++ gnue/gnuef/samples/zipcode/zip_code.gfd     Thu Oct 19 22:56:51 2000
@@ -12,6 +12,7 @@
   <datasource name="zips" database="gnue" table="zip_code" cache="5"/> 
   <datasource name="citylist" database="gnue" table="zip_code" cache="5"/>
 
+
   <page>
     <block name="zip" datasource="zips">
       <label text="Zip Code" x="5" y="10"/>
Index: gnue/gnuef/src/GFForm.py
diff -u gnue/gnuef/src/GFForm.py:1.20 gnue/gnuef/src/GFForm.py:1.21
--- gnue/gnuef/src/GFForm.py:1.20       Thu Oct 19 16:17:48 2000
+++ gnue/gnuef/src/GFForm.py    Thu Oct 19 22:56:51 2000
@@ -25,7 +25,7 @@
     GFEventAware.__init__(self)
     self.type = "GFForm"
     self.currentObject = [self]
-    self.mode = 'normal'
+#    self.mode = 'normal'
 
     # Event processing
     self.incommingEvent = {'requestNEXTENTRY'  : self.nextEntry,
@@ -184,10 +184,11 @@
   # objects.
   #
   def nextRecord(self, event):
+    self.dispatchEvent(GFEvent('uiNEXTRECORD',self.currentEntry))
     self.dispatchEvent(GFEvent('nextRECORD',self.currentBlock))
-    # make ui respond to these fool
 
   def prevRecord(self, event):
+    self.dispatchEvent(GFEvent('uiPREVRECORD',self.currentEntry))
     self.dispatchEvent(GFEvent('prevRECORD',self.currentBlock))
   
   def newRecord(self, event):
@@ -212,7 +213,8 @@
     self.dispatchEvent(GFEvent('updateENTRY',event.data))
 
   def notifyDetailBlocks(self, event):
-    self.dispatchEvent(GFEvent('updateDETAILBLOCK',event.data))
+#    if self.mode == 'normal':
+      self.dispatchEvent(GFEvent('updateDETAILBLOCK',event.data))
 
   #
   # nextEntry
@@ -404,6 +406,7 @@
     
     self.currentEntry.setValue(string)
     self.currentEntry.cursorPosition = self.currentEntry.cursorPosition + 1
+    print "Updating entry to %s" %(self.currentEntry.getValue())
     self.dispatchEvent(GFEvent('updateENTRY',self.currentEntry));
 
   #
Index: gnue/gnuef/src/GFObjects.py
diff -u gnue/gnuef/src/GFObjects.py:1.20 gnue/gnuef/src/GFObjects.py:1.21
--- gnue/gnuef/src/GFObjects.py:1.20    Thu Oct 19 16:10:23 2000
+++ gnue/gnuef/src/GFObjects.py Thu Oct 19 22:56:51 2000
@@ -226,14 +226,14 @@
           if fieldValue:
             print "Master Field value is %s" % (fieldValue)
 
-          ## clear the link
-          self.dataSourceLink.clear()
-          self.dataSourceLink.setField(0,self.masterField,fieldValue)
-          self.dataSourceLink.query()
+        ## clear the link
+        self.dataSourceLink.clear()
+        self.dataSourceLink.setField(0,self.masterField,fieldValue)
+        self.dataSourceLink.query()
         
-          self.recordCount = 
self.form.datasourceDictionary[self.datasource].getLastRecordNumber()
-          self.dispatchEvent(GFEvent('switchRECORD',[-1,0]));
-          self.currentRecord = 0
+        self.recordCount = 
self.form.datasourceDictionary[self.datasource].getLastRecordNumber()
+        self.dispatchEvent(GFEvent('switchRECORD',[-1,0]));
+        self.currentRecord = 0
   #
   # Adds a record to the current records in memory
   #
@@ -262,6 +262,7 @@
       if self.currentRecord > self.recordCount : self.currentRecord = 0
         
       
self.dispatchEvent(GFEvent('switchRECORD',[oldRecord,self.currentRecord]));
+      print ""
       
   #
   # recordSwitched
@@ -269,7 +270,8 @@
   def recordSwitched(self, event):
     if GFOptions.DEBUG:
       print event.data, " just switched records"
-    self.dispatchEvent(GFEvent('notifyMASTERSWITCH',self))
+    if self.mode == 'normal':
+      self.dispatchEvent(GFEvent('notifyMASTERSWITCH',self))
     self.dispatchEvent(GFEvent('recordSWITCHED',event.data))
 
   def processCommit(self, event):
@@ -291,24 +293,24 @@
   def processQuery(self, event):
     if event.data == self:
       if event.getEvent() == 'initQUERY':
+        if self.mode != 'query':
+          self.mode = 'query'
+        else:
+          self.mode = 'normal'
         # need to add:  check the current data is saved
         self.dataSourceLink.clear()
         self.recordCount = 
self.form.datasourceDictionary[self.datasource].getLastRecordNumber()
         self.currentRecord = self.recordCount
         self.dispatchEvent(GFEvent('switchRECORD',[-1,0]));
-        if self.mode != 'query':
-          self.mode = 'query'
-        else:
-          self.mode = 'normal'
         
       elif event.getEvent() == 'processQUERY':
         if self.mode == 'query':
+          self.mode = 'normal'
           self.dispatchEvent(GFEvent('switchRECORD',[0,0]));
           self.dataSourceLink.query()
           self.recordCount = 
self.form.datasourceDictionary[self.datasource].getLastRecordNumber()
           self.dispatchEvent(GFEvent('switchRECORD',[-1,0]));
           self.currentRecord = 0
-          self.mode = 'normal'
                                 
 
 #
@@ -365,6 +367,7 @@
     if not self.value:
       self.value = ""
     self.cursorPosition = len(self.value)
+    self.dispatchEvent(GFEvent('uiNEXTRECORD',self))
     self.dispatchEvent(GFEvent('recordSWITCHED',self));
 
 
Index: gnue/gnuef/src/UIbase.py
diff -u gnue/gnuef/src/UIbase.py:1.7 gnue/gnuef/src/UIbase.py:1.8
--- gnue/gnuef/src/UIbase.py:1.7        Thu Oct 19 16:17:48 2000
+++ gnue/gnuef/src/UIbase.py    Thu Oct 19 22:56:51 2000
@@ -96,7 +96,7 @@
       #print "WWWidget: ", newWidget
       #for singleWidget in widget:
       #  self.formToUI[self.currentObject[0]] = singleWidget
-      self.formToUI[self.currentObject[0]] = [widget,len(widget)]
+      self.formToUI[self.currentObject[0]] = [widget,0]
 
       # If the current object is a container then add the
       # just created first created widget to it's widget list
Index: gnue/gnuef/src/UIwxpython.py
diff -u gnue/gnuef/src/UIwxpython.py:1.13 gnue/gnuef/src/UIwxpython.py:1.14
--- gnue/gnuef/src/UIwxpython.py:1.13   Thu Oct 19 16:17:48 2000
+++ gnue/gnuef/src/UIwxpython.py        Thu Oct 19 22:56:51 2000
@@ -63,13 +63,14 @@
                       WXK_F12:    GFEvent('requestNEWRECORD') 
                      }
 
-    self.incommingEvent = {'gotoENTRY'  : self.switchFocus,
-                           'updateENTRY': self.updateEntry,
-                           'gotoPAGE'   : self.gotoPage
+    self.incommingEvent = {'gotoENTRY'    : self.switchFocus,
+                           'updateENTRY'  : self.updateEntry,
+                           'gotoPAGE'     : self.gotoPage,
+                           'uiNEXTRECORD' : self.adjustMultiView,
+                           'uiPREVRECORD' : self.adjustMultiView
                           }
 
-    self.activeIndex = 0
-    
+    # self.activeIndex = 0
 
     # Create the UI from the GFForm passed in
     self.buildUI()
@@ -101,18 +102,86 @@
   #
   # Methods called to deal with incomming events
   #
+  def adjustMultiView(self, event):
+    block = event.data.block.form.currentBlock
+
+    if event.getEvent() == 'uiPREVRECORD':
+      adjustment = -1
+    else:
+      adjustment = 1
+
+    # Need to figure out what the currentRecord is
+    # about to switch to. It hasn't yet.
+    currentRecord = block.currentRecord + adjustment
+    if currentRecord < 0 : currentRecord = block.recordCount
+    if currentRecord > block.recordCount : currentRecord = 0
+    
+    for entry in block.entryList:
+      
+      index = self.formToUI[entry][1] 
+      index = index + adjustment
+
+      if index < 0 : index = 0
+      
+      if index >= entry.visibleCount :
+        index = entry.visibleCount -1
+
+      lowestVisible = currentRecord - index
+      if lowestVisible < 0 : lowestVisible = 0
+
+      if lowestVisible + index > block.recordCount:
+        index = index -1
+  
+      if currentRecord == 0:
+        index = 0
+
+      self.formToUI[entry][1] = index
+
+      print "adjusted active index ", self.formToUI[entry][1]
+      
   def switchFocus(self, event):
+    index = self.formToUI[event.data][1]
     print self.formToUI[event.data]
-    self.formToUI[event.data][self.activeIndex][0].SetFocus()
+    self.formToUI[event.data][0][index].SetFocus()
 
   def updateEntry(self,event):
-    
self.formToUI[event.data][self.activeIndex][0].SetValue(event.data.getValue())
-    
self.formToUI[event.data][self.activeIndex][0].SetInsertionPoint(event.data.cursorPosition)
+#    
self.formToUI[event.data][0][self.activeIndex].SetValue(event.data.getValue())
+#    
self.formToUI[event.data][0][self.activeIndex].SetInsertionPoint(event.data.cursorPosition)
+
+    index = self.formToUI[event.data][1]
+    
+    block = event.data.block.form.currentBlock
+    currentRecord = block.currentRecord
+
+    # fill currently indexed spot
+    print "Filling index ", index
+    self.formToUI[event.data][0][index].SetValue(event.data.getValue())
+    
self.formToUI[event.data][0][index].SetInsertionPoint(event.data.cursorPosition)
+    
 
+    # Fill the prior spots 
+    for count in range(index):
+      
self.formToUI[event.data][0][index-count].SetValue(block.dataSourceLink.getField(currentRecord-count,event.data.field))
+
+    print "Record Count: ",block.recordCount
+    print "CurrentRecord: ",currentRecord
+    for count in range(index+1,int(event.data.visibleCount)):
+      print "Filler index ", count , " current record ", currentRecord+count
+      if count > block.recordCount:
+        value = ""
+      else:
+        value = 
block.dataSourceLink.getField(currentRecord+count,event.data.field)
+        
+      self.formToUI[event.data][0][count].SetValue(value)
+
+        
+        
+    
   def gotoPage(self, event):
+    index = self.formToUI[event.data][1]
     self.visiblePage.Show(FALSE)
-    self.formToUI[event.data][self.activeIndex][0].Show(TRUE)
-    self.visiblePage = self.formToUI[event.data][self.activeIndex][0]
+    self.formToUI[event.data][0][index].Show(TRUE)
+    self.visiblePage = self.formToUI[event.data][0][index]
     self.visiblePage.Show(TRUE)
     
   #
@@ -178,10 +247,12 @@
       except:
         pass
 
-    if object.__dict__.has_key('visibleCount'):
-      count = int(object.visibleCount)
-    else:
-      count = 1
+    if not object.__dict__.has_key('visibleCount'):
+    #  count = int(object.visibleCount)
+    #else:
+      object.visibleCount = 1
+      
+    count = int(object.visibleCount)
 
 
     for spacer in range(count):



reply via email to

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