commit-gnue
[Top][All Lists]
Advanced

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

gnue/gnuef designer/GFDesigner.py src/GFForm.py...


From: James Thompson
Subject: gnue/gnuef designer/GFDesigner.py src/GFForm.py...
Date: Tue, 24 Oct 2000 18:46:28 -0700

CVSROOT:        /cvs
Module name:    gnue
Changes by:     James Thompson <address@hidden> 00/10/24 18:46:28

Modified files:
        gnuef/designer : GFDesigner.py 
        gnuef/src      : GFForm.py GFObjects.py UIwxpython.py 

Log message:
        Fixed typecast problem w/ non string values on query/commit
        Misc stuff dealing w/ dropdown box support (still not fully, full on, 
functional)

CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/designer/GFDesigner.py.diff?r1=1.1&r2=1.2
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFForm.py.diff?r1=1.25&r2=1.26
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFObjects.py.diff?r1=1.24&r2=1.25
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/UIwxpython.py.diff?r1=1.18&r2=1.19

Patches:
Index: gnue/gnuef/designer/GFDesigner.py
diff -u gnue/gnuef/designer/GFDesigner.py:1.1 
gnue/gnuef/designer/GFDesigner.py:1.2
--- gnue/gnuef/designer/GFDesigner.py:1.1       Thu Oct 19 20:08:42 2000
+++ gnue/gnuef/designer/GFDesigner.py   Tue Oct 24 18:46:28 2000
@@ -76,6 +76,7 @@
       database.host = raw_input("Host Name of Database Server? [localhost] ")
       database.user = raw_input("User Name? [guest] ")
       database.password = raw_input("Password? [guest] ")
+      database.dbname = raw_input("Database to connect to? []")
       datasource = Datasource()
 #      build_type = raw_input("Which Database Vendor? [PostGRES] ")
 #      host = raw_input("Host Name of Database Server? [localhost] ")
@@ -124,7 +125,7 @@
               x = widget.width
           stack.append(widget)
     else:
-      db = pg.DB("", database.host, -1, None, None, database.user, 
database.password)
+      db = pg.DB(database.dbname, database.host, -1, None, None, 
database.user, database.password)
       avail_db = db.get_databases()
       for dbs in avail_db:
         print "%s - %s" % (str(avail_db.index(dbs)),dbs)
Index: gnue/gnuef/src/GFForm.py
diff -u gnue/gnuef/src/GFForm.py:1.25 gnue/gnuef/src/GFForm.py:1.26
--- gnue/gnuef/src/GFForm.py:1.25       Sun Oct 22 19:36:58 2000
+++ gnue/gnuef/src/GFForm.py    Tue Oct 24 18:46:28 2000
@@ -34,6 +34,7 @@
                            'requestNEXTBLOCK'  : self.nextBlock,
                            'requestPREVBLOCK'  : self.previousBlock,
                            'requestKEYPRESS'   : self.keyPress,
+                           'requestREPLACEVALUE' : self.replaceValue,
                            'requestCURSORLEFT' : self.cursorMove,
                            'requestCURSORRIGHT': self.cursorMove,
                            'requestCURSOREND'  : self.cursorMove,
@@ -389,16 +390,27 @@
       if self.currentEntry.cursorPosition < len(self.currentEntry.value):
         self.currentEntry.cursorPosition= self.currentEntry.cursorPosition + 1
       
-    self.dispatchEvent(GFEvent('updateENTRY',self.currentEntry));              
+    self.dispatchEvent(GFEvent('updateENTRY',self.currentEntry));
 
+  
+  def replaceValue(self,event):
+    print event.data
+    for key in event.data[0].allowedValues().keys():
+      print key, list[key], event.data[1]
+      if list[key] == event.data[1]:
+        replacement = key
+        break
+      
+    print "Replacing with ", replacement
+    
+    event.data[0].setValue(replacement)
+    
   #
   # keyPress
   #
   # Called whenever an event source has requested that a
   # charater be inserted into current entry object
   #
-  # Notes: Insert only at the time :(
-  #
   def keyPress(self, event):
     if GFOptions.DEBUG:
       print "Keypress event", event.data
@@ -461,6 +473,15 @@
     while self.loginInProgress:
       print "We're up dude!"
       pass
+
+
+
+
+
+
+
+
+
 
 
 
Index: gnue/gnuef/src/GFObjects.py
diff -u gnue/gnuef/src/GFObjects.py:1.24 gnue/gnuef/src/GFObjects.py:1.25
--- gnue/gnuef/src/GFObjects.py:1.24    Sun Oct 22 19:36:58 2000
+++ gnue/gnuef/src/GFObjects.py Tue Oct 24 18:46:28 2000
@@ -511,9 +511,15 @@
         if self.resultSet:
           if not self.resultSet[0].has_key(fieldName):
             for count in range(len(self.resultSet)):
-              self.resultSet[fieldName] = ""
+              self.resultSet[count][fieldName] = ""
+              
+      # Reset the internal type to string so things like len() work properly
+      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])
+      
 
-
   def commit(self):
     if self.__dict__.has_key('database'):
       for count in range(len(self.resultSet)):
@@ -553,6 +559,12 @@
       self.dataConnection.commit()
       for count in range(len(self.resultSet)):
         self.resultSetStatus[count] == 'saved'
+
+      # 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])
+                          
 
   def new(self):
     newentry = {}
Index: gnue/gnuef/src/UIwxpython.py
diff -u gnue/gnuef/src/UIwxpython.py:1.18 gnue/gnuef/src/UIwxpython.py:1.19
--- gnue/gnuef/src/UIwxpython.py:1.18   Sun Oct 22 19:36:58 2000
+++ gnue/gnuef/src/UIwxpython.py        Tue Oct 24 18:46:28 2000
@@ -157,10 +157,10 @@
 
     # Fill the prior spots 
     for count in range(index):
-      print "Working on ",count
-      print "filling with record", currentRecord-(index-count)
-      print "total records", block.recordCount
-      print "Value" 
,block.dataSourceLink.getField(currentRecord-(index-count),event.data.field)
+#      print "Working on ",count
+#      print "filling with record", currentRecord-(index-count)
+#      print "total records", block.recordCount
+#      print "Value" 
,block.dataSourceLink.getField(currentRecord-(index-count),event.data.field)
       
self.formToUI[event.data][0][count].SetValue(block.dataSourceLink.getField(currentRecord-(index-count),event.data.field))
 
     # fill currently indexed spot
@@ -223,8 +223,17 @@
       object = wxPyTypeCast(eo, 'wxWindow')
       
       for key in self.formToUI.keys():  # got to be a better way
-        if self.formToUI[key].GetId() == object.GetId():
-          action = GFEvent('requestFOCUS',key)
+        for item in self.formToUI[key]:
+          if item == object.GetId():
+            action = GFEvent('requestFOCUS',key)
+    elif event.GetEventType() == wxEVT_COMMAND_COMBOBOX_SELECTED:
+      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()]
+            action = GFEvent('requestREPLACEVALUE',eventdata)
+      
     #
     # Unhandled events
     #
@@ -330,6 +339,8 @@
                                             (spacer*(int(object.height)/2)))),
                           wxSize(int(object.width),int(object.height)),choices,
                                    wxCB_READONLY)
+        EVT_COMBOBOX(newWidget, newWidget.GetId(), self.uiEventTrap) 
+        EVT_CHAR(newWidget, self.uiEventTrap)
         
       else:
         newWidget = wxTextCtrl(container, -1, object.value,



reply via email to

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