commit-gnue
[Top][All Lists]
Advanced

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

gnue/gnuef samples/zipcode/zip_code.gfd src/GFF...


From: James Thompson
Subject: gnue/gnuef samples/zipcode/zip_code.gfd src/GFF...
Date: Thu, 26 Oct 2000 09:47:00 -0700

CVSROOT:        /cvs
Module name:    gnue
Changes by:     James Thompson <address@hidden> 00/10/26 09:47:00

Modified files:
        gnuef/samples/zipcode: zip_code.gfd 
        gnuef/src      : GFForm.py UIwxpython.py 

Log message:
        Mouse support for multiVisible widget navigation
        Almost usable combobox support

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/zipcode/zip_code.gfd.diff?r1=1.10&r2=1.11
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFForm.py.diff?r1=1.27&r2=1.28
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/UIwxpython.py.diff?r1=1.20&r2=1.21

Patches:
Index: gnue/gnuef/samples/zipcode/zip_code.gfd
diff -u gnue/gnuef/samples/zipcode/zip_code.gfd:1.10 
gnue/gnuef/samples/zipcode/zip_code.gfd:1.11
--- gnue/gnuef/samples/zipcode/zip_code.gfd:1.10        Sun Oct 22 19:36:58 2000
+++ gnue/gnuef/samples/zipcode/zip_code.gfd     Thu Oct 26 09:47:00 2000
@@ -5,7 +5,7 @@
     <title>ZIP Code Maintenance</title>
     <version>0.0.1</version>
     <height>480</height>
-    <width>540</width>
+    <width>575</width>
   </options>
 
   <database name="gnue" provider="postgresql" dbname="gnue" host="gnue"/>
Index: gnue/gnuef/src/GFForm.py
diff -u gnue/gnuef/src/GFForm.py:1.27 gnue/gnuef/src/GFForm.py:1.28
--- gnue/gnuef/src/GFForm.py:1.27       Tue Oct 24 20:22:22 2000
+++ gnue/gnuef/src/GFForm.py    Thu Oct 26 09:47:00 2000
@@ -394,16 +394,19 @@
 
   
   def replaceValue(self,event):
+    replacement = ""
+    object = event.data[0]
+    validValues = object.allowedValues()
     print event.data
-    for key in event.data[0].allowedValues().keys():
-      print key, list[key], event.data[1]
-      if list[key] == event.data[1]:
+    for key in validValues.keys():
+      print key, validValues[key], event.data[1]
+      if validValues[key] == event.data[1]:
         replacement = key
         break
       
     print "Replacing with ", replacement
-    
     event.data[0].setValue(replacement)
+    self.dispatchEvent(GFEvent('updateENTRY',self.currentEntry));
     
   #
   # keyPress
Index: gnue/gnuef/src/UIwxpython.py
diff -u gnue/gnuef/src/UIwxpython.py:1.20 gnue/gnuef/src/UIwxpython.py:1.21
--- gnue/gnuef/src/UIwxpython.py:1.20   Tue Oct 24 20:22:23 2000
+++ gnue/gnuef/src/UIwxpython.py        Thu Oct 26 09:47:00 2000
@@ -147,9 +147,6 @@
     self.formToUI[event.data][0][index].SetFocus()
 
   def updateEntry(self,event):
-#    
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
@@ -221,18 +218,77 @@
       # hack for swig shortcomming 
       eo = event.GetEventObject()
       object = wxPyTypeCast(eo, 'wxWindow')
-      
-      for key in self.formToUI.keys():  # got to be a better way
-        for item in self.formToUI[key]:
-          if item == object.GetId():
+
+      for key in self.formToUI.keys():
+        for count in range(len(self.formToUI[key][0])):
+          if GFOptions.DEBUG:
+            print "uiItem ",self.formToUI[key][0][count].GetId(),"we want ", 
object.GetId()
+          if self.formToUI[key][0][count].GetId() == object.GetId():
+            # Move to proper row
+            if count < self.formToUI[key][1]:
+              event = GFEvent('requestNEXTRECORD')
+            else:
+              event = GFEvent('requestPREVRECORD')
+            oldIndex = self.formToUI[key][1]
+            while (self.formToUI[key][1] != count):
+              self.dispatchEvent(event)
+              if oldIndex == self.formToUI[key][1]:
+                break  # They've clicked on a widget that
+                       # is beyond the currently loaded
+                       # record count
+
+            # Move to proper object
             action = GFEvent('requestFOCUS',key)
+            
+    #
+    # Combo box events
+    #
     elif event.GetEventType() == wxEVT_COMMAND_COMBOBOX_SELECTED:
+      #
+      # Begin duplicate of the mouse handling code to see
+      # if it will allow me proper focus control w/
+      # comboxes
+      #
+      
+      # hack for swig shortcomming 
+      eo = event.GetEventObject()
+      object = wxPyTypeCast(eo, 'wxWindow')
+
+      for key in self.formToUI.keys():
+        for count in range(len(self.formToUI[key][0])):
+          if GFOptions.DEBUG:
+            print "uiItem ",self.formToUI[key][0][count].GetId(),"we want ", 
object.GetId()
+          if self.formToUI[key][0][count].GetId() == object.GetId():
+            # Move to proper row
+            if count < self.formToUI[key][1]:
+              eventAction = GFEvent('requestNEXTRECORD')
+            else:
+              eventAction = GFEvent('requestPREVRECORD')
+            oldIndex = self.formToUI[key][1]
+            while (self.formToUI[key][1] != count):
+              self.dispatchEvent(eventAction)
+              if oldIndex == self.formToUI[key][1]:
+                break  # They've clicked on a widget that
+                       # is beyond the currently loaded
+                       # record count
+
+      #
+      # slightly altered event to call immediate
+      #
+            # Move to proper object
+            self.dispatchEvent(GFEvent('requestFOCUS',key))     
+      #
+      # End duplicate of mouse handling code
+      #
+
       selection = event.GetSelection()
       for key in self.formToUI.keys():
-        for item in self.formToUI[key]:
-          if item == wxPyTypeCast(event.GetEventObject(), 'wxWindow'):
-            eventdata = [item, event.GetString()]
+        for uiItem in self.formToUI[key][0]:
+          if uiItem.GetId() == object.GetId():
+            eventdata = [key, event.GetString()]
             action = GFEvent('requestREPLACEVALUE',eventdata)
+
+
       
     #
     # Unhandled events
@@ -300,7 +356,7 @@
                     wxDefaultPosition, wxSize(int(self.form.width), 
int(self.form.height)))
 
     self.frame.CreateStatusBar();
-    self.frame.SetStatusText( "Welcome to wxWindows!" );
+    self.frame.SetStatusText( "Welcome to GNUe Forms!  Would someone please 
tell us we can stop coding?" );
 
     menu = wxMenu()
     menu.Append( 100, "&About..." )



reply via email to

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