[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gnue/forms/src/uidrivers _base/UIdriver.py _com...
From: |
James Thompson |
Subject: |
gnue/forms/src/uidrivers _base/UIdriver.py _com... |
Date: |
Tue, 04 Mar 2003 21:04:33 -0500 |
CVSROOT: /cvsroot/gnue
Module name: gnue
Changes by: James Thompson <address@hidden> 03/03/04 21:04:33
Modified files:
forms/src/uidrivers/_base: UIdriver.py
forms/src/uidrivers/_commonGuiToolkit: UIdriver.py
forms/src/uidrivers/curses: UIdriver.py
forms/src/uidrivers/qt/widgets: _base.py
forms/src/uidrivers/wx: UIdriver.py common.py
forms/src/uidrivers/wx/widgets: _base.py
Log message:
start of merging wx driver with _commonGuiToolkit
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/_base/UIdriver.py.diff?tr1=1.92&tr2=1.93&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/_commonGuiToolkit/UIdriver.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/curses/UIdriver.py.diff?tr1=1.30&tr2=1.31&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/qt/widgets/_base.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/wx/UIdriver.py.diff?tr1=1.239&tr2=1.240&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/wx/common.py.diff?tr1=1.2&tr2=1.3&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/gnue/gnue/forms/src/uidrivers/wx/widgets/_base.py.diff?tr1=1.5&tr2=1.6&r1=text&r2=text
Patches:
Index: gnue/forms/src/uidrivers/_base/UIdriver.py
diff -c gnue/forms/src/uidrivers/_base/UIdriver.py:1.92
gnue/forms/src/uidrivers/_base/UIdriver.py:1.93
*** gnue/forms/src/uidrivers/_base/UIdriver.py:1.92 Tue Mar 4 19:21:33 2003
--- gnue/forms/src/uidrivers/_base/UIdriver.py Tue Mar 4 21:04:32 2003
***************
*** 434,440 ****
#
# UIDrivers must implement the following features
! def _activateForm(self):
GDebug.printMesg(0, "Fatal UI driver error. Required function not
implemented")
sys.exit(1)
--- 434,440 ----
#
# UIDrivers must implement the following features
! def _activateForm(self,modal=0):
GDebug.printMesg(0, "Fatal UI driver error. Required function not
implemented")
sys.exit(1)
Index: gnue/forms/src/uidrivers/_commonGuiToolkit/UIdriver.py
diff -c gnue/forms/src/uidrivers/_commonGuiToolkit/UIdriver.py:1.2
gnue/forms/src/uidrivers/_commonGuiToolkit/UIdriver.py:1.3
*** gnue/forms/src/uidrivers/_commonGuiToolkit/UIdriver.py:1.2 Tue Mar 4
19:21:34 2003
--- gnue/forms/src/uidrivers/_commonGuiToolkit/UIdriver.py Tue Mar 4
21:04:32 2003
***************
*** 39,55 ****
from gnue.forms.GFForm import *
from gnue.forms.uidrivers._base.UIdriver import *
! from common import *
!
!
! def treeShow(object, uiDriver):
! try:
! print "Object ",object, object.Show(1), object.GetParent(),
uiDriver._IdToGFObj[object.GetId()]
! except KeyError:
! print "Object ",object, object.Show(1), object.GetParent(),
"NONE!!!!!!!!!!!!!"
!
! for child in object.GetChildren():
! treeShow(child, uiDriver)
#
# GFUserInterface
--- 39,45 ----
from gnue.forms.GFForm import *
from gnue.forms.uidrivers._base.UIdriver import *
! #from common import *
#
# GFUserInterface
***************
*** 64,145 ****
self._disableSplash = disableSplash
- self._DIALOGS = {'about' :UIAbout,
- 'messageBox' :UIMessageBox,
- }
# Shortcut
self.images_dir =
GConfig.getInstalledBase('forms_images','common_images') + '/'
! self._IdToWxObj = {}
self._IdToGFObj = {}
self._IdToUIObj = {}
self._disabledColour = 0
! def initialize(self):
! ################################################################
! # WX Specifics
! ################################################################
! self._wxapp = getWxApp()
!
! #
! # SplashScreen
! #
! if not self._disableSplash:
! self.splash = UIWXSplashScreen()
!
! global _PROMPTFORRECORD
! _PROMPTFORRECORD = self.promptForRecordNumber
!
! #
! # Create a dummy window used to compute sizes
! #
! dummyWindow = wxFrame(NULL, -1, "", wxDefaultPosition)
! initFont(dummyWindow,1)
!
! #
! # Find the max size of printable characters
! # used to setup the grid
! #
! maxWidth, maxHeight, maxDescent, maxLeading = [0,0,0,0]
! checkchars = string.printable
! for letter in checkchars:
! width,height,descent,leading = dummyWindow.GetFullTextExtent(letter)
! maxWidth = max(maxWidth,width)
! maxHeight = max(maxHeight,height)
! maxDescent = max(maxDescent,descent)
! maxLeading = max(maxLeading,leading)
!
! self.textWidth = int(maxWidth+maxLeading) # The pixel width of text
inside a widget
! self.textHeight = int(maxHeight+maxDescent) # The pixel height of text
inside a widget
! self.widgetWidth = self.textWidth # The pixel width of a 1
char widget (for things like buttons)
! self.widgetHeight = self.textHeight + 3 # The pixel height of a 1
char widget (for things like buttons)
!
! #
! # Close dummy window so app doesn't hang when all other windows closed
! #
! dummyWindow.Close()
!
!
!
! def _activateForm(self, form):
# Go ahead and display
- print "I'm not really being called you foolz!"
# TODO : hack!!!!!!!!!!!!!!
for key in self._formNameToUIForm.keys():
if self._formNameToUIForm[key]._form == form:
break
! self._formNameToUIForm[key].mainWindow.Raise()
! self._formNameToUIForm[key].mainWindow.Show()
!
! self._formNameToUIForm[key].show()
- treeShow(self._formNameToUIForm[key].mainWindow, self)
-
-
#############################################################################
#
# Private UIBase support functions
--- 54,83 ----
self._disableSplash = disableSplash
# Shortcut
self.images_dir =
GConfig.getInstalledBase('forms_images','common_images') + '/'
! self._IdToTkObj = {}
self._IdToGFObj = {}
self._IdToUIObj = {}
self._disabledColour = 0
! def _activateForm(self, form, modal=0):
# Go ahead and display
# TODO : hack!!!!!!!!!!!!!!
for key in self._formNameToUIForm.keys():
if self._formNameToUIForm[key]._form == form:
break
! if modal:
! self._formNameToUIForm[key].showModal()
! else:
! self._formNameToUIForm[key].show()
!
#############################################################################
#
# Private UIBase support functions
***************
*** 148,163 ****
# widget set.
#
- #
- # _exit
- #
- # Tells the application to close it's main window
- #
- def _exit(self):
- #TODO
- self._children[0].mainWindow.Close(true)
-
-
# Can be used by UI drivers to add more attributes to the creation event.
def _updateCreateEvent(self, event):
event.eventHandler = self.dispatchEvent
--- 86,91 ----
***************
*** 173,249 ****
# From here down should be nothing but eventListeners listed
#
- # mainLoop
- #
- # The primary loop of the user interface. Called once the UI is
- # fully activated
- #
- def mainLoop(self):
- self._wxapp.MainLoop() # simply call the wxApp's MainLoop method
-
- #
# formAlert
#
# Rings a bell and alters the statusbar to display
# a line of text
#
def formAlert(self, event):
! wxBell()
self.statusBar.SetStatusText(event.data,0)
- #
- # Called whenever forms goes into a "wait" state in which user cannot
- # interact with interface (e.g., while waiting for a query or a commit)
- #
- def beginWait (self, event):
- wxBeginBusyCursor()
-
- #
- # Called whenever forms leaves a "wait" state
- #
- def endWait (self, event):
- wxEndBusyCursor()
-
-
- #
- # Clipboard routines
- #
- # If a particular UI has a system-wide clipboard,
- # these methods should be overridden to use that
- # clipboard.
- #
- def getClipboardContents(self, event):
-
- if wxTheClipboard.Open():
- data = wxTextDataObject()
- success = wxTheClipboard.GetData(data)
- wxTheClipboard.Close()
- else:
- success = 0
- GDebug.printMesg(5,'Unable to open clipboard for read')
-
- if success:
- value = data.GetText()
- else:
- GDebug.printMesg(5,'Unable to obtain clipboard contents. Defaulting to
Empty.')
- value = None
-
- GDebug.printMesg(5, "Getting clipboard value '%s'" % value)
- event.__result__ = value
-
-
- def setClipboardContents(self, event):
-
- GDebug.printMesg(5,"Setting clipboard '%s'" % event.text)
-
- if wxTheClipboard.Open():
- value = wxTheClipboard.SetData(wxTextDataObject(event.text))
- GDebug.printMesg(10,"Set Clipboard Status: %s" % value)
- wxTheClipboard.Close()
-
- else:
- GDebug.printMesg(5,'Unable to open clipboard for write')
-
#############################################################################
#
--- 101,115 ----
# From here down should be nothing but eventListeners listed
#
# formAlert
#
# Rings a bell and alters the statusbar to display
# a line of text
#
def formAlert(self, event):
! self._beep()
self.statusBar.SetStatusText(event.data,0)
#############################################################################
#
***************
*** 258,274 ****
#
# Presents a dialog to user asking for the record number to jump to
#
! def promptForRecordNumber(self, event=None):
! dlg = wxTextEntryDialog(self.mainWindow, _('Enter record number to jump
to'),
! _('Which record?'))
! if dlg.ShowModal() == wxID_OK:
! action = self.dispatchEvent('requestRECORDNUMBER', dlg.GetValue(),
_form=self._form)
! else:
! action = None
!
! dlg.Destroy()
! return action
#
# closeTrap
--- 124,140 ----
#
# Presents a dialog to user asking for the record number to jump to
#
! ## def promptForRecordNumber(self, event=None):
! ## dlg = wxTextEntryDialog(self.mainWindow, _('Enter record number to
jump to'),
! ## _('Which record?'))
!
! ## if dlg.ShowModal() == wxID_OK:
! ## action = self.dispatchEvent('requestRECORDNUMBER', dlg.GetValue(),
_form=self._form)
! ## else:
! ## action = None
! ## dlg.Destroy()
! ## return action
#
# closeTrap
***************
*** 277,320 ****
# closure. Allows the form to control closure. If the form approves it'll
send
# back an event closing the application
#`
! def closeTrap(self,event):
! if event.CanVeto():
! self.dispatchEvent('requestEXIT',_form=self._form)
! else:
! object = _eventObjTowxWindow(event)
! object.Destroy()
! # wxExit() TODO: Try and work this into navigator or here if it still
hangs
!
! #####################################################################
! ##
! ## Required Dialog box support
! ##
! #####################################################################
- #
- # UIAbout
- #
- # A dialog box providing about info
- #
- class UIAbout(wxMessageDialog, UIHelper):
- def __init__(self, interface, programVersion, formName, formVersion,
author, description):
- text = _("GNUE Forms")+"\n"+ \
- _(" Version : ")+"%s\n"+ \
- _(" Driver : UIwxpython")+"\n"+ \
- _("-= Form Info =-")+"\n"+ \
- _(" Name : ")+"%s\n"+ \
- _(" Version: ")+"%s\n"+ \
- _(" Author : ")+"%s\n"+ \
- _(" Description:")+"%s\n"
- wxMessageDialog.__init__(self, interface,
- text % (programVersion, formName
,formVersion,author,description),
- _("About"), wxOK | wxICON_INFORMATION)
- #
- # UImessageBox
- #
- # A dialog box providing basic message info
- #
- class UIMessageBox(wxMessageDialog, UIHelper):
- def __init__(self, interface, message, caption):
- message = lineWrap(message,60)
- wxMessageDialog.__init__(self, interface, message, caption,
style=wxOK|wxICON_EXCLAMATION)
--- 143,153 ----
# closure. Allows the form to control closure. If the form approves it'll
send
# back an event closing the application
#`
! ## def closeTrap(self,event):
! ## if event.CanVeto():
! ## self.dispatchEvent('requestEXIT',_form=self._form)
! ## else:
! ## object = _eventObjTowxWindow(event)
! ## object.Destroy()
! ## # wxExit() TODO: Try and work this into navigator or here if it
still hangs
Index: gnue/forms/src/uidrivers/curses/UIdriver.py
diff -c gnue/forms/src/uidrivers/curses/UIdriver.py:1.30
gnue/forms/src/uidrivers/curses/UIdriver.py:1.31
*** gnue/forms/src/uidrivers/curses/UIdriver.py:1.30 Mon Feb 17 02:32:53 2003
--- gnue/forms/src/uidrivers/curses/UIdriver.py Tue Mar 4 21:04:33 2003
***************
*** 52,58 ****
_LOOPTRAP = 0
_EVENTPROCESSOR = None
_charWidth = 0
! _IdToWxObj = {}
_IdToGFObj = {}
_IdToUIObj = {}
--- 52,58 ----
_LOOPTRAP = 0
_EVENTPROCESSOR = None
_charWidth = 0
! _IdToTkObj = {}
_IdToGFObj = {}
_IdToUIObj = {}
***************
*** 474,480 ****
def _addToCrossRef(self, widget,gfobject, uiobject):
pass
## id = widget.GetId()
! ## _IdToWxObj[id]=widget
## _IdToGFObj[id]=gfobject
## _IdToUIObj[id]=uiobject
--- 474,480 ----
def _addToCrossRef(self, widget,gfobject, uiobject):
pass
## id = widget.GetId()
! ## _IdToTkObj[id]=widget
## _IdToGFObj[id]=gfobject
## _IdToUIObj[id]=uiobject
***************
*** 740,746 ****
## # Move to proper object
## id = object.GetId()
## gfObject = _IdToGFObj[id]
! ## screenWidget = _IdToWxObj[id]
## count = _IdToUIObj[id].widgets.index(screenWidget)
## self._eventProcessor(events.Event('requestFOCUS',gfObject))
## self._eventProcessor(events.Event('requestJUMPRECORD',count -
gfObject._visibleIndex))
--- 740,746 ----
## # Move to proper object
## id = object.GetId()
## gfObject = _IdToGFObj[id]
! ## screenWidget = _IdToTkObj[id]
## count = _IdToUIObj[id].widgets.index(screenWidget)
## self._eventProcessor(events.Event('requestFOCUS',gfObject))
## self._eventProcessor(events.Event('requestJUMPRECORD',count -
gfObject._visibleIndex))
Index: gnue/forms/src/uidrivers/qt/widgets/_base.py
diff -c gnue/forms/src/uidrivers/qt/widgets/_base.py:1.2
gnue/forms/src/uidrivers/qt/widgets/_base.py:1.3
*** gnue/forms/src/uidrivers/qt/widgets/_base.py:1.2 Sat Feb 22 01:54:58 2003
--- gnue/forms/src/uidrivers/qt/widgets/_base.py Tue Mar 4 21:04:33 2003
***************
*** 145,151 ****
def cleanup(self, object):
for widget in self.widgets[:]:
i = id(widget)
! del self._uiDriver._IdToWxObj[i]
del self._uiDriver._IdToGFObj[i]
del self._uiDriver._IdToUIObj[i]
self.widgets.pop(0)
--- 145,151 ----
def cleanup(self, object):
for widget in self.widgets[:]:
i = id(widget)
! del self._uiDriver._IdToTkObj[i]
del self._uiDriver._IdToGFObj[i]
del self._uiDriver._IdToUIObj[i]
self.widgets.pop(0)
Index: gnue/forms/src/uidrivers/wx/UIdriver.py
diff -c gnue/forms/src/uidrivers/wx/UIdriver.py:1.239
gnue/forms/src/uidrivers/wx/UIdriver.py:1.240
*** gnue/forms/src/uidrivers/wx/UIdriver.py:1.239 Tue Mar 4 19:21:34 2003
--- gnue/forms/src/uidrivers/wx/UIdriver.py Tue Mar 4 21:04:33 2003
***************
*** 40,47 ****
from gnue.forms import VERSION
from gnue.forms.GFForm import *
! ##from gnue.forms.uidrivers._commonGuiToolkit import UIdriver as commonToolkit
! from gnue.forms.uidrivers._base.UIdriver import *
from gnue.forms.uidrivers.wx.GFwxApp import *
from gnue.forms.uidrivers.wx.UIWXSplashScreen import *
--- 40,47 ----
from gnue.forms import VERSION
from gnue.forms.GFForm import *
! from gnue.forms.uidrivers._commonGuiToolkit import UIdriver as commonToolkit
! #from gnue.forms.uidrivers._base.UIdriver import *
from gnue.forms.uidrivers.wx.GFwxApp import *
from gnue.forms.uidrivers.wx.UIWXSplashScreen import *
***************
*** 50,67 ****
##from MenuBar import MyMenuBar
! from common import *
-
- ## _PROMPTFORRECORD = None
- ## def treeShow(object, uiDriver):
- ## try:
- ## print "Object ",object, object.Show(1), object.GetParent(),
uiDriver._IdToGFObj[object.GetId()]
- ## except KeyError:
- ## print "Object ",object, object.Show(1), object.GetParent(),
"NONE!!!!!!!!!!!!!"
-
- ## for child in object.GetChildren():
- ## treeShow(child, uiDriver)
#
# GFUserInterface
--- 50,57 ----
##from MenuBar import MyMenuBar
! #from common import *
#
# GFUserInterface
***************
*** 69,93 ****
# The public interface to the User Interface
# All UIs must provide this class
#
! ##class GFUserInterface(commonToolkit.GFUserInterface):
! class GFUserInterface(GFUserInterfaceBase):
def __init__(self, eventController, disableSplash = None):
! ##commonToolkit.GFUserInterface.__init__(self,eventController)
! GFUserInterfaceBase.__init__(self,eventController,'wx')
!
! self._disableSplash = disableSplash
! ## self.MenuBar = MenuBar
!
! self._DIALOGS = {
! 'messageBox' :UIMessageBox,
! }
! # Shortcut
! self.images_dir =
GConfig.getInstalledBase('forms_images','common_images') + '/'
!
! self._IdToWxObj = {}
! self._IdToGFObj = {}
! self._IdToUIObj = {}
!
self._disabledColour = wxLIGHT_GREY
--- 59,67 ----
# The public interface to the User Interface
# All UIs must provide this class
#
! class GFUserInterface(commonToolkit.GFUserInterface):
def __init__(self, eventController, disableSplash = None):
! commonToolkit.GFUserInterface.__init__(self,eventController)
self._disabledColour = wxLIGHT_GREY
***************
*** 103,111 ****
if not self._disableSplash:
self.splash = UIWXSplashScreen()
- global _PROMPTFORRECORD
- _PROMPTFORRECORD = self.promptForRecordNumber
-
#
# Create a dummy window used to compute sizes
#
--- 77,82 ----
***************
*** 137,157 ****
! def _activateForm(self, form, modal=0):
! # Go ahead and display
! # TODO : hack!!!!!!!!!!!!!!
! for key in self._formNameToUIForm.keys():
! if self._formNameToUIForm[key]._form == form:
! break
! #self._formNameToUIForm[key].mainWindow.Raise()
! if modal:
! print "I'm going post^H^H^H^Hmodal!"
! self._formNameToUIForm[key].showModal()
! else:
! self._formNameToUIForm[key].show()
#############################################################################
--- 108,128 ----
! ## def _activateForm(self, form, modal=0):
! ## # Go ahead and display
! ## # TODO : hack!!!!!!!!!!!!!!
! ## for key in self._formNameToUIForm.keys():
! ## if self._formNameToUIForm[key]._form == form:
! ## break
! ## #self._formNameToUIForm[key].mainWindow.Raise()
! ## if modal:
! ## print "I'm going post^H^H^H^Hmodal!"
! ## self._formNameToUIForm[key].showModal()
! ## else:
! ## self._formNameToUIForm[key].show()
#############################################################################
***************
*** 179,190 ****
for child in self._children:
child.mainWindow.Close(true)
! # Can be used by UI drivers to add more attributes to the creation event.
! def _updateCreateEvent(self, event):
! event.eventHandler = self.dispatchEvent
! event.ui = self
! return event
!
#############################################################################
#
--- 150,157 ----
for child in self._children:
child.mainWindow.Close(true)
! def _beep(self):
! wxBell()
#############################################################################
#
***************
*** 274,295 ****
#
- #
- # promptForRecordNumber
- #
- # Presents a dialog to user asking for the record number to jump to
- #
- def promptForRecordNumber(self, event=None):
- dlg = wxTextEntryDialog(self.mainWindow, _('Enter record number to jump
to'),
- _('Which record?'))
-
- if dlg.ShowModal() == wxID_OK:
- action = self.dispatchEvent('requestRECORDNUMBER', dlg.GetValue(),
_form=self._form)
- else:
- action = None
-
- dlg.Destroy()
- return action
#
# closeTrap
--- 241,246 ----
Index: gnue/forms/src/uidrivers/wx/common.py
diff -c gnue/forms/src/uidrivers/wx/common.py:1.2
gnue/forms/src/uidrivers/wx/common.py:1.3
*** gnue/forms/src/uidrivers/wx/common.py:1.2 Mon Feb 10 21:01:49 2003
--- gnue/forms/src/uidrivers/wx/common.py Tue Mar 4 21:04:33 2003
***************
*** 104,110 ****
id = object.GetId()
gfObject = self._uiDriver._IdToGFObj[id]
! screenWidget = self._uiDriver._IdToWxObj[id]
count = self._uiDriver._IdToUIObj[id].widgets.index(screenWidget)
if event.GetTimestamp():
--- 104,110 ----
id = object.GetId()
gfObject = self._uiDriver._IdToGFObj[id]
! screenWidget = self._uiDriver._IdToTkObj[id]
count = self._uiDriver._IdToUIObj[id].widgets.index(screenWidget)
if event.GetTimestamp():
Index: gnue/forms/src/uidrivers/wx/widgets/_base.py
diff -c gnue/forms/src/uidrivers/wx/widgets/_base.py:1.5
gnue/forms/src/uidrivers/wx/widgets/_base.py:1.6
*** gnue/forms/src/uidrivers/wx/widgets/_base.py:1.5 Tue Mar 4 19:21:34 2003
--- gnue/forms/src/uidrivers/wx/widgets/_base.py Tue Mar 4 21:04:33 2003
***************
*** 59,65 ****
#
def _addToCrossRef(self, widget,gfobject, uiobject):
id = widget.GetId()
! self._uiDriver._IdToWxObj[id]=widget
self._uiDriver._IdToGFObj[id]=gfobject
self._uiDriver._IdToUIObj[id]=uiobject
widget.__origBackgroundColor = widget.GetBackgroundColour()
--- 59,65 ----
#
def _addToCrossRef(self, widget,gfobject, uiobject):
id = widget.GetId()
! self._uiDriver._IdToTkObj[id]=widget
self._uiDriver._IdToGFObj[id]=gfobject
self._uiDriver._IdToUIObj[id]=uiobject
widget.__origBackgroundColor = widget.GetBackgroundColour()
***************
*** 67,73 ****
def _deleteFromCrossRef(self, widget, object):
id = widget.GetId()
try:
! del self._uiDriver._IdToWxObj[id]
del self._uiDriver._IdToGFObj[id]
del self._uiDriver._IdToUIObj[id]
except:
--- 67,73 ----
def _deleteFromCrossRef(self, widget, object):
id = widget.GetId()
try:
! del self._uiDriver._IdToTkObj[id]
del self._uiDriver._IdToGFObj[id]
del self._uiDriver._IdToUIObj[id]
except:
***************
*** 155,161 ****
def cleanup(self, object):
for widget in self.widgets[:]:
id = widget.GetId()
! del self._uiDriver._IdToWxObj[id]
del self._uiDriver._IdToGFObj[id]
del self._uiDriver._IdToUIObj[id]
self.widgets.pop(0)
--- 155,161 ----
def cleanup(self, object):
for widget in self.widgets[:]:
id = widget.GetId()
! del self._uiDriver._IdToTkObj[id]
del self._uiDriver._IdToGFObj[id]
del self._uiDriver._IdToUIObj[id]
self.widgets.pop(0)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- gnue/forms/src/uidrivers _base/UIdriver.py _com...,
James Thompson <=