[Top][All Lists]
[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,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/gnuef designer/GFDesigner.py src/GFForm.py...,
James Thompson <=