[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/gnuef TODO configure.in samples/Makefile.a...
From: |
James Thompson |
Subject: |
gnue/gnuef TODO configure.in samples/Makefile.a... |
Date: |
Sat, 07 Oct 2000 15:12:01 -0700 |
CVSROOT: /cvs
Module name: gnue
Changes by: James Thompson <address@hidden> 00/10/07 15:11:59
Modified files:
gnuef : TODO configure.in
gnuef/samples : Makefile.am contact.gfd zip_code.gfd
gnuef/src : DBpostgresql.py GFForm.py GFObjects.py
GFParser.py UIwxpython.py
Added files:
gnuef/samples/po: Makefile.am sc_po_entry.gfd sc_po_entry2.gfd
gnuef/samples/zipcode: Makefile.am zip_code.gfd
Log message:
Moved samples to own dirs
Insert, query (with sql wildcards), update all functional
Added F8 = Init query, F9 = execute query, F6 = commit to UIwxpython
CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/TODO.diff?r1=1.4&r2=1.5
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/configure.in.diff?r1=1.2&r2=1.3
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/Makefile.am.diff?r1=1.1&r2=1.2
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/contact.gfd.diff?r1=1.8&r2=1.9
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/zip_code.gfd.diff?r1=1.1&r2=1.2
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/po/Makefile.am.diff?r1=NONE&r2=1.1
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/po/sc_po_entry.gfd.diff?r1=NONE&r2=1.1
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/po/sc_po_entry2.gfd.diff?r1=NONE&r2=1.1
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/zipcode/Makefile.am.diff?r1=NONE&r2=1.1
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/samples/zipcode/zip_code.gfd.diff?r1=NONE&r2=1.1
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/DBpostgresql.py.diff?r1=1.1&r2=1.2
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFForm.py.diff?r1=1.14&r2=1.15
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFObjects.py.diff?r1=1.10&r2=1.11
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFParser.py.diff?r1=1.4&r2=1.5
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/UIwxpython.py.diff?r1=1.7&r2=1.8
Patches:
Index: gnue/gnuef/TODO
diff -u gnue/gnuef/TODO:1.4 gnue/gnuef/TODO:1.5
--- gnue/gnuef/TODO:1.4 Tue Sep 19 18:34:39 2000
+++ gnue/gnuef/TODO Sat Oct 7 15:11:58 2000
@@ -32,6 +32,24 @@
Create GNUE Forms: Designer the screen painter (you poor bastard)
+ Autocreate a datasource for block that don't specify one
+
+ Make GFDataSource verify that all records in memory are saved
+ prior to clearing and new queries
+
+ Clean up code to provide better seperation of Objects in the Data system
+
+ Make modification of data lock the record in the backend
+
+ Transaction support
+
+ Create UI/Form event interactions for
+ login
+ progress info dialogs
+ sending info like current record count/status to UI
+
+
+
Index: gnue/gnuef/configure.in
diff -u gnue/gnuef/configure.in:1.2 gnue/gnuef/configure.in:1.3
--- gnue/gnuef/configure.in:1.2 Fri Sep 22 20:16:51 2000
+++ gnue/gnuef/configure.in Sat Oct 7 15:11:58 2000
@@ -28,6 +28,8 @@
doc/Makefile \
old/Makefile \
samples/Makefile \
+ samples/zipcode/Makefile \
+ samples/po/Makefile \
src/Makefile
)
Index: gnue/gnuef/samples/Makefile.am
diff -u gnue/gnuef/samples/Makefile.am:1.1 gnue/gnuef/samples/Makefile.am:1.2
--- gnue/gnuef/samples/Makefile.am:1.1 Thu Sep 21 16:52:50 2000
+++ gnue/gnuef/samples/Makefile.am Sat Oct 7 15:11:59 2000
@@ -6,3 +6,4 @@
MAINTAINERCLEANFILES = \
Makefile.in
+SUBDIRS = zipcode po
\ No newline at end of file
Index: gnue/gnuef/samples/contact.gfd
diff -u gnue/gnuef/samples/contact.gfd:1.8 gnue/gnuef/samples/contact.gfd:1.9
--- gnue/gnuef/samples/contact.gfd:1.8 Fri Oct 6 19:02:01 2000
+++ gnue/gnuef/samples/contact.gfd Sat Oct 7 15:11:59 2000
@@ -8,6 +8,8 @@
<width>500</width>
</options>
+ <datasource name="" database="gnue" table="zip_code" cache="5"/>
+
<page>
<block dbName="test" tableName="country">
<label text="General" x="5" y="1"/>
Index: gnue/gnuef/samples/zip_code.gfd
diff -u gnue/gnuef/samples/zip_code.gfd:1.1 gnue/gnuef/samples/zip_code.gfd:1.2
--- gnue/gnuef/samples/zip_code.gfd:1.1 Fri Oct 6 19:02:01 2000
+++ gnue/gnuef/samples/zip_code.gfd Sat Oct 7 15:11:59 2000
@@ -11,6 +11,7 @@
<database name="gnue" provider="postgresql" dbname="gnue" host="gnue"/>
<datasource name="zips" database="gnue" table="zip_code" cache="5"/>
+ <datasource name="scratchpad" />
<page>
<block name="zip" datasource="zips">
Index: gnue/gnuef/src/DBpostgresql.py
diff -u gnue/gnuef/src/DBpostgresql.py:1.1 gnue/gnuef/src/DBpostgresql.py:1.2
--- gnue/gnuef/src/DBpostgresql.py:1.1 Fri Oct 6 19:02:01 2000
+++ gnue/gnuef/src/DBpostgresql.py Sat Oct 7 15:11:59 2000
@@ -32,7 +32,8 @@
self.connection.close()
def commit(self):
- self.connection.commit()
+ #self.connection.commit()
+ pass
def rollback(self):
self.connection.rollback()
@@ -50,6 +51,8 @@
mask = self.connection.update(table,mask)
def query(self,table,mask):
+ print "database received this mask"
+ print mask
command = self.constructSQL('query',table, mask)
resultset = self.connection.query(command).dictresult()
return resultset
@@ -60,25 +63,31 @@
def getResults(self):
return resultset
- def constructSQL(self, type, table, mask = None):
+ def constructSQL(self, style, table, mask = None):
sql = None
fields = None
qualifier = None
+
+ print "constructSQL here and I got a "
+ print mask
- if type == 'query':
+ if style == 'query':
action = "SELECT "
location = "FROM %s " % (table)
-
- fields = " oid AS oid_%s, %s " % (table, mask == [] and
string.join(mask.keys(), ',') or '*')
+ fields = " oid AS oid_%s, * " % (table)
+
+ # is this a better way
+ #fields = " oid AS oid_%s, %s " % (table, type(mask) == type({}) and
string.join(mask.keys(), ',') or '*')
- if mask == []:
+ if type(mask) == type({}):
+ fields = " oid AS oid_%s, %s " % (table, string.join(mask.keys(), ','))
for fieldname in mask.keys():
- if mask[fieldname] != None:
+ if mask[fieldname] != None and len(mask[fieldname]):
if qualifier == None:
qualifier = "WHERE %s LIKE '%s'" % (fieldname,mask[fieldname])
else:
- qualifier = "%s AND %s LIKE %s" % (qualifier,
fieldname,mask[fieldname])
-
+ qualifier = "%s AND %s LIKE '%s'" % (qualifier,
fieldname,mask[fieldname])
+
sql = action + fields + location + (qualifier and qualifier or "")
else:
Index: gnue/gnuef/src/GFForm.py
diff -u gnue/gnuef/src/GFForm.py:1.14 gnue/gnuef/src/GFForm.py:1.15
--- gnue/gnuef/src/GFForm.py:1.14 Fri Oct 6 19:02:01 2000
+++ gnue/gnuef/src/GFForm.py Sat Oct 7 15:11:59 2000
@@ -46,9 +46,9 @@
'requestNEWRECORD' : self.newRecord,
- 'requestQUERY' : self.processQuery,
- 'cancelQUERY' : self.processQuery,
- 'executeQUERY' : self.processQuery,
+ 'requestQUERY' : self.requestQuery,
+ 'executeQUERY' : self.executeQuery,
+ 'requestCOMMIT' : self.executeCommit,
'recordSWITCHED' : self.recordSwitched,
@@ -123,8 +123,9 @@
def initEntries(self, object):
if object.getObjectType() == 'GFEntry':
- object.value = object.block.dataSource.getField(0,object.field)
-
+ object.initialize()
+ object.value = object.block.dataSourceLink.getField(0,object.field)
+
def initDatabaseObjects(self, object):
if object.getObjectType() =='GFDataSource':
self.datasourceDictionary[object.name]=object
@@ -168,16 +169,23 @@
# objects. Will eventually do more
#
def nextRecord(self, event):
- print "Form next record received"
self.dispatchEvent(GFEvent('nextRECORD',self.currentBlock))
def prevRecord(self, event):
- print "Form prev record received"
self.dispatchEvent(GFEvent('prevRECORD',self.currentBlock))
def newRecord(self, event):
self.dispatchEvent(GFEvent('newRECORD',self.currentBlock))
+ def requestQuery(self, event):
+ self.dispatchEvent(GFEvent('initQUERY',self.currentBlock))
+
+ def executeQuery(self, event):
+ self.dispatchEvent(GFEvent('processQUERY',self.currentBlock))
+
+ def executeCommit(self, event):
+ self.dispatchEvent(GFEvent('processCOMMIT',self.currentBlock))
+
#
# nextEntry
#
@@ -402,23 +410,6 @@
#
def recordSwitched(self, event):
self.dispatchEvent(GFEvent('updateENTRY',event.data))
-
- #
- # processQuery
- #
- def processQuery(self, event):
- if event.getEvent() == 'requestQUERY':
- if self.mode != 'query':
- self.mode = 'query'
- # check the current data is saved
- else:
- self.mode = 'normal'
-
- #clear the current datasource
-
- elif event.getEvent() == 'processQUERY':
- # to be done
- pass
#
# requireLogin
@@ -437,6 +428,22 @@
pass
+## #
+## # processQuery
+## #
+## def processQuery(self, event):
+## if event.getEvent() == 'requestQUERY':
+## if self.mode != 'query':
+## self.mode = 'query'
+## # check the current data is saved
+## else:
+## self.mode = 'normal'
+
+## #clear the current datasource
+
+## elif event.getEvent() == 'processQUERY':
+## # to be done
+## pass
Index: gnue/gnuef/src/GFObjects.py
diff -u gnue/gnuef/src/GFObjects.py:1.10 gnue/gnuef/src/GFObjects.py:1.11
--- gnue/gnuef/src/GFObjects.py:1.10 Fri Oct 6 19:02:01 2000
+++ gnue/gnuef/src/GFObjects.py Sat Oct 7 15:11:59 2000
@@ -36,6 +36,10 @@
def addChild(self, child):
self.children.append(child)
+# def initialize(self):
+# for child in self.children
+# child.initialize()
+
#
# Attributes
#
@@ -53,15 +57,6 @@
if self.children:
for child in self.children:
child.walk(function)
-
- #
- # debugging
- #
- def printObject(self,object):
- try :
- print object
- except:
- pass
#
# GFValue
@@ -102,128 +97,8 @@
GFValue.setValue(self,value)
-#
-# Data Access
-#
#
-#GFDataSource
-#
-# In memory store of data manipulated by forms
-#
-class GFDataSource(GFObj):
- def __init__(self, parent=None):
- GFObj.__init__(self, parent)
- self.type = "GFDataSource"
- self.emptyRecord = {}
- self.resultSet = []
- self.dataConnection = None
- self.form = None
-
- self.form = parent
- while (self.form.getObjectType() != 'GFForm'):
- self.form = self.form.parent
-
-
- def initialize(self):
- if GFOptions.DEBUG:
- print "Initializing datasource %s" % (self.name)
- #get the connection to database
- self.dataConnection = self.form.databaseDictionary[self.database]
-
- # Build an empty record for new records and query mask seed
- for field in self.dataConnection.getFieldList(self.table).keys():
- self.emptyRecord[field] = ""
-
- # Set an initial empty record
- self.resultSet = []
- newentry = {}
- for key in self.emptyRecord.keys():
- newentry[key] = self.emptyRecord[key]
- self.resultSet.append(newentry)
-
- # just for the heck of it
- self.query()
-
- #
- #
- #
- def getLastRecordNumber(self):
- return len(self.resultSet)-1
-
- def query(self,mask=None):
- self.resultSet = self.dataConnection.query(self.table,mask)
-
- def commit(self):
- # go thru records
- # see which have been altered
- # pass those back for update/insert
- # commit changes
- pass
-
- def rollback(self):
- resultSet = []
- pass
-
- def new(self):
- newentry = {}
- for key in self.emptyRecord.keys():
- newentry[key] = self.emptyRecord[key]
- self.resultSet.append(newentry)
-
- print self.resultSet
-
- def getField(self,recordNumber,fieldName):
- return self.resultSet[recordNumber][fieldName]
-
- def setField(self,recordNumber,fieldName,value):
- self.resultSet[recordNumber][fieldName] = value
- #lock that record in the datasource
-
- pass
-#
-# GFDatabase
-#
-# The connection to a specific chunk of data
-#
-class GFDatabase(GFObj):
- def __init__(self, parent=None):
- GFObj.__init__(self, parent)
- self.type = "GFDatabase"
-
- def initialize(self,user,passwd):
- if self.provider == "postgresql":
- from DBpostgresql import DBpostgresql
- self.link = DBpostgresql()
- self.link.connect(self.host,self.dbname,user,passwd)
-
- def query(self, table, mask):
- results = self.link.query(table,mask)
- return results
-
- def update(self, table, mask):
- results = self.link.update(table,mask)
- return results
-
- def insert(self, table, mask):
- results = self.link.insert(table,mask)
- return results
-
- def delete(self, table, mask):
- self.link.insert(table,mask)
-
- def getFieldList(self,table):
- return self.link.getFieldList(table)
-
-
-#
-#
-# More complex objects below
-#
-#
-
-
-#
# GFBlock
#
# This object handles events from GFEntry widgets but doesn't
@@ -237,7 +112,8 @@
GFEventAware.__init__(self)
self.type = "GFBlock"
- self.dataSource = None
+ self.dataSourceLink = None
+ self.mode = 'normal'
self.currentRecord = 0
self.recordCount = 0
@@ -246,7 +122,10 @@
self.incommingEvent = {'newRECORD' : self.newRecord,
'nextRECORD' : self.switchRecord,
'prevRECORD' : self.switchRecord,
- 'recordSWITCHED': self.recordSwitched
+ 'recordSWITCHED': self.recordSwitched,
+ 'initQUERY' : self.processQuery,
+ 'processQUERY' : self.processQuery,
+ 'processCOMMIT' : self.processCommit
}
# register to recieve events from it's parent GFForm
@@ -259,17 +138,17 @@
self.registerEventListener(self.form.processEvent)
def initialize(self):
- self.dataSource = self.form.datasourceDictionary[self.datasource]
+ self.dataSourceLink = self.form.datasourceDictionary[self.datasource]
self.recordCount =
self.form.datasourceDictionary[self.datasource].getLastRecordNumber()
+# GFObj.initialize()
#
- # Adds a black record to the current records in memory
+ # Adds a record to the current records in memory
#
def newRecord(self, event):
if event.data == self:
+ self.dataSourceLink.new()
self.recordCount =
self.form.datasourceDictionary[self.datasource].getLastRecordNumber()
-
- self.dataSource.new()
oldRecord = self.currentRecord
self.currentRecord = self.recordCount
self.dispatchEvent(GFEvent('switchRECORD',[oldRecord,self.currentRecord]));
@@ -291,7 +170,6 @@
if self.currentRecord > self.recordCount : self.currentRecord = 0
self.dispatchEvent(GFEvent('switchRECORD',[oldRecord,self.currentRecord]));
-
#
# recordSwitched
@@ -301,6 +179,39 @@
print event.data, " just switched records"
self.dispatchEvent(GFEvent('recordSWITCHED',event.data))
+ def processCommit(self, event):
+ if GFOptions.DEBUG:
+ print "processing commit"
+
self.dispatchEvent(GFEvent('switchRECORD',[self.currentRecord,self.currentRecord]));
+ self.dataSourceLink.commit()
+
+ #
+ # processQuery
+ #
+ def processQuery(self, event):
+ if event.getEvent() == 'initQUERY':
+ # 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':
+ print "Start Query"
+ self.mode = 'query'
+ else:
+ print "Abort Query"
+ self.mode = 'normal'
+
+ elif event.getEvent() == 'processQUERY':
+ if self.mode == 'query':
+ 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'
+
+
#
# GFEntry
#
@@ -334,6 +245,10 @@
#register the block to recieve events from the entry
self.registerEventListener(self.block.processEvent)
+
+ def initialize(self):
+ self.block.dataSourceLink.addField(self.field)
+# GFObj.initialize()
#
# switchRecord
@@ -343,13 +258,187 @@
def switchRecord(self, event):
print "Switching to record %s from record %s" % (event.data[1] ,
event.data[0])
-
- self.block.dataSource.setField(event.data[0],self.field,self.value)
- self.value = self.block.dataSource.getField(event.data[1],self.field)
- #self.value = self.valueArray[event.data]
+ if event.data[0] >= 0:
+ self.block.dataSourceLink.setField(event.data[0],self.field,self.value)
+
+ self.value = self.block.dataSourceLink.getField(event.data[1],self.field)
self.cursorPosition = len(self.value)
self.dispatchEvent(GFEvent('recordSWITCHED',self));
+
+#
+# Data Access
+#
+
+#
+#GFDataSource
+#
+# In memory store of data manipulated by forms
+# sometimes attached to a database, sometimes not
+#
+class GFDataSource(GFObj):
+ def __init__(self, parent=None):
+ GFObj.__init__(self, parent)
+ self.type = "GFDataSource"
+
+ self.form = None
+ self.dataConnection = None
+ self.fieldList = []
+
+ self.emptyRecord = {}
+ self.resultSet = []
+ self.resultSetStatus = []
+
+ self.form = parent
+ while (self.form.getObjectType() != 'GFForm'):
+ self.form = self.form.parent
+
+
+ def initialize(self):
+ if GFOptions.DEBUG:
+ print "Initializing datasource %s" % (self.name)
+# self.resultSet = []
+ self.emptyRecord = {}
+
+ if self.__dict__.has_key('database'):
+ if GFOptions.DEBUG:
+ print " linking to database %s" % (self.database)
+
+ self.dataConnection = self.form.databaseDictionary[self.database]
+ self.fieldList = self.dataConnection.getFieldList(self.table).keys()
+
+ # Build an empty record for new records and query mask seed
+ for field in self.fieldList:
+ self.emptyRecord[field] = ""
+
+ self.clear()
+
+ # just for the heck of it
+ # self.query()
+
+ def clear(self):
+ self.resultSet = []
+ self.resultSetStatus = []
+
+ # Copy initial empty record into the resultSet
+ newentry = {}
+ for key in self.emptyRecord.keys():
+ newentry[key] = self.emptyRecord[key]
+ self.resultSet.append(newentry)
+ self.resultSetStatus.append('saved')
+
+ def rollback(self):
+ self.clear()
+
+ def getLastRecordNumber(self):
+ return len(self.resultSet)-1
+
+ def query(self):
+ print "Query with this in resultSet"
+ print self.resultSet[0]
+ if self.__dict__.has_key('database'):
+ mask = {}
+ for key in self.fieldList:
+ if key in self.dataConnection.getFieldList(self.table).keys():
+ mask[key]=self.resultSet[0][key]
+
+ self.clear()
+ self.resultSet = self.dataConnection.query(self.table, len(mask) and
mask or None)
+ for count in range(len(self.resultSet)):
+ self.resultSetStatus.append('saved')
+
+ for fieldName in self.emptyRecord.keys():
+ if not self.resultSet[0].has_key(fieldName):
+ for count in range(len(self.resultSet)):
+ self.resultSet[fieldName] = ""
+
+ def commit(self):
+ if self.__dict__.has_key('database'):
+ for count in range(len(self.resultSet)):
+ print "record %s is %s " % (count, self.resultSetStatus[count])
+ print self.resultSet[count]
+ mask = {}
+ for key in self.resultSet[count].keys():
+ print key
+ if key in self.dataConnection.getFieldList(self.table).keys() or \
+ key == "oid_%s" % (self.table):
+ mask[key]=self.resultSet[count][key]
+
+ print "will be passing"
+ print mask
+
+ if self.resultSetStatus[count] == 'modified':
+ if self.resultSet[count].has_key("oid_%s" % (self.table)):
+ print "updating the record"
+ self.dataConnection.update(self.table,mask)
+ else:
+ print "Inserting the record"
+ self.dataConnection.insert(self.table,mask)
+ self.dataConnection.commit()
+
+ def new(self):
+ newentry = {}
+ for key in self.emptyRecord.keys():
+ newentry[key] = self.emptyRecord[key]
+ self.resultSet.append(newentry)
+ self.resultSetStatus.append('saved')
+
+ def getField(self,recordNumber,fieldName):
+ return self.resultSet[recordNumber][fieldName]
+
+ def setField(self,recordNumber,fieldName,value):
+ if self.resultSet[recordNumber][fieldName] != value:
+ self.resultSet[recordNumber][fieldName] = value
+ self.resultSetStatus[recordNumber] = 'modified'
+ #lock that record in the datasource
+
+ def addField(self,fieldName):
+ if not fieldName in self.fieldList:
+ for count in range(len(self.resultSet)):
+ self.resultSet[count][fieldName] = ""
+ self.emptyRecord[fieldName]=""
+ self.fieldList.append(fieldName)
+
+
+#
+# GFDatabase
+#
+# The connection to a specific chunk of data
+#
+class GFDatabase(GFObj):
+ def __init__(self, parent=None):
+ GFObj.__init__(self, parent)
+ self.type = "GFDatabase"
+
+ def initialize(self,user,passwd):
+ if self.provider == "postgresql":
+ from DBpostgresql import DBpostgresql
+ self.link = DBpostgresql()
+ self.link.connect(self.host,self.dbname,user,passwd)
+
+ def query(self, table, mask):
+ print "Datbase mask looks like "
+ print mask
+ results = self.link.query(table,mask)
+ return results
+
+ def commit(self):
+ self.link.commit()
+
+ def update(self, table, mask):
+ results = self.link.update(table,mask)
+ return results
+
+ def insert(self, table, mask):
+ results = self.link.insert(table,mask)
+ return results
+
+ def delete(self, table, mask):
+ self.link.insert(table,mask)
+
+ def getFieldList(self,table):
+ return self.link.getFieldList(table)
+
#
# Unused objects
#
@@ -361,4 +450,6 @@
GFObj.__init__(self, parent)
self.type = "GFDataSet"
+
+
Index: gnue/gnuef/src/GFParser.py
diff -u gnue/gnuef/src/GFParser.py:1.4 gnue/gnuef/src/GFParser.py:1.5
--- gnue/gnuef/src/GFParser.py:1.4 Tue Oct 3 22:04:58 2000
+++ gnue/gnuef/src/GFParser.py Sat Oct 7 15:11:59 2000
@@ -62,7 +62,7 @@
self.widgetParent = wParent
self.contents = ''
self.attrs = attrs
- if GFOptions.DEBUG:
+ if GFOptions.DEBUG > 50:
print "<%s>" % name
def startTag(self, name, attrs):
return None
@@ -71,7 +71,7 @@
def endTag(self, name, child):
pass
def __del__(self):
- if GFOptions.DEBUG:
+ if GFOptions.DEBUG > 50:
print "<%s/>" % self.name
#
# Class representing an element which can contain <option> and <options>
Index: gnue/gnuef/src/UIwxpython.py
diff -u gnue/gnuef/src/UIwxpython.py:1.7 gnue/gnuef/src/UIwxpython.py:1.8
--- gnue/gnuef/src/UIwxpython.py:1.7 Thu Oct 5 22:25:11 2000
+++ gnue/gnuef/src/UIwxpython.py Sat Oct 7 15:11:59 2000
@@ -56,6 +56,9 @@
WXK_UP: GFEvent('requestPREVRECORD'),
WXK_DOWN: GFEvent('requestNEXTRECORD'),
+ WXK_F6: GFEvent('requestCOMMIT'),
+ WXK_F8: GFEvent('requestQUERY'),
+ WXK_F9: GFEvent('executeQUERY'),
WXK_F12: GFEvent('requestNEWRECORD')
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/gnuef TODO configure.in samples/Makefile.a...,
James Thompson <=