[Python-checkins] python/dist/src/Lib/idlelib Bindings.py, 1.19,
1.20 EditorWindow.py, 1.57, 1.58 extend.txt, 1.4, 1.5
kbk at users.sourceforge.net
kbk at users.sourceforge.net
Fri Apr 23 23:01:50 EDT 2004
Update of /cvsroot/python/python/dist/src/Lib/idlelib
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8492
Modified Files:
Bindings.py EditorWindow.py extend.txt
Log Message:
1. Polish variables in EditorWindow extension loading and Tkinter variable code.
2. Add exception handling to EditorWindow Tkinter variable setvar() and getvar() fcns.
3. EditorWindow: remove some unneeded comments.
4. Add a separator to the Options menu
5. extend.txt: describe how to create a menu entry which has no keybinding.
M Bindings.py
M EditorWindow.py
M extend.txt
Index: Bindings.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/idlelib/Bindings.py,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -d -r1.19 -r1.20
*** Bindings.py 12 Jun 2003 04:03:48 -0000 1.19
--- Bindings.py 24 Apr 2004 03:01:48 -0000 1.20
***************
*** 71,74 ****
--- 71,75 ----
('options', [
('_Configure IDLE...', '<<open-config-dialog>>'),
+ None,
]),
('help', [
Index: EditorWindow.py
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/idlelib/EditorWindow.py,v
retrieving revision 1.57
retrieving revision 1.58
diff -C2 -d -r1.57 -r1.58
*** EditorWindow.py 11 Apr 2004 03:16:07 -0000 1.57
--- EditorWindow.py 24 Apr 2004 03:01:48 -0000 1.58
***************
*** 47,51 ****
from MultiStatusBar import MultiStatusBar
- vars = {}
help_url = None
--- 47,50 ----
***************
*** 79,86 ****
self.top = top = self.Toplevel(root, menu=self.menubar)
if flist:
! self.vars = flist.vars
#self.top.instance_dict makes flist.inversedict avalable to
#configDialog.py so it can access all EditorWindow instaces
self.top.instance_dict=flist.inversedict
self.recent_files_path=os.path.join(idleConf.GetUserCfgDir(),
'recent-files.lst')
--- 78,88 ----
self.top = top = self.Toplevel(root, menu=self.menubar)
if flist:
! self.tkinter_vars = flist.vars
#self.top.instance_dict makes flist.inversedict avalable to
#configDialog.py so it can access all EditorWindow instaces
self.top.instance_dict=flist.inversedict
+ else:
+ self.tkinter_vars = {} # keys: Tkinter event names
+ # values: Tkinter variable instances
self.recent_files_path=os.path.join(idleConf.GetUserCfgDir(),
'recent-files.lst')
***************
*** 554,561 ****
event=menuEventDict[menubarItem][itemName]
if event:
- #print 'accel was:',accel
accel=get_accelerator(keydefs, event)
menu.entryconfig(index,accelerator=accel)
- #print 'accel now:',accel,'\n'
def reset_help_menu_entries(self):
--- 556,561 ----
***************
*** 712,716 ****
def _close(self):
- #print self.io.filename
if self.io.filename:
self.update_recent_files_list(new_file=self.io.filename)
--- 712,715 ----
***************
*** 728,732 ****
self.color.close(doh) # Cancel colorization
self.text = None
! self.vars = None
self.per.close(); self.per = None
if not colorizing:
--- 727,731 ----
self.color.close(doh) # Cancel colorization
self.text = None
! self.tkinter_vars = None
self.per.close(); self.per = None
if not colorizing:
***************
*** 785,817 ****
text.event_add(event, *keylist)
! def fill_menus(self, defs=None, keydefs=None):
"""Add appropriate entries to the menus and submenus
Menus that are absent or None in self.menudict are ignored.
"""
! if defs is None:
! defs = self.Bindings.menudefs
if keydefs is None:
keydefs = self.Bindings.default_keydefs
menudict = self.menudict
text = self.text
! for mname, itemlist in defs:
menu = menudict.get(mname)
if not menu:
continue
! for item in itemlist:
! if not item:
menu.add_separator()
else:
! label, event = item
checkbutton = (label[:1] == '!')
if checkbutton:
label = label[1:]
underline, label = prepstr(label)
! accelerator = get_accelerator(keydefs, event)
! def command(text=text, event=event):
! text.event_generate(event)
if checkbutton:
! var = self.getrawvar(event, BooleanVar)
menu.add_checkbutton(label=label, underline=underline,
command=command, accelerator=accelerator,
--- 784,816 ----
text.event_add(event, *keylist)
! def fill_menus(self, menudefs=None, keydefs=None):
"""Add appropriate entries to the menus and submenus
Menus that are absent or None in self.menudict are ignored.
"""
! if menudefs is None:
! menudefs = self.Bindings.menudefs
if keydefs is None:
keydefs = self.Bindings.default_keydefs
menudict = self.menudict
text = self.text
! for mname, entrylist in menudefs:
menu = menudict.get(mname)
if not menu:
continue
! for entry in entrylist:
! if not entry:
menu.add_separator()
else:
! label, eventname = entry
checkbutton = (label[:1] == '!')
if checkbutton:
label = label[1:]
underline, label = prepstr(label)
! accelerator = get_accelerator(keydefs, eventname)
! def command(text=text, eventname=eventname):
! text.event_generate(eventname)
if checkbutton:
! var = self.get_var_obj(eventname, BooleanVar)
menu.add_checkbutton(label=label, underline=underline,
command=command, accelerator=accelerator,
***************
*** 823,839 ****
def getvar(self, name):
! var = self.getrawvar(name)
if var:
! return var.get()
def setvar(self, name, value, vartype=None):
! var = self.getrawvar(name, vartype)
if var:
var.set(value)
! def getrawvar(self, name, vartype=None):
! var = self.vars.get(name)
if not var and vartype:
! self.vars[name] = var = vartype(self.text)
return var
--- 822,844 ----
def getvar(self, name):
! var = self.get_var_obj(name)
if var:
! value = var.get()
! return value
! else:
! raise NameError, name
def setvar(self, name, value, vartype=None):
! var = self.get_var_obj(name, vartype)
if var:
var.set(value)
+ else:
+ raise NameError, name
! def get_var_obj(self, name, vartype=None):
! var = self.tkinter_vars.get(name)
if not var and vartype:
! # create a Tkinter variable object with self.text as master:
! self.tkinter_vars[name] = var = vartype(self.text)
return var
***************
*** 1368,1373 ****
}
! def get_accelerator(keydefs, event):
! keylist = keydefs.get(event)
if not keylist:
return ""
--- 1373,1378 ----
}
! def get_accelerator(keydefs, eventname):
! keylist = keydefs.get(eventname)
if not keylist:
return ""
Index: extend.txt
===================================================================
RCS file: /cvsroot/python/python/dist/src/Lib/idlelib/extend.txt,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** extend.txt 16 Jul 2003 03:10:43 -0000 1.4
--- extend.txt 24 Apr 2004 03:01:48 -0000 1.5
***************
*** 52,57 ****
Extensions are not required to define menu entries for all the events they
! implement. (XXX KBK 15Jul03: But it appears they must have keybindings for each
! virtual event?)
Here is a complete example example:
--- 52,57 ----
Extensions are not required to define menu entries for all the events they
! implement. (They are also not required to create keybindings, but in that
! case there must be empty bindings in cofig-extensions.def)
Here is a complete example example:
More information about the Python-checkins
mailing list