Next: , Previous: Package_Gtk.Separator_Menu_Item, Up: Top



Package Gtk.Size_Group

Gtk_Size_Group provides a mechanism for grouping a number of widgets together so they all request the same amount of space. This is typically useful when you want a column of widgets to have the same size, but you can't use a Gtk_Table widget.

Note that size groups only affect the amount of space requested, not the size that the widgets finally receive. If you want the widgets in a Gtk_Size_Group to actually be the same size, you need to pack them in such a way that they get the size they request and not more. For example, if you are packing your widgets into a table, you would not include the Fill flag.

Widget Hierarchy
     GObject                       (see Package_Glib.Object)
     Gtk_Object                    (see Package_Gtk.Object)
        \___ Gtk_Size_Group        (see Package_Gtk.Size_Group)
     

Types

type Property_Size_Group_Mode is new Size_Group_Mode_Properties.Property;





type Size_Group_Mode is
(None, Horizontal, Vertical, Both);




Subprograms
procedure Gtk_New (Size_Group : out Gtk_Size_Group; Mode : Size_Group_Mode := Both);
Create a new group.
Initially, it doesn't contain any widget, and you need to add them with the Add_Widget procedure.

function Get_Type return Gtk.Gtk_Type;
Return the internal value associated with a Gtk_Size_Group

procedure Set_Mode (Size_Group : access Gtk_Size_Group_Record; Mode : Size_Group_Mode);
Change the way the group effects the size of its component widgets.

function Get_Mode (Size_Group : access Gtk_Size_Group_Record) return Size_Group_Mode;
Indicate the way the group effects the size of its component widgets.

procedure Add_Widget (Size_Group : access Gtk_Size_Group_Record; Widget : access Gtk.Widget.Gtk_Widget_Record'Class);
Add a new widget in the group.
Its size will be effected by all other widgets in the group: the size requisition of the widget will be the maximum of its requisition and the requisition of the other widgets in the group (depending on the group mode).

A given widget can belong to only one size group. It is removed from its previous group before being added to Size_Group.

procedure Remove_Widget (Size_Group : access Gtk_Size_Group_Record; Widget : access Gtk.Widget.Gtk_Widget_Record'Class);
Remove a widget from the group.