commit-gnue
[Top][All Lists]
Advanced

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

gnue/gnuef TODO samples/zipcode/zip_code.gfd sr...


From: James Thompson
Subject: gnue/gnuef TODO samples/zipcode/zip_code.gfd sr...
Date: Wed, 11 Oct 2000 18:57:06 -0700

CVSROOT:        /cvs
Module name:    gnue
Changes by:     James Thompson <address@hidden> 00/10/11 18:57:06

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

Log message:
        First piece of multientry entry widgets

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/TODO.diff?r1=1.9&r2=1.10
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/zipcode/zip_code.gfd.diff?r1=1.3&r2=1.4
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/UIbase.py.diff?r1=1.5&r2=1.6
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/UIwxpython.py.diff?r1=1.10&r2=1.11

Patches:
Index: gnue/gnuef/TODO
diff -u gnue/gnuef/TODO:1.9 gnue/gnuef/TODO:1.10
--- gnue/gnuef/TODO:1.9 Wed Oct 11 05:22:09 2000
+++ gnue/gnuef/TODO     Wed Oct 11 18:57:05 2000
@@ -59,3 +59,10 @@
   and the UI will display 5 records)
 
   master/detail working
+
+  Moving the focus from entry in one block to a different block does
+  not result in the currentBlock switching to the new block
+ 
+  rewrite the whole friggen braindead focus system to accomidate
+    entries with multiple record visible
+    mouse navigation to different blocks
Index: gnue/gnuef/samples/zipcode/zip_code.gfd
diff -u gnue/gnuef/samples/zipcode/zip_code.gfd:1.3 
gnue/gnuef/samples/zipcode/zip_code.gfd:1.4
--- gnue/gnuef/samples/zipcode/zip_code.gfd:1.3 Wed Oct 11 17:41:04 2000
+++ gnue/gnuef/samples/zipcode/zip_code.gfd     Wed Oct 11 18:57:06 2000
@@ -24,13 +24,13 @@
 
     <block name="cites" datasource="citylist" masterBlock="zip" 
masterField="state">
       <label text="City" x="5" y="80"/>
-      <entry name="city" field="city" x="5" y="90" width="150" height="20"/>
+      <entry name="city" field="city" x="5" y="90" width="150" height="20" 
visibleCount="5"/>
 
       <label text="State" x="65" y="80"/>
-      <entry name="state" field="state" x="65" y="90" width="150" height="20"/>
+      <entry name="state" field="state" x="65" y="90" width="150" height="20" 
visibleCount="5"/>
 
       <label text="Zip" x="125" y="80"/>
-      <entry name="zip" field="zip" x="125" y="90" width="150" height="20"/>
+      <entry name="zip" field="zip" x="125" y="90" width="150" height="20" 
visibleCount="5"/>
     </block>
   </page>
 
Index: gnue/gnuef/src/UIbase.py
diff -u gnue/gnuef/src/UIbase.py:1.5 gnue/gnuef/src/UIbase.py:1.6
--- gnue/gnuef/src/UIbase.py:1.5        Sat Oct  7 22:37:52 2000
+++ gnue/gnuef/src/UIbase.py    Wed Oct 11 18:57:06 2000
@@ -83,11 +83,20 @@
   def buildUI(self):
     try:
       widget = 
self.widgetConstructorFunction[self.currentObject[0].getObjectType()] ()
-      if widget == None:
-        print "WTF: %s" % (self.currentObject[0].getObjectType())
-      self.formToUI[self.currentObject[0]] = widget
-      if self.currentObject[0].getObjectType() in self.containerWidgets:
-        self.currentWidget.insert(0,widget)
+
+      if type(widget) == type ([]):
+        for singleWidget in widget:
+          # This is extremely broken!!!!!!!!!!!
+          # as it dumps all but the very last visible widget
+          # in the set :(
+          
+          self.formToUI[self.currentObject[0]] = singleWidget
+          if self.currentObject[0].getObjectType() in self.containerWidgets:
+            self.currentWidget.insert(0,widget)      
+      else:
+        self.formToUI[self.currentObject[0]] = widget
+        if self.currentObject[0].getObjectType() in self.containerWidgets:
+          self.currentWidget.insert(0,widget)
     except KeyError:
       pass
                                                           
Index: gnue/gnuef/src/UIwxpython.py
diff -u gnue/gnuef/src/UIwxpython.py:1.10 gnue/gnuef/src/UIwxpython.py:1.11
--- gnue/gnuef/src/UIwxpython.py:1.10   Wed Oct 11 05:22:10 2000
+++ gnue/gnuef/src/UIwxpython.py        Wed Oct 11 18:57:06 2000
@@ -35,7 +35,8 @@
                                 wxDefaultSize)""",
                               'GFEntry':
                               """wxTextCtrl(container, -1, object.value,
-                               
wxDLG_PNT(container,wxPoint(int(object.x),int(object.y))),
+                               wxDLG_PNT(container,wxPoint(int(object.x),
+                                                           int(object.y) + 
(spacer*(int(object.height)/2)))),
                                
wxSize(int(object.width),int(object.height)),style=object.style)"""
                              }
     
@@ -157,6 +158,7 @@
   def stdHandler(self):
     object    = self.currentObject[0]
     container = self.currentWidget[0]
+    widget = []
 
     #jamest this is probably wrong way to do but be patient. :)
 
@@ -169,11 +171,23 @@
           setattr(object,'style',wxTE_PASSWORD)
       except:
         pass
-    
-    widget    = eval(self.widgetConstructor[object.getObjectType()])
 
-    EVT_CHAR(widget, self.uiEventTrap)
-    EVT_MOUSE_EVENTS(widget, self.uiEventTrap)
+    if object.__dict__.has_key('visibleCount'):
+      count = int(object.visibleCount)
+    else:
+      count = 1
+
+
+    for spacer in range(count):
+      spacer = int(spacer)
+      print spacer
+      
+      widget.append(eval(self.widgetConstructor[object.getObjectType()]))
+
+    for singleWidget in widget:
+      EVT_CHAR(singleWidget, self.uiEventTrap)
+      EVT_MOUSE_EVENTS(singleWidget, self.uiEventTrap)
+    
     return widget
 
   def pageHandler(self):
@@ -198,6 +212,5 @@
     self.currentWidget = [frame.panel]
     self.SetTopWindow(frame)
     return frame
-
 
 



reply via email to

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