[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/forms/src GFDisplayHandler.py GFEvent.py G...
From: |
Jason Cater |
Subject: |
gnue/forms/src GFDisplayHandler.py GFEvent.py G... |
Date: |
Fri, 15 Feb 2002 22:57:56 -0500 |
CVSROOT: /home/cvs
Module name: gnue
Changes by: Jason Cater <address@hidden> 02/02/15 22:57:56
Modified files:
forms/src : GFDisplayHandler.py GFEvent.py GFForm.py
GFInstance.py GFParser.py GFTrigger.py
UIbase.py UIcurses.py UIwxpython.py
forms/src/GFObjects: GFBlock.py GFEntry.py
Log message:
Implemented a centralized events system
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/GFDisplayHandler.py.diff?cvsroot=OldCVS&tr1=1.3&tr2=1.4&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/GFEvent.py.diff?cvsroot=OldCVS&tr1=1.18&tr2=1.19&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/GFForm.py.diff?cvsroot=OldCVS&tr1=1.147&tr2=1.148&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/GFInstance.py.diff?cvsroot=OldCVS&tr1=1.27&tr2=1.28&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/GFParser.py.diff?cvsroot=OldCVS&tr1=1.62&tr2=1.63&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/GFTrigger.py.diff?cvsroot=OldCVS&tr1=1.53&tr2=1.54&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/UIbase.py.diff?cvsroot=OldCVS&tr1=1.52&tr2=1.53&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/UIcurses.py.diff?cvsroot=OldCVS&tr1=1.14&tr2=1.15&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/UIwxpython.py.diff?cvsroot=OldCVS&tr1=1.137&tr2=1.138&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/GFObjects/GFBlock.py.diff?cvsroot=OldCVS&tr1=1.36&tr2=1.37&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/forms/src/GFObjects/GFEntry.py.diff?cvsroot=OldCVS&tr1=1.41&tr2=1.42&r1=text&r2=text
Patches:
Index: gnue/forms/src/GFDisplayHandler.py
diff -c gnue/forms/src/GFDisplayHandler.py:1.3
gnue/forms/src/GFDisplayHandler.py:1.4
*** gnue/forms/src/GFDisplayHandler.py:1.3 Fri Feb 15 18:59:41 2002
--- gnue/forms/src/GFDisplayHandler.py Fri Feb 15 22:57:55 2002
***************
*** 151,161 ****
#############################################################################
#
- # Handler for Date types
#
! class DateDisplayHandler(FieldDisplayHandler):
def __init__(self, entry, displayMask, inputMask):
! FieldDisplayHandler(entry, DateMask.DateMask(displayMask,
inputMask, displayMask))
--- 151,172 ----
#############################################################################
#
#
! #
! class TextDisplayHandler(FieldDisplayHandler):
! def __init__(self, entry, displayMask, inputMask, formatMask):
! FieldDisplayHandler.__init__(entry, DateMask.DateMask(displayMask,
! inputMask, formatMask))
!
!
!
! #############################################################################
! #
! # Handler for Numeric types
! #
! class NumberDisplayHandler(FieldDisplayHandler):
def __init__(self, entry, displayMask, inputMask):
! FieldDisplayHandler.__init__(entry, DateMask.DateMask(displayMask,
inputMask, displayMask))
***************
*** 163,172 ****
#############################################################################
#
#
! #
! class TextDisplayHandler(FieldDisplayHandler):
! pass
--- 174,186 ----
#############################################################################
#
+ # Handler for Date types
#
! class DateDisplayHandler(FieldDisplayHandler):
! def __init__(self, entry, displayMask, inputMask):
! FieldDisplayHandler.__init__(entry, DateMask.DateMask(displayMask,
! inputMask, displayMask))
!
Index: gnue/forms/src/GFEvent.py
diff -c gnue/forms/src/GFEvent.py:1.18 gnue/forms/src/GFEvent.py:1.19
*** gnue/forms/src/GFEvent.py:1.18 Mon Jan 21 20:41:55 2002
--- gnue/forms/src/GFEvent.py Fri Feb 15 22:57:55 2002
***************
*** 1,9 ****
#
# This file is part of GNU Enterprise.
#
! # GNU Enterprise is free software; you can redistribute it
! # and/or modify it under the terms of the GNU General Public
! # License as published by the Free Software Foundation; either
# version 2, or (at your option) any later version.
#
# GNU Enterprise is distributed in the hope that it will be
--- 1,11 ----
#
+ # Copyright 2000-2002 Free Software Foundation
+ #
# This file is part of GNU Enterprise.
#
! # GNU Enterprise is free software; you can redistribute it
! # and/or modify it under the terms of the GNU General Public
! # License as published by the Free Software Foundation; either
# version 2, or (at your option) any later version.
#
# GNU Enterprise is distributed in the hope that it will be
***************
*** 16,23 ****
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
- # Copyright 2000, 2001 Free Software Foundation
- #
# FILE:
# GFEvent.py
#
--- 18,23 ----
***************
*** 28,33 ****
--- 28,34 ----
#
from gnue.common import GDebug
+ import string
#
# Basic event passed between items
***************
*** 35,96 ****
# If event = GFEvent('MYEVENT',x=1, y=2, object=MyObject), then
# event.event == 'MYEVENT', event.x = 1,
# event.y == 2, and event.object == MyObject
class GFEvent:
def __init__(self, event, data=None, **parms):
self.__dict__.update(parms)
- self.event = event
# TODO: Get rid of data=
self.data = data
!
def getEvent(self):
! return self.event
#
# Base for and object that sends and receives events
#
class GFEventAware:
def __init__(self):
! self.eventListener = []
! self.incommingEvent = {}
- #
- # registerEventListener
- #
- # method to allow systems to register listener
- # methods that should be passed events
- #
- def registerEventListener(self, listener):
- self.eventListener.append(listener)
-
- #
- # dispatchEvent
- #
- # calls each listener passing it a copy of the event
- #
def dispatchEvent(self, event):
- for function in self.eventListener:
- function(event)
! #
! # processEvent
! #
! # looks up the appropirate method to call to
! # handle an incomming event
! #
! def processEvent(self, event):
! #GDebug.printMesg(10, "Event: %s in %s" % (event.getEvent(), self))
! if self.incommingEvent.has_key(event.event):
! self.incommingEvent[event.event] (event)
! else:
GDebug.printMesg(3, "Unknown Event: %s " % (event.getEvent()))
! GDebug.printMesg(3, "My events: %s" % (self.incommingEvent.keys()))
!
--- 36,114 ----
# If event = GFEvent('MYEVENT',x=1, y=2, object=MyObject), then
# event.event == 'MYEVENT', event.x = 1,
# event.y == 2, and event.object == MyObject
+ #
class GFEvent:
def __init__(self, event, data=None, **parms):
self.__dict__.update(parms)
# TODO: Get rid of data=
self.data = data
! self.__event__ = event
! self.__result__ = None
! self.__dropped__ = 0
! self.__error__ = 0
!
!
! def getResult(self):
! return self.__result__
!
! def setResult(self, value):
! self.__result__ = value
!
def getEvent(self):
! return self.__event__
#
# Base for and object that sends and receives events
#
class GFEventAware:
+
+ def __init__(self, controller):
+ self.__controller = controller
+ self.dispatchEvent = controller.dispatchEvent
+ self.registerEventListeners = controller.registerEventListeners
+
+ def __del__(self):
+ self.__controller = None
+ self.dispatchEvent = None
+ self.registerEventListeners = None
+
+
+
+ class GFEventController:
+
def __init__(self):
! self.__incomingEvents = {}
!
!
! def registerEventListeners(self, events):
! for event in events.keys():
! evt = string.lower(event)
! try:
! self.__incomingEvents[evt].append(events[event])
! except KeyError:
! self.__incomingEvents[evt] = [events[event]]
!
def dispatchEvent(self, event):
! ## GDebug.printMesg(10, "Event: %s" % (event.__event__))
! try:
! handlers = self.__incomingEvents[string.lower(event.__event__)]
! except KeyError:
GDebug.printMesg(3, "Unknown Event: %s " % (event.getEvent()))
! return
! for handler in handlers:
! ## GDebug.printMesg(10, "Event: %s in %s" % (event.__event__, handler))
! handler(event)
! if event.__error__ or event.__dropped__:
! break
+ return event.__result__
Index: gnue/forms/src/GFForm.py
diff -c gnue/forms/src/GFForm.py:1.147 gnue/forms/src/GFForm.py:1.148
*** gnue/forms/src/GFForm.py:1.147 Fri Feb 15 18:59:41 2002
--- gnue/forms/src/GFForm.py Fri Feb 15 22:57:55 2002
***************
*** 51,57 ****
def __init__(self, parent=None, app=None):
GRootObj.__init__(self)
GFObj.__init__(self, parent)
- GFEventAware.__init__(self)
self._type = "GFForm"
self._currentObject = [self]
--- 51,56 ----
***************
*** 81,93 ****
#
# New trigger support
! #
self._triggerGlobal = 1
self._triggerFunctions = {'setFocus':{'function':self.triggerSetFocus,
'global': 1,
},
}
!
def _buildObject(self):
# Convert some deprecated options to new style
--- 80,93 ----
#
# New trigger support
! #
self._triggerGlobal = 1
self._triggerFunctions = {'setFocus':{'function':self.triggerSetFocus,
'global': 1,
},
}
!
!
def _buildObject(self):
# Convert some deprecated options to new style
***************
*** 118,133 ****
# Called during phaseInit startup by GParser.
#
def primaryInit(self):
# TODO: Look at moving this into GParser
# Import all needed objects
self.walk(self.initImportedObjects)
# analyze the tree
self.walk(self.analyzeTree)
!
self.initTriggerSystem()
self._triggerns.update(self._triggerNamespaceTree._globalNamespace)
!
def secondaryInit(self):
# create the first records
for key in self._datasourceDictionary.keys():
--- 118,138 ----
# Called during phaseInit startup by GParser.
#
def primaryInit(self):
+
+ # Initialize our events system
+ GFEventAware.__init__(self, self._app.eventController)
+
+
# TODO: Look at moving this into GParser
# Import all needed objects
self.walk(self.initImportedObjects)
# analyze the tree
self.walk(self.analyzeTree)
!
self.initTriggerSystem()
self._triggerns.update(self._triggerNamespaceTree._globalNamespace)
!
def secondaryInit(self):
# create the first records
for key in self._datasourceDictionary.keys():
Index: gnue/forms/src/GFInstance.py
diff -c gnue/forms/src/GFInstance.py:1.27 gnue/forms/src/GFInstance.py:1.28
*** gnue/forms/src/GFInstance.py:1.27 Sun Feb 10 20:13:18 2002
--- gnue/forms/src/GFInstance.py Fri Feb 15 22:57:55 2002
***************
*** 47,53 ****
# Initialize the class
#
def __init__(self, manager, serial, connections, ui, disableSplash):
! GFEventAware.__init__(self)
self.connections = connections
self.manager = manager
--- 47,56 ----
# Initialize the class
#
def __init__(self, manager, serial, connections, ui, disableSplash):
!
! self.eventController = GFEventController()
!
! GFEventAware.__init__(self, self.eventController)
self.connections = connections
self.manager = manager
***************
*** 56,62 ****
self._uimodule = ui
self._disableSplash = disableSplash
# Incomming events
! self.incommingEvent = {'requestNEXTENTRY' : self.nextEntry,
'requestPREVENTRY' : self.previousEntry,
'requestNEXTBLOCK' : self.nextBlock,
'requestPREVBLOCK' : self.previousBlock,
--- 59,67 ----
self._uimodule = ui
self._disableSplash = disableSplash
# Incomming events
! self.registerEventListeners( {
! # Focus-related events
! 'requestNEXTENTRY' : self.nextEntry,
'requestPREVENTRY' : self.previousEntry,
'requestNEXTBLOCK' : self.nextBlock,
'requestPREVBLOCK' : self.previousBlock,
***************
*** 65,70 ****
--- 70,76 ----
'requestRECORDNUMBER' : self.jumpRecords,
'requestPAGE' : self.gotoPage,
+ # Proxied "Entry" events
'requestKEYPRESS' : self.keyPress,
'requestREPLACEVALUE' : self.replaceValue,
'requestCURSORLEFT' : self.cursorMove,
***************
*** 76,95 ****
'requestFOCUS' : self.changeFocus,
'requestMODETOGGLE' : self.toggleInsertMode,
'requestNEWRECORD' : self.newRecord,
'requestMARKFORDELETE' : self.deleteRecord,
-
- 'requestENTERQUERY' : self.requestQuery,
- 'requestEXECQUERY' : self.executeQuery,
'requestCOMMIT' : self.executeCommit,
'requestPRINTOUT' : self.executePrintout,
'requestROLLBACK' : self.executeRollback,
'requestEXIT' : self.executeExit,
'requestABOUT' : self.executeAbout,
'fireTRIGGER' : self.fireTrigger,
'requestTOGGLECHKBOX' : self.toggleCheckBox,
! }
#
# Associate a form object with this instance
--- 82,113 ----
'requestFOCUS' : self.changeFocus,
'requestMODETOGGLE' : self.toggleInsertMode,
+ # Selection/clipboard events
+ 'requestSELECTALL' : None, # TODO
+ 'requestSELECTTOHOME' : None, # TODO
+ 'requestSELECTTOEND' : None, # TODO
+ 'requestSELECTLEFT' : None, # TODO
+ 'requestSELECTRIGHT' : None, # TODO
+ 'requestCOPY' : None, # TODO
+ 'requestCUT' : None, # TODO
+ 'requestPASTE' : None, # TODO
+
+ # Data set manipulation
'requestNEWRECORD' : self.newRecord,
'requestMARKFORDELETE' : self.deleteRecord,
'requestCOMMIT' : self.executeCommit,
'requestPRINTOUT' : self.executePrintout,
'requestROLLBACK' : self.executeRollback,
+ 'requestENTERQUERY' : self.requestQuery,
+ 'requestEXECQUERY' : self.executeQuery,
+
+ # High-level forms stuff
'requestEXIT' : self.executeExit,
'requestABOUT' : self.executeAbout,
'fireTRIGGER' : self.fireTrigger,
'requestTOGGLECHKBOX' : self.toggleCheckBox,
! } )
#
# Associate a form object with this instance
***************
*** 497,511 ****
object = event.data[0]
value = event.data[1]
object.setValue(value)
!
#
# Activate this puppy...
#
! def activate(self):
! ui = self._uiinstance =
self._uimodule.GFUserInterface(self._disableSplash)
! #ui = self._uiinstance
! ui.registerEventListener(self.processEvent)
! self.registerEventListener(ui.processEvent)
ui.buildForm(self._form)
ui.activateForm(self._form)
--- 515,529 ----
object = event.data[0]
value = event.data[1]
object.setValue(value)
!
#
# Activate this puppy...
#
! def activate(self):
! ui = self._uiinstance =
self._uimodule.GFUserInterface(self.eventController, self._disableSplash)
! ## ui = self._uiinstance
! ## ui.registerEventListener(self.processEvent)
! ## self.registerEventListener(ui.processEvent)
ui.buildForm(self._form)
ui.activateForm(self._form)
Index: gnue/forms/src/GFObjects/GFBlock.py
diff -c gnue/forms/src/GFObjects/GFBlock.py:1.36
gnue/forms/src/GFObjects/GFBlock.py:1.37
*** gnue/forms/src/GFObjects/GFBlock.py:1.36 Mon Feb 11 13:59:34 2002
--- gnue/forms/src/GFObjects/GFBlock.py Fri Feb 15 22:57:55 2002
***************
*** 1,4 ****
--- 1,6 ----
#
+ # Copyright 2000-2002 Free Software Foundation
+ #
# This file is part of GNU Enterprise.
#
# GNU Enterprise is free software; you can redistribute it
***************
*** 16,29 ****
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
- # Copyright 2000, 2001 Free Software Foundation
- #
#
# FILE:
# GFBlock.py
#
# DESCRIPTION:
! #
#
# NOTES:
#
--- 18,29 ----
# write to the Free Software Foundation, Inc., 59 Temple Place
# - Suite 330, Boston, MA 02111-1307, USA.
#
#
# FILE:
# GFBlock.py
#
# DESCRIPTION:
! #
#
# NOTES:
#
***************
*** 51,57 ****
class GFBlock(GFObj, GFEventAware):
def __init__(self, parent=None):
GFObj.__init__(self, parent, 'GFBlock')
- GFEventAware.__init__(self)
self.mode = 'normal'
--- 51,56 ----
***************
*** 127,132 ****
--- 126,136 ----
def initialize(self):
self._form = self.findParentOfType('GFForm')
+
+ # Initialize our events system
+ GFEventAware.__init__(self, self._form._app.eventController)
+
+
self.walk(self.buildEntryList)
if not hasattr(self,'datasource') or not self.datasource:
Index: gnue/forms/src/GFObjects/GFEntry.py
diff -c gnue/forms/src/GFObjects/GFEntry.py:1.41
gnue/forms/src/GFObjects/GFEntry.py:1.42
*** gnue/forms/src/GFObjects/GFEntry.py:1.41 Fri Feb 15 21:17:29 2002
--- gnue/forms/src/GFObjects/GFEntry.py Fri Feb 15 22:57:55 2002
***************
*** 177,183 ****
## self._maskHandler)
## elif self.typecast == 'text':
## self.displayHandler = GFDisplayHandler.TextDisplayHandler(self,
! ## self._maskHandler)
--- 177,189 ----
## self._maskHandler)
## elif self.typecast == 'text':
## self.displayHandler = GFDisplayHandler.TextDisplayHandler(self,
! ## self._inputmask, self._displaymask, self._formatmask)
! ## elif self.typecast == 'number':
! ## self.displayHandler = GFDisplayHandler.NumberDisplayHandler(self,
! ## self._inputmask, self._displaymask)
! ## elif self.typecast == 'date':
! ## self.displayHandler = GFDisplayHandler.DateDisplayHandler(self,
! ## self._inputmask, self._displaymask)
Index: gnue/forms/src/GFParser.py
diff -c gnue/forms/src/GFParser.py:1.62 gnue/forms/src/GFParser.py:1.63
*** gnue/forms/src/GFParser.py:1.62 Mon Feb 11 22:03:50 2002
--- gnue/forms/src/GFParser.py Fri Feb 15 22:57:55 2002
***************
*** 58,64 ****
def loadForm(URL, app, initialize=1):
return GParser.loadXMLObject (URL, xmlFormsHandler, 'GFForm', 'form',
! initialize, attributes={"_app": app,
"_connections": app.connections })
--- 58,64 ----
def loadForm(URL, app, initialize=1):
return GParser.loadXMLObject (URL, xmlFormsHandler, 'GFForm', 'form',
! initialize, attributes={"_app": app,
"_connections": app.connections })
Index: gnue/forms/src/GFTrigger.py
diff -c gnue/forms/src/GFTrigger.py:1.53 gnue/forms/src/GFTrigger.py:1.54
*** gnue/forms/src/GFTrigger.py:1.53 Thu Jan 31 21:25:51 2002
--- gnue/forms/src/GFTrigger.py Fri Feb 15 22:57:55 2002
***************
*** 89,105 ****
#
# Class used to implement triggers
#
- #class GFTrigger(GFEventAware, GObj):
class GFTrigger(GTrigger):
- ## def __init__(self, parent=None, type=None, name=None, src=None,
text=None, language='python'):
- ## GTrigger.__init__(self, parent=None, type=None, name=None, src=None,
text=None, language='python')
- ## self._type="GFTrigger"
-
- ## print language
- ## print type
- ## print src
- ## print text
- ## print self._inits
def __init__(self, parent=None, type=None, name=None, src=None, text=None,
language='python'):
GObj.__init__(self, parent)
--- 89,95 ----
Index: gnue/forms/src/UIbase.py
diff -c gnue/forms/src/UIbase.py:1.52 gnue/forms/src/UIbase.py:1.53
*** gnue/forms/src/UIbase.py:1.52 Fri Feb 15 18:59:41 2002
--- gnue/forms/src/UIbase.py Fri Feb 15 22:57:55 2002
***************
*** 40,64 ****
# Provides basic functionality.
#
class GFUserInterfaceBase(GFEventAware):
! def __init__(self):
! GFEventAware.__init__(self)
!
#
! # incommintEvents
#
! self.incommingEvent = {'gotoENTRY' : self.switchFocus,
! 'updateENTRY' : self.updateEntry,
! 'gotoPAGE' : self.gotoPage,
! 'formALERT' : self.formAlert,
! 'beginWAIT' : self.beginWait,
! 'endWAIT' : self.endWait,
! 'uiNEXTRECORD' : self.adjustMultiView,
! 'uiPREVRECORD' : self.adjustMultiView,
! 'uiUPDATESTATUS' : self.updateStatusBar,
! 'uiABOUT' : self.aboutBox,
! 'exitApplication' : self.exitApplication,
! 'msgBoxUI' : self.msgBox
! }
#
# UGLY, UGLY, NASTY, NASY
--- 40,72 ----
# Provides basic functionality.
#
class GFUserInterfaceBase(GFEventAware):
! def __init__(self, eventHandler):
! GFEventAware.__init__(self, eventHandler)
!
#
! # Events I monitor...
#
! self.registerEventListeners( {
! 'gotoENTRY' : self.switchFocus,
! 'updateENTRY' : self.updateEntry,
! 'gotoPAGE' : self.gotoPage,
! 'formALERT' : self.formAlert,
! 'beginWAIT' : self.beginWait,
! 'endWAIT' : self.endWait,
! 'uiNEXTRECORD' : self.adjustMultiView,
! 'uiPREVRECORD' : self.adjustMultiView,
! 'uiUPDATESTATUS' : self.updateStatusBar,
! 'uiABOUT' : self.aboutBox,
! 'exitApplication' : self.exitApplication,
! 'msgBoxUI' : self.msgBox,
!
! # Clipboard contents
! 'setCLIPBOARD' : self.setClipboardContents,
! 'getCLIPBOARD' : self.getClipboardContents,
! })
!
! # Our local "clipboard"
! self.__clipboard = None
#
# UGLY, UGLY, NASTY, NASY
***************
*** 75,81 ****
self._formToUI = {} # the GFObj to UI widget cross ref
self._formToUIWidget = {} # the GFObj to UI widget
cross ref
!
self.containerWidgets= ['GFPage'] # GFForm objects that contain others
self._pageList = [] # A list of pages
--- 83,89 ----
self._formToUI = {} # the GFObj to UI widget cross ref
self._formToUIWidget = {} # the GFObj to UI widget
cross ref
!
self.containerWidgets= ['GFPage'] # GFForm objects that contain others
self._pageList = [] # A list of pages
***************
*** 163,173 ****
#############################################################################
#
! # Generic Incomming Event Handlers
#
! # Handles incomming events and calls UI instance specific functions to
# execute the actions
#
#
--- 171,195 ----
#############################################################################
#
! # Generic Incoming Event Handlers
#
! # Handles incoming events and calls UI instance specific functions to
# execute the actions
#
+
+
+ #
+ # Clipboard routines
+ #
+ # If a particular UI has a system-wide clipboard,
+ # these methods should be overridden to use that
+ # clipboard.
+ #
+ def getClipboardContents(self, event):
+ event.SetResult(self.__clipboard)
+
+ def setClipboardContents(self, event):
+ self.__clipboard = "%s" % event.text
#
Index: gnue/forms/src/UIcurses.py
diff -c gnue/forms/src/UIcurses.py:1.14 gnue/forms/src/UIcurses.py:1.15
*** gnue/forms/src/UIcurses.py:1.14 Tue Feb 5 19:13:38 2002
--- gnue/forms/src/UIcurses.py Fri Feb 15 22:57:55 2002
***************
*** 42,48 ****
# All UIs must provide this class
#
class GFUserInterface(GFUserInterfaceBase):
! def __init__(self):
self.stdscr=None
self.stdscr=curses.initscr()
self.stdscr.keypad(0)
--- 42,48 ----
# All UIs must provide this class
#
class GFUserInterface(GFUserInterfaceBase):
! def __init__(self, eventController):
self.stdscr=None
self.stdscr=curses.initscr()
self.stdscr.keypad(0)
***************
*** 58,69 ****
def cleanup(self=self):
if not curses.isendwin():
curses.endwin()
atexit.register(cleanup)
! GFUserInterfaceBase.__init__(self)
! self.incommingEvent.update({'msgBoxUI' : self.msgBox,
! 'getLogin' : self.getLogin
! })
self.widgetConstructorFunction['GFLabel'] = self.labelHandler
self.widgetConstructorFunction['GFEntry'] = self.entryHandler
self.widgetConstructorFunction['GFBox'] = self.boxHandler
--- 58,74 ----
def cleanup(self=self):
if not curses.isendwin():
curses.endwin()
+
atexit.register(cleanup)
!
! GFUserInterfaceBase.__init__(self, eventController)
!
! self.registerEventListeners({
! 'msgBoxUI' : self.msgBox,
! 'getLogin' : self.getLogin
! })
!
self.widgetConstructorFunction['GFLabel'] = self.labelHandler
self.widgetConstructorFunction['GFEntry'] = self.entryHandler
self.widgetConstructorFunction['GFBox'] = self.boxHandler
***************
*** 94,107 ****
## }
##
! self.incommingEvent.update( {'gotoENTRY' : self.switchFocus,
'updateENTRY': self.updateEntry,
'gotoPAGE': self.gotoPage,
'uiUPDATESTATUS': self.updateStatus,
'uiNEXTRECORD' : self.adjustMultiView,
'uiPREVRECORD' : self.adjustMultiView,
'exitApplication': self.exitApplication
! })
self.containerWidgets= ['GFPage', 'GFForm']
--- 99,112 ----
## }
##
! self.registerEventListeners( {'gotoENTRY' : self.switchFocus,
'updateENTRY': self.updateEntry,
'gotoPAGE': self.gotoPage,
'uiUPDATESTATUS': self.updateStatus,
'uiNEXTRECORD' : self.adjustMultiView,
'uiPREVRECORD' : self.adjustMultiView,
'exitApplication': self.exitApplication
! } )
self.containerWidgets= ['GFPage', 'GFForm']
***************
*** 257,263 ****
#
# Event handlers
#
! # Methods called to deal with incomming events
#
#
--- 262,268 ----
#
# Event handlers
#
! # Methods called to deal with incoming events
#
#
Index: gnue/forms/src/UIwxpython.py
diff -c gnue/forms/src/UIwxpython.py:1.137 gnue/forms/src/UIwxpython.py:1.138
*** gnue/forms/src/UIwxpython.py:1.137 Fri Feb 15 18:59:41 2002
--- gnue/forms/src/UIwxpython.py Fri Feb 15 22:57:55 2002
***************
*** 133,142 ****
# All UIs must provide this class
#
class GFUserInterface(GFUserInterfaceBase):
! def __init__(self, disableSplash = None):
self._wxapp = getWxApp()
self._disableSplash = disableSplash
! GFUserInterfaceBase.__init__(self)
self.forms = {}
self.init()
--- 133,142 ----
# All UIs must provide this class
#
class GFUserInterface(GFUserInterfaceBase):
! def __init__(self, eventController, disableSplash = None):
self._wxapp = getWxApp()
self._disableSplash = disableSplash
! GFUserInterfaceBase.__init__(self,eventController)
self.forms = {}
self.init()
***************
*** 417,423 ****
#
# Incoming Event Processors
#
! # Processes the incomming events from other objects
#
#
--- 417,423 ----
#
# Incoming Event Processors
#
! # Processes the incoming events from other objects
#
#
- gnue/forms/src GFDisplayHandler.py GFEvent.py G...,
Jason Cater <=