in reply to Re: Help with JComboBox
in thread Help with JComboBox
I also tried to set the variable in the callback for the button on the main window and got the same problem.sub CallDialog { $testbox1->configure(-state=>'disabled'); ############################### # Added this line so the displayed value is correct $selected = $selected_1; ############################### my $retval = $dialog->Show( -popover=>$form, -overanchor=>'c', -po +panchor=>'c'); if($retval eq "Cancel") { $testbox1->configure(-state=>'normal'); } elsif($retval eq "Submit") { $testbox1->configure(-state=>'normal'); $testbox1->setSelected($selected ); #(optional?) } }
I have also tried passing the variable $selected to the sub CallDialog in the callback. Same problem.my $button = $form->Button( -text=>"Dialog", -command=>sub{$selected= +$selected_1;CallDialog($testbox1);} )->pack(-side=>'right');
Thanks again for your help. ++Too bad I can vote only once per node.use strict; use warnings; use Tk; use Tk::JComboBox; use Tk::Dialog; my $form; my %choices = ( 'a'=>1, 'b'=>2, 'c'=>3 ); my $selected_1 = "a"; my $selected = "a"; my $dialog; my $testbox1; my $testbox2; CreateMainForm(); MainLoop(); sub CreateMainForm { $form = MainWindow->new(); $form->title("Test for JComboBox Problem"); $testbox1 = $form->JComboBox( -textvariable=>\$selected_1,-valida +te=>'match', -mode=>'editable',-relief=>'sunken', -highlightthicknes +s=>0 ); for my $x(keys %choices) { $testbox1->addItem("$x"); } $testbox1->pack(-side=>'left'); my $button = $form->Button( -text=>"Dialog", -command=>sub{CallDi +alog();} )->pack(-side=>'right'); $dialog = $form->Dialog ( -title=>"Part2 of test", -buttons=>["Su +bmit","Cancel"],-default_button=>"Submit" ); $testbox2 = $dialog->JComboBox(-textvariable=>\$selected, -validat +e=>'match',-mode=>'editable', -relief=>'sunken',-highlightthickness=> +0); for my $x(keys %choices) { $testbox2->addItem("$x"); } $testbox2->pack(-side=>'left'); } sub CallDialog { $testbox2->setSelected($selected_1); my $retval = $dialog->Show( -popover=>$form, -overanchor=>'c', -po +panchor=>'c'); if($retval eq "Cancel") { $testbox1->configure(-state=>'normal'); } elsif($retval eq "Submit") { $testbox1->setSelected($selected ); #(optional?) } }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Help with JComboBox
by JamesNC (Chaplain) on Nov 17, 2004 at 20:56 UTC | |
by TonyDonker (Novice) on Feb 14, 2005 at 08:50 UTC | |
by JamesNC (Chaplain) on Feb 14, 2005 at 14:49 UTC | |
by rcseege (Pilgrim) on Feb 16, 2005 at 10:52 UTC | |
by TonyDonker (Novice) on Feb 16, 2005 at 12:50 UTC | |
| |
by TonyDonker (Novice) on Feb 15, 2005 at 07:57 UTC |