package Size_Group_Mode_Properties is new Glib.Generic_Properties.Generic_Internal_Discrete_Property (Size_Group_Mode);
package Implements_Buildable is new Glib.Types.Implements (Gtk.Buildable.Gtk_Buildable, Gtk_Size_Group_Record, Gtk_Size_Group);
type Gtk_Size_Group_Record is new GObject_Record with null record;
type Gtk_Size_Group is access all Gtk_Size_Group_Record'Class;
type Property_Size_Group_Mode is new Size_Group_Mode_Properties.Property;
Ignore_Hidden_Property : constant Glib.Properties.Property_Boolean;
Mode_Property : constant Gtk.Size_Group.Property_Size_Group_Mode;
procedure Gtk_New
| ( | Size_Group | : out Gtk_Size_Group; |
| Mode | : Size_Group_Mode := Both); |
procedure Initialize
| ( | Size_Group | : access Gtk_Size_Group_Record'Class; |
| Mode | : Size_Group_Mode := Both); |
function Get_Type return Glib.GType;
procedure Add_Widget
| ( | Size_Group | : access Gtk_Size_Group_Record; |
| Widget | : access Gtk.Widget.Gtk_Widget_Record'Class); |
function Get_Ignore_Hidden
| ( | Size_Group | : access Gtk_Size_Group_Record) return Boolean; |
procedure Set_Ignore_Hidden
| ( | Size_Group | : access Gtk_Size_Group_Record; |
| Ignore_Hidden | : Boolean); |
function Get_Mode
| ( | Size_Group | : access Gtk_Size_Group_Record) return Size_Group_Mode; |
procedure Set_Mode
| ( | Size_Group | : access Gtk_Size_Group_Record; |
| Mode | : Size_Group_Mode); |
function Get_Widgets
| ( | Size_Group | : access Gtk_Size_Group_Record) return Gtk.Widget.Widget_SList.GSlist; |
procedure Remove_Widget
| ( | Size_Group | : access Gtk_Size_Group_Record; |
| Widget | : access Gtk.Widget.Gtk_Widget_Record'Class); |
function "+"
| ( | Widget | : access Gtk_Size_Group_Record'Class) return Gtk.Buildable.Gtk_Buildable renames Implements_Buildable.To_Interface; |
function "-"
| ( | Interf | : Gtk.Buildable.Gtk_Buildable) return Gtk_Size_Group renames Implements_Buildable.To_Object; |
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.