'Construct a themed OptionMenu widget with master as the parent,
the resource textvariable set to variable, the initially selected
value specified by the default parameter, the menu values given by
*values and additional keywords.
WIDGET-SPECIFIC OPTIONS
style: stylename
Menubutton style.
direction: \'above\', \'below\', \'left\', \'right\', or \'flush\'
Menubutton direction.
command: callback
A callback that will be invoked after selecting an item.'

def __init__(self, master, variable, default=None, *values, **kwargs):

    kw = {'textvariable': variable, 'style': kwargs.pop('style', None), 'direction': kwargs.pop('direction', None)}
    Menubutton.__init__(self, master, **kw)
    self['menu'] = Tkinter.Menu(self, tearoff=False)
    self._variable = variable
    self._callback = kwargs.pop('command', None)
    if kwargs:
        raise Tkinter.TclError(('unknown    option    -%s' % kwargs.iterkeys().next()))
    self.set_menu(default, *values)
