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.