Re: Layout problems when getting widgets from glade file



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]