[Contents] [Back] [Prev] [Up] [Next] [Forward]

# 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.

- Gtk.Size_Group Widget Hierarchy
- Gtk.Size_Group Types
- Gtk.Size_Group Subprograms

## Widget Hierarchy

    GObject                       (see section Package Glib.Object)
    Gtk_Object                    (see section Package Gtk.Object)
       \___ Gtk_Size_Group        (see section 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.

[Contents] [Back] [Prev] [Up] [Next] [Forward]