Hi,
I don't want to change the geometry. I expect the window to automatically resize/refresh contents when a new widget is invoked. When the button is pressed, the new widget is created just below the button, but unless I resize the top level it can't be seen.
Maybe some code can help:
sub manage_dirtree {
my $TOP = shift;
my $create_ref = shift;
my $dir_but = shift;
my $dir_frame = shift;
my $blks_box;
my $i;
my @files_list;
if ($$create_ref) {
$$dir_frame = $TOP->Frame(-borderwidth => 2 , -relief => 'groo
+ve') ->grid(-row=>9,-column=>0,-columnspan=>4,-sticky=>'we');
$$dir_frame->gridColumnconfigure(1, -weight => 1);
my $d = $$dir_frame->Scrolled('DirTree',
-label=>'Choose Directory',
-scrollbars => 'se',
-width => 25,
-height => 18,
-selectmode => 'browse',
-exportselection =>1,
-command => sub { },
)->grid(-column=>0,-row=>0,-sticky=>'ew',-columnspan=>2);
$blks_box = $$dir_frame->Scrolled('Frame',
-scrollbars=>'oe',
-label=>'Blocks in Dir.'
)->grid(-column=>2,-columnspan=>2,-row=>0,-sticky=>'news');
$dir_but->configure(-text=>'Hide Directories');
} else {
$$dir_frame->destroy;
$dir_but->configure(-text=>'Add Directory');
}
$$create_ref = !$$create_ref;
}
And here is the button:
$add_dir_button = $bottom_frame->Button(-text=>"Add direct
+ory",
-command=>sub { manage_d
+irtree($TOP,\$create,$add_dir_button,\$dir_frame); }
)->grid(-row=>0,-column=>2,-colu
+mnspan=>2,-sticky=>'e');
|