Skip to content

Commit

Permalink
Refactor DynOptionMenu's initializer to no longer copy the kwargs dict
Browse files Browse the repository at this point in the history
  • Loading branch information
Joe S. Boyle committed Jan 27, 2023
1 parent 409f533 commit 58e5a11
Showing 1 changed file with 4 additions and 10 deletions.
14 changes: 4 additions & 10 deletions Lib/idlelib/dynoption.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,24 +2,18 @@
OptionMenu widget modified to allow dynamic menu reconfiguration
and setting of highlightthickness
"""
import copy

from tkinter import OptionMenu, _setit, StringVar, Button

class DynOptionMenu(OptionMenu):
"""
unlike OptionMenu, our kwargs can include highlightthickness
"""
def __init__(self, master, variable, value, *values, **kwargs):
# TODO copy value instead of whole dict
kwargsCopy=copy.copy(kwargs)
if 'highlightthickness' in list(kwargs.keys()):
del(kwargs['highlightthickness'])
highlightthickness = kwargs.pop('highlightthickness', None)
OptionMenu.__init__(self, master, variable, value, *values, **kwargs)
self.config(highlightthickness=kwargsCopy.get('highlightthickness'))
#self.menu=self['menu']
self.variable=variable
self.command=kwargs.get('command')
self.config(highlightthickness=highlightthickness)
self.variable = variable
self.command = kwargs.get('command')

def SetMenu(self,valueList,value=None):
"""
Expand Down

0 comments on commit 58e5a11

Please sign in to comment.