[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/gnuef TODO client/gfclient src/GFForm.py s...
From: |
James Thompson |
Subject: |
gnue/gnuef TODO client/gfclient src/GFForm.py s... |
Date: |
Mon, 18 Dec 2000 16:27:25 -0800 |
CVSROOT: /cvs
Module name: gnue
Changes by: James Thompson <address@hidden> 00/12/18 16:27:24
Modified files:
gnuef : TODO
gnuef/client : gfclient
gnuef/src : GFForm.py GFOptions.py UIpyncurses.py
UIwxpython.py
Log message:
Fixed bug allowing hidden fields to get focus on startup
Fixed _version bug
Updated master field dropdown now updates the detail block as well
Added support for execution of symlink to gfclient loaded similar named
file from a global form directory
Small debug level change
Dropdowns now sorted by description value
CVSWeb URLs:
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/TODO.diff?r1=1.31&r2=1.32
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/client/gfclient.diff?r1=1.8&r2=1.9
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFForm.py.diff?r1=1.54&r2=1.55
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/GFOptions.py.diff?r1=1.11&r2=1.12
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/UIpyncurses.py.diff?r1=1.14&r2=1.15
http://subversions.gnu.org/cgi-bin/cvsweb/gnue/gnuef/src/UIwxpython.py.diff?r1=1.48&r2=1.49
Patches:
Index: gnue/gnuef/TODO
diff -u gnue/gnuef/TODO:1.31 gnue/gnuef/TODO:1.32
--- gnue/gnuef/TODO:1.31 Fri Dec 15 19:32:10 2000
+++ gnue/gnuef/TODO Mon Dec 18 16:27:24 2000
@@ -3,18 +3,14 @@
**MUST HAVES for 0.1.0
** debug master/detail [jamest]
-** curses support up to date [chriss]
** windows support (ODBC?) [jade]
** fix mySQL support [jade]
**Like to haves for 0.1.0
-** clean up named triggers[chriss]
** add GFBox support to UIwxpython
** Add support for more win/gtk like focus system
pgup/pgdown effect page not block
- Database error handling
-
Add layout manager support[perlpoet]
clean up code [everyone working on the code]
@@ -30,21 +26,10 @@
need to add default attrib values support
- Add toolbar support
-
- Make modification of data lock the record in the backend
-
- Transaction support
-
Create UI/Form event interactions for
ability for ui/forms to launch other ui/forms
lookup dialogs
- user extensible menus
-
- menus should disable options not available (maybe)
- might be better to let GFForm send alert
-
Move things like database init in GFForm out of __init__ and
into a initialize routine that is called via some type of
uiINITIALIZED event so that a UI windows can prompt for things
@@ -54,16 +39,28 @@
call the initializes of their children so we can get rid of
more of the self.walk nonsense
- taborder support
+ Data source related
+ Make modification of data lock the record in the backend (if supported)
+
+ Transaction support
- might not work on display's other than :0 (need to test)
+ Database error handling
- Tweaks:
- certain attributes should only apply when in normal mode
- (numeric allowing % during query is a working example)
+ Menu Enhancements
+
+ user extensible menus
+
+ menus should disable options not available via events
+
+ Add toolbar support
+
+ Entry widget enhancements
+
Add support of mouse focus to the charater
+ taborder support
+
Long term:
Create GNUE Forms: Designer the screen painter
@@ -77,6 +74,14 @@
Modular .gfd files
+ Nitpicks & bugs
+ Dropdowns don't allow you to go to next|prev record via up and down arrows
+
+ Rollback on master/detail forms is screwed up
+
+ Inital detail not kept up to date with top record
+ (needs to update upon field update not record switch)
+ might not work on display's other than :0 (need to test)
Index: gnue/gnuef/client/gfclient
diff -u gnue/gnuef/client/gfclient:1.8 gnue/gnuef/client/gfclient:1.9
--- gnue/gnuef/client/gfclient:1.8 Mon Dec 18 11:59:28 2000
+++ gnue/gnuef/client/gfclient Mon Dec 18 16:27:24 2000
@@ -57,9 +57,13 @@
self.formfile = CmdOpt.getArgument(0)
except:
if help : print _usage % (sys.argv[0])
- elif version : print "%s v%s" % (sys.argv[0], _version)
- else: print "No Forms Definition File Specified. Use GFClient -h for
more information."
- sys.exit()
+ elif version : print "%s v%s" % (sys.argv[0], __version__)
+ else:
+ if sys.argv[0] != 'gfclient':
+ self.formfile = GFOptions.FormDir+"/"+sys.argv[0]+".gfd"
+ else:
+ print "No Forms Definition File Specified. Use GFClient -h for more
information."
+ sys.exit()
# get the form file handler
try:
Index: gnue/gnuef/src/GFForm.py
diff -u gnue/gnuef/src/GFForm.py:1.54 gnue/gnuef/src/GFForm.py:1.55
--- gnue/gnuef/src/GFForm.py:1.54 Mon Dec 18 11:59:28 2000
+++ gnue/gnuef/src/GFForm.py Mon Dec 18 16:27:24 2000
@@ -138,7 +138,7 @@
self.currentBlock = object
if object.getObjectType() == 'GFPage' and self.currentPage == None:
self.currentPage = object
- if object.getObjectType() == 'GFEntry' and self.currentEntry == None:
+ if object.getObjectType() == 'GFEntry' and self.currentEntry == None and
not hasattr(object,"hidden"):
self.currentEntry = object
def initBlocks(self, object):
@@ -246,8 +246,7 @@
if block.name == blockname:
for entry in block.entryList:
if entry.name == fieldname:
- if GFDebug:
- print "block %s with field %s found" % (block.name, entry.name)
+ GFDebug.printMesg(2,"block %s with field %s found" % (block.name,
entry.name))
value = entry.value
return value
return None
@@ -288,7 +287,6 @@
def deleteRecord(self, event):
if not hasattr(self,'readonly'):
- print "I'ma gonna deleta something"
self.dispatchEvent(GFEvent('deleteRECORD',self.currentBlock))
self.updateRecordStatus()
else:
@@ -297,9 +295,8 @@
def executeExit(self, event):
for block in self.blockList:
if not block.isSaved():
- message = GFMsgBox(self, GFOptions._msgNOTSAVED)
+ message = GFMsgBox(self, block.name+":"+GFOptions._msgNOTSAVED)
message.show()
- #self.dispatchEvent(GFEvent('formALERT',GFOptions._msgNOTSAVED))
return
else:
self.dispatchEvent(GFEvent('exitApplication','Current data is saved'))
@@ -307,7 +304,8 @@
def requestQuery(self, event):
for block in self.blockList:
if not block.isSaved():
- self.dispatchEvent(GFEvent('formALERT',GFOptions._msgNOTSAVED))
+ message = GFMsgBox(self, block.name+":"+GFOptions._msgNOTSAVED)
+ message.show()
return
self.dispatchEvent(GFEvent('initQUERY',self.currentBlock))
@@ -527,6 +525,10 @@
GFDebug.printMesg(2,"(%s, %s)"%(event.data[0], event.data[1]))
GFDebug.printMesg(2,"Replacing with %s"% replacement)
event.data[0].setValue(replacement)
+
+ # Hack!
+ self.dispatchEvent(GFEvent('updateDETAILBLOCK',self.currentBlock))
+
#
# keyPress
@@ -571,16 +573,20 @@
# charater be removed from the current entry object
#
def removeCharacter(self, event):
- if event.getEvent() == 'requestBACKSPACE':
- if self.currentEntry.cursorPosition > 0:
- self.currentEntry.cursorPosition = self.currentEntry.cursorPosition - 1
- else:
- return
+ if not hasattr(self.currentEntry,'readonly'):
+ if event.getEvent() == 'requestBACKSPACE':
+ if self.currentEntry.cursorPosition > 0:
+ self.currentEntry.cursorPosition = self.currentEntry.cursorPosition
- 1
+ else:
+ return
- currentvalue = self.currentEntry.getValue()
- currentvalue = currentvalue[:self.currentEntry.cursorPosition] + \
- currentvalue[self.currentEntry.cursorPosition+1:]
- self.currentEntry.setValue(currentvalue)
+ currentvalue = self.currentEntry.getValue()
+ currentvalue = currentvalue[:self.currentEntry.cursorPosition] + \
+ currentvalue[self.currentEntry.cursorPosition+1:]
+ self.currentEntry.setValue(currentvalue)
+ else:
+ self.dispatchEvent(GFEvent('formALERT','Field is readonly'))
+
def msgBox(self, event):
Index: gnue/gnuef/src/GFOptions.py
diff -u gnue/gnuef/src/GFOptions.py:1.11 gnue/gnuef/src/GFOptions.py:1.12
--- gnue/gnuef/src/GFOptions.py:1.11 Mon Dec 18 11:59:28 2000
+++ gnue/gnuef/src/GFOptions.py Mon Dec 18 16:27:24 2000
@@ -1,5 +1,8 @@
# Adjust for your install (only used for graphics right now)
prefix="/usr/local/gnue"
+
+FormDir =prefix+"/forms"
+
splashScreenBMP=prefix+"/shared/gnuef-splash.bmp"
smallBMP=prefix+"/shared/gnue.bmp"
Index: gnue/gnuef/src/UIpyncurses.py
diff -u gnue/gnuef/src/UIpyncurses.py:1.14 gnue/gnuef/src/UIpyncurses.py:1.15
--- gnue/gnuef/src/UIpyncurses.py:1.14 Mon Dec 18 11:59:28 2000
+++ gnue/gnuef/src/UIpyncurses.py Mon Dec 18 16:27:24 2000
@@ -241,6 +241,7 @@
values = object.allowedValues()
for key in values.keys():
choices.append(values[key])
+ choices.sort()
field =
self.addChoice(int(object.x),int(object.y)+spacer,int(object.width),
choices,self.newPage, object)
else:
Index: gnue/gnuef/src/UIwxpython.py
diff -u gnue/gnuef/src/UIwxpython.py:1.48 gnue/gnuef/src/UIwxpython.py:1.49
--- gnue/gnuef/src/UIwxpython.py:1.48 Mon Dec 18 11:59:28 2000
+++ gnue/gnuef/src/UIwxpython.py Mon Dec 18 16:27:24 2000
@@ -576,6 +576,7 @@
values = object.allowedValues()
for key in values.keys():
choices.append(values[key])
+ choices.sort()
newWidget = wxComboBox(container, -1, "",
wxPoint(int(object.x)*int(self.widgetWidth),
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/gnuef TODO client/gfclient src/GFForm.py s...,
James Thompson <=