<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.0.4712.0">
<TITLE>TKinter question - A combo box / menu question</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<BR>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">I am trying to build a very simple menu</FONT> <FONT SIZE=2 FACE="Tahoma">portion of a program.  I have the main frame created and the menu box is a widget in that frame.  The menu is a straight pull down menu.  However,</FONT></SPAN><SPAN LANG="en-us"> <FONT SIZE=2 FACE="Tahoma">in</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> the</FONT></SPAN><SPAN LANG="en-us"> <FONT SIZE=2 FACE="Tahoma">“</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">LOAD</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">”</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> part of the menu where I wo</FONT><FONT SIZE=2 FACE="Tahoma">uld like to create a pop-up combo box</FONT><FONT SIZE=2 FACE="Tahoma"> when load is selected from the menu. </FONT> <FONT SIZE=2 FACE="Tahoma">I have created both working widgets, but every time I execute the program, it pops up the Comb</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">o</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">DialogBox</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">.  I want this box to be a part of an event, not actually being</FONT> <FONT SIZE=2 FACE="Tahoma">built.  Can anyone help with this?</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">class TopMenuBar:</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">  def __init__(self, parent):</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    menu_Bar = Frame(parent, relief=GROOVE, borderwidth =1)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    menu_Bar.pack(fill=X)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    FileBtn = self.player_Load_Menu(menu_Bar)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    ConfigureBtn = self.player_Configure</FONT><FONT SIZE=2 FACE="Tahoma">_Menu(menu_Bar)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">  def player_Load_Menu(self, menu_Bar):</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    #Create the first top menu item</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    CmdBtn = Menubutton(menu_Bar, text='Character Selection', underline=0)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    CmdBtn.pack(side=LEFT)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    CmdBtn.menu = Menu(CmdBtn, tearoff=0)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    #Begin creating</FONT><FONT SIZE=2 FACE="Tahoma"> the items in the first top menu</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    CmdBtn.menu.add_command(label="Load Form", command=self.open_file(menu_Bar))</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    CmdBtn.menu.add_command(label="Save Form", command=self.save_file)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    CmdBtn.menu.add_command(label="New Form", command=self.new_file)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> </FONT> <FONT SIZE=2 FACE="Tahoma">  CmdBtn.menu.add('separator')</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    CmdBtn.menu.add_command(label="Quit", command=self.quit_file)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    CmdBtn['menu'] = CmdBtn.menu</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    return(CmdBtn)</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">  def player_Configure_Menu(self, menu_Bar):</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    #Create the second top menu item</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    CmdBtn = Menubutton(menu_Bar, text='Configure Form', underline=0)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    CmdBtn.pack(side=LEFT)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    CmdBtn.menu = Menu(CmdBtn, tearoff=0)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    #Begin creating the items in</FONT> <FONT SIZE=2 FACE="Tahoma">the second top menu</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    CmdBtn.menu.add_command(label="Add level", command=self.add_level)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    CmdBtn.menu.add_command(label="Subtract level", command=self.subtract_level)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    CmdBtn['menu'] = CmdBtn.menu</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    return(CmdBtn)</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">  def open_file(self, parent):</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    #Need the listofcharacters to be a tuple sequence.</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    from char_edit_combo_load import *</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    forms = []</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    listOfCharacters = tuple(getFiles(forms))</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    dialog = Pmw.ComboBoxDialog(parent, title = "Character Load",</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">                                but</FONT><FONT SIZE=2 FACE="Tahoma">tons = ('OK', 'Cancel'), defaultbutton = 'OK',</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">                                combobox_labelpos=N, label_text="Please select a character",</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">                                scrolledlist_items=listOfCharacters, listbox_width=22)</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    dialog.withdraw()</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    res</FONT><FONT SIZE=2 FACE="Tahoma">ult=dialog.activate()</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    # The function has now opened seen the selection, time to open the file.</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    if result == 'OK':</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">      return(readObjectFromFile(dialog.get()))</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">    else:</FONT></SPAN></P>

<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">      return(None)</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<BR>

</BODY>
</HTML>