<!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.5.7226.0">
<TITLE>GvOptionMenu callback</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P DIR=LTR><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">H</FONT><FONT SIZE=2 FACE="Courier New">i</FONT> <FONT SIZE=2 FACE="Courier New">list,</FONT></SPAN><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">I</FONT></SPAN><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New"> use</FONT> <FONT SIZE=2 FACE="Courier New">gvutils.GvOptionMenu</FONT><FONT SIZE=2 FACE="Courier New"> instead of entry box</FONT><FONT SIZE=2 FACE="Courier New">.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">Problem is that I don</FONT><FONT SIZE=2 FACE="Courier New">&#8217;</FONT><FONT SIZE=2 FACE="Courier New">t know how to trigger the callback</FONT></SPAN><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New"></FONT> <FONT SIZE=2 FACE="Courier New">when a different item is selected.</FONT></SPAN><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">I get message</FONT><FONT SIZE=2 FACE="Courier New">:</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">Gtk-WARNING **: gtk_signal_connect_full(): could not find signal &quot;changed&quot; in th</FONT><FONT SIZE=2 FACE="Courier New">e `GtkOptionMenu' class ancestry</FONT></SPAN><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">T</FONT><FONT SIZE=2 FACE="Courier New">hanks,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">Shawn Gong</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">T</FONT><FONT SIZE=2 FACE="Courier New">he</FONT> <FONT SIZE=2 FACE="Courier New">callback is in</FONT></SPAN><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New"> the second last line.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">---------------------------------</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp; def create_</FONT><FONT SIZE=2 FACE="Courier New">gui(self):</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.set_policy(gtk.FALSE, gtk.TRUE, gtk.TRUE)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #put all the frames in a dict so</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #we can show and hide them</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.frame_dict = {}</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # main box</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gui_box = gtk.GtkVBox(spacing=20, homogeneous=gtk.FALSE)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gui_box.set_border_width(10)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.add(gui_box)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # algorithm option menu</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; frame = gtk.GtkFrame(</FONT><FONT SIZE=2 FACE="Courier New">Algorithm')</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.frame_dict['algorit</FONT><FONT SIZE=2 FACE="Courier New">hm'] = frame</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; gui_box.add(frame,expand=FALSE)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vbox = gtk.GtkVBox(spacing=15)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vbox.set_border_width(10)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; frame.add(vbox)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; box = gtk.GtkHBox(spacing=5)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vbox.add(box,expand=FALSE)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.alg = gvutils.GvOpti</FONT><FONT SIZE=2 FACE="Courier New">onMenu(ALG_LIST)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.alg.set_history(0)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.alg.connect('c</FONT></SPAN><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">hang</FONT></SPAN><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">ed',self.algorithm_changed_cb)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; box.add(self.alg)</FONT></SPAN><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT></SPAN><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"> <FONT SIZE=2 FACE="Courier New">...</FONT></SPAN><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"><FONT SIZE=2 FACE="Courier New"></FONT></SPAN><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"> <FONT SIZE=2 FACE="Courier New">...</FONT></SPAN><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"></SPAN></P>

<P DIR=LTR><SPAN LANG="en-ca"></SPAN><SPAN LANG="en-ca"></SPAN></P>

</BODY>
</HTML>