2009/5/17 Cowley Harris <warewolfe gmail com>:
2009/5/16 Peter E Dennis <peter edwin dennis gmail com>:What I'm trying to do is to get the program using the glade file to look like the one that isn't. I would ideally like to be able to use glade than hand code the entire gui.Try setting the default window size for the main window with Gtk2::Window::set_default_size.
Sorry I think I was unclear on this point and I appreciate this
suggestion but the problem is I need to get the glade file one to
shrink so that when I add more widgets to the Gtk2::Table in my
&ret_table() function, the window isn't too large for the screen upon
executing the *.pl file that loads the gui.
Upon further testing this actually works if the labels are all the
same size - in with_glade.pl change ret_table to:
sub ret_table
{
my $table = Gtk2::Table->new(2,9,FALSE);
# Title Row
my $lbl_num = Gtk2::Label->new("label 1");
my $lbl_time = Gtk2::Label->new("label 2");
my $lbl_objectives = Gtk2::Label->new("label 3");
my $lbl_tasks = Gtk2::Label->new("label 4");
my $lbl_resources = Gtk2::Label->new("label 5");
my $tcol_sep1 = Gtk2::VSeparator->new;
my $tcol_sep2 = Gtk2::VSeparator->new;
my $tcol_sep3 = Gtk2::VSeparator->new;
my $tcol_sep4 = Gtk2::VSeparator->new;
# Layout title row
$table->attach_defaults($lbl_num, 0,1,0,1);
$table->attach_defaults($tcol_sep1, 1,2,0,1);
$table->attach_defaults($lbl_time, 2,3,0,1);
$table->attach_defaults($tcol_sep2, 3,4,0,1);
$table->attach_defaults($lbl_objectives, 4,5,0,1);
$table->attach_defaults($tcol_sep3, 5,6,0,1);
$table->attach_defaults($lbl_tasks, 6,7,0,1);
$table->attach_defaults($tcol_sep4, 7,8,0,1);
$table->attach_defaults($lbl_resources, 8,9,0,1);
return $table;
}
However, if the labels are different lengths the window becomes too
large for the screen (diff_len_labels.png). The rest of the last two
labels are off the right hand side of my screen.
In with_glade.pl change ret_table to:
sub ret_table
{
my $table = Gtk2::Table->new(2,9,FALSE);
# Title Row
my $lbl_num = Gtk2::Label->new("Num");
my $lbl_time = Gtk2::Label->new("Time/Session");
my $lbl_objectives = Gtk2::Label->new("Objectives/Learning Outcomes");
my $lbl_tasks = Gtk2::Label->new("Activities/Tasks/Content");
my $lbl_resources = Gtk2::Label->new("Resources");
my $tcol_sep1 = Gtk2::VSeparator->new;
my $tcol_sep2 = Gtk2::VSeparator->new;
my $tcol_sep3 = Gtk2::VSeparator->new;
my $tcol_sep4 = Gtk2::VSeparator->new;
# Layout title row
$table->attach_defaults($lbl_num, 0,1,0,1);
$table->attach_defaults($tcol_sep1, 1,2,0,1);
$table->attach_defaults($lbl_time, 2,3,0,1);
$table->attach_defaults($tcol_sep2, 3,4,0,1);
$table->attach_defaults($lbl_objectives, 4,5,0,1);
$table->attach_defaults($tcol_sep3, 5,6,0,1);
$table->attach_defaults($lbl_tasks, 6,7,0,1);
$table->attach_defaults($tcol_sep4, 7,8,0,1);
$table->attach_defaults($lbl_resources, 8,9,0,1);
return $table;
}
How do I get my program to cope with different length labels so the
window fits on the screen?
Attachment:
diff_len_labels.png
Description: PNG image