annotate Lib/idlelib/dynOptionMenuWidget.py @ 79675:c0a2294de787 2.7

Issue #16199: Backport 2to3 typo fix from 3.2.
author Chris Jerdonek <chris.jerdonek@gmail.com>
date Thu, 11 Oct 2012 16:15:46 -0700
parents b53604fad54b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20685
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
1 """
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
2 OptionMenu widget modified to allow dynamic menu reconfiguration
20859
15c924a11aec added ability to set hilightthickness
Steven M. Gava <elguavas@python.net>
parents: 20735
diff changeset
3 and setting of highlightthickness
20685
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
4 """
47183
b53604fad54b Tkinter rename reversal: remove tkinter package, adapt imports and docs.
Georg Brandl <georg@python.org>
parents: 47101
diff changeset
5 from Tkinter import OptionMenu
b53604fad54b Tkinter rename reversal: remove tkinter package, adapt imports and docs.
Georg Brandl <georg@python.org>
parents: 47101
diff changeset
6 from Tkinter import _setit
20859
15c924a11aec added ability to set hilightthickness
Steven M. Gava <elguavas@python.net>
parents: 20735
diff changeset
7 import copy
20685
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
8
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
9 class DynOptionMenu(OptionMenu):
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
10 """
20859
15c924a11aec added ability to set hilightthickness
Steven M. Gava <elguavas@python.net>
parents: 20735
diff changeset
11 unlike OptionMenu, our kwargs can include highlightthickness
20685
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
12 """
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
13 def __init__(self, master, variable, value, *values, **kwargs):
20859
15c924a11aec added ability to set hilightthickness
Steven M. Gava <elguavas@python.net>
parents: 20735
diff changeset
14 #get a copy of kwargs before OptionMenu.__init__ munges them
15c924a11aec added ability to set hilightthickness
Steven M. Gava <elguavas@python.net>
parents: 20735
diff changeset
15 kwargsCopy=copy.copy(kwargs)
15c924a11aec added ability to set hilightthickness
Steven M. Gava <elguavas@python.net>
parents: 20735
diff changeset
16 if 'highlightthickness' in kwargs.keys():
15c924a11aec added ability to set hilightthickness
Steven M. Gava <elguavas@python.net>
parents: 20735
diff changeset
17 del(kwargs['highlightthickness'])
20685
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
18 OptionMenu.__init__(self, master, variable, value, *values, **kwargs)
20859
15c924a11aec added ability to set hilightthickness
Steven M. Gava <elguavas@python.net>
parents: 20735
diff changeset
19 self.config(highlightthickness=kwargsCopy.get('highlightthickness'))
20685
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
20 #self.menu=self['menu']
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
21 self.variable=variable
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
22 self.command=kwargs.get('command')
26959
b8c72e86a12d Whitespace Normalization
Kurt B. Kaiser <kbk@shore.net>
parents: 21762
diff changeset
23
20735
faa2726dea37 more of config dialog reading from files
Steven M. Gava <elguavas@python.net>
parents: 20685
diff changeset
24 def SetMenu(self,valueList,value=None):
20685
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
25 """
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
26 clear and reload the menu with a new set of options.
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
27 valueList - list of new options
26959
b8c72e86a12d Whitespace Normalization
Kurt B. Kaiser <kbk@shore.net>
parents: 21762
diff changeset
28 value - initial value to set the optionmenu's menubutton to
20685
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
29 """
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
30 self['menu'].delete(0,'end')
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
31 for item in valueList:
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
32 self['menu'].add_command(label=item,
99ad2a9d20e1 dynamic option menu widget.
Steven M. Gava <elguavas@python.net>
parents:
diff changeset
33 command=_setit(self.variable,item,self.command))
20735
faa2726dea37 more of config dialog reading from files
Steven M. Gava <elguavas@python.net>
parents: 20685
diff changeset
34 if value:
faa2726dea37 more of config dialog reading from files
Steven M. Gava <elguavas@python.net>
parents: 20685
diff changeset
35 self.variable.set(value)