package Implements_Gtk_Buildable is new Glib.Types.Implements (Gtk.Buildable.Gtk_Buildable, Gtk_Paned_Record, Gtk_Paned);
package Implements_Gtk_Orientable is new Glib.Types.Implements (Gtk.Orientable.Gtk_Orientable, Gtk_Paned_Record, Gtk_Paned);
type Gtk_Paned_Record is new Gtk_Container_Record with null record;
type Gtk_Paned is access all Gtk_Paned_Record'Class;
subtype Gtk_Hpaned_Record is Gtk_Paned_Record;
subtype Gtk_Hpaned is Gtk_Paned;
subtype Gtk_Vpaned_Record is Gtk_Paned_Record;
subtype Gtk_Vpaned is Gtk_Paned;
type Cb_Gtk_Paned_Boolean is not null access function (Self : access Gtk_Paned_Record'Class) return Boolean;
type Cb_GObject_Boolean is not null access function (Self : access Glib.Object.GObject_Record'Class) return Boolean;
type Cb_Gtk_Paned_Boolean_Boolean is not null access function (Self : access Gtk_Paned_Record'Class; Reversed : Boolean) return Boolean;
type Cb_GObject_Boolean_Boolean is not null access function (Self : access Glib.Object.GObject_Record'Class; Reversed : Boolean) return Boolean;
type Cb_Gtk_Paned_Gtk_Scroll_Type_Boolean is not null access function (Self : access Gtk_Paned_Record'Class; Scroll_Type : Gtk.Enums.Gtk_Scroll_Type) return Boolean;
type Cb_GObject_Gtk_Scroll_Type_Boolean is not null access function (Self : access Glib.Object.GObject_Record'Class; Scroll_Type : Gtk.Enums.Gtk_Scroll_Type) return Boolean;
Max_Position_Property : constant Glib.Properties.Property_Int;
Min_Position_Property : constant Glib.Properties.Property_Int;
Position_Property : constant Glib.Properties.Property_Int;
Position_Set_Property : constant Glib.Properties.Property_Boolean;
Signal_Accept_Position : constant Glib.Signal_Name := "accept-position";
Signal_Cancel_Position : constant Glib.Signal_Name := "cancel-position";
Signal_Cycle_Child_Focus : constant Glib.Signal_Name := "cycle-child-focus";
Signal_Cycle_Handle_Focus : constant Glib.Signal_Name := "cycle-handle-focus";
Signal_Move_Handle : constant Glib.Signal_Name := "move-handle";
Signal_Toggle_Handle_Focus : constant Glib.Signal_Name := "toggle-handle-focus";
procedure Gtk_New
( | Paned | : out Gtk_Paned; |
Orientation | : Gtk.Enums.Gtk_Orientation); |
procedure Initialize
( | Paned | : not null access Gtk_Paned_Record'Class; |
Orientation | : Gtk.Enums.Gtk_Orientation); |
function Gtk_Paned_New
( | Orientation | : Gtk.Enums.Gtk_Orientation) return Gtk_Paned; |
function Get_Type return Glib.GType;
procedure Gtk_New_Hpaned
( | Paned | : out Gtk_Hpaned); |
procedure Initialize_Hpaned
( | Paned | : not null access Gtk_Hpaned_Record'Class); |
function Gtk_Hpaned_New return Gtk_Hpaned;
function Get_Type_Hpaned return Glib.GType;
procedure Gtk_New_Vpaned
( | Paned | : out Gtk_Vpaned); |
procedure Initialize_Vpaned
( | Paned | : not null access Gtk_Vpaned_Record'Class); |
function Gtk_Vpaned_New return Gtk_Vpaned;
function Get_Type_Vpaned return Glib.GType;
procedure Add1
( | Paned | : not null access Gtk_Paned_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class); |
procedure Add2
( | Paned | : not null access Gtk_Paned_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class); |
function Get_Child1
( | Paned | : not null access Gtk_Paned_Record) return Gtk.Widget.Gtk_Widget; |
function Get_Child2
( | Paned | : not null access Gtk_Paned_Record) return Gtk.Widget.Gtk_Widget; |
function Get_Handle_Window
( | Paned | : not null access Gtk_Paned_Record) return Gdk.Gdk_Window; |
function Get_Position
( | Paned | : not null access Gtk_Paned_Record) return Gint; |
procedure Set_Position
( | Paned | : not null access Gtk_Paned_Record; |
Position | : Gint); |
procedure Pack1
( | Paned | : not null access Gtk_Paned_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class; | |
Resize | : Boolean := False; | |
Shrink | : Boolean := True); |
procedure Pack2
( | Paned | : not null access Gtk_Paned_Record; |
Child | : not null access Gtk.Widget.Gtk_Widget_Record'Class; | |
Resize | : Boolean := False; | |
Shrink | : Boolean := False); |
function Get_Orientation
( | Self | : not null access Gtk_Paned_Record) return Gtk.Enums.Gtk_Orientation; |
procedure Set_Orientation
( | Self | : not null access Gtk_Paned_Record; |
Orientation | : Gtk.Enums.Gtk_Orientation); |
procedure On_Accept_Position
( | Self | : not null access Gtk_Paned_Record; |
Call | : Cb_Gtk_Paned_Boolean; | |
After | : Boolean := False); |
procedure On_Accept_Position
( | Self | : not null access Gtk_Paned_Record; |
Call | : Cb_GObject_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Cancel_Position
( | Self | : not null access Gtk_Paned_Record; |
Call | : Cb_Gtk_Paned_Boolean; | |
After | : Boolean := False); |
procedure On_Cancel_Position
( | Self | : not null access Gtk_Paned_Record; |
Call | : Cb_GObject_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Cycle_Child_Focus
( | Self | : not null access Gtk_Paned_Record; |
Call | : Cb_Gtk_Paned_Boolean_Boolean; | |
After | : Boolean := False); |
procedure On_Cycle_Child_Focus
( | Self | : not null access Gtk_Paned_Record; |
Call | : Cb_GObject_Boolean_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Cycle_Handle_Focus
( | Self | : not null access Gtk_Paned_Record; |
Call | : Cb_Gtk_Paned_Boolean_Boolean; | |
After | : Boolean := False); |
procedure On_Cycle_Handle_Focus
( | Self | : not null access Gtk_Paned_Record; |
Call | : Cb_GObject_Boolean_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Move_Handle
( | Self | : not null access Gtk_Paned_Record; |
Call | : Cb_Gtk_Paned_Gtk_Scroll_Type_Boolean; | |
After | : Boolean := False); |
procedure On_Move_Handle
( | Self | : not null access Gtk_Paned_Record; |
Call | : Cb_GObject_Gtk_Scroll_Type_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
procedure On_Toggle_Handle_Focus
( | Self | : not null access Gtk_Paned_Record; |
Call | : Cb_Gtk_Paned_Boolean; | |
After | : Boolean := False); |
procedure On_Toggle_Handle_Focus
( | Self | : not null access Gtk_Paned_Record; |
Call | : Cb_GObject_Boolean; | |
Slot | : not null access Glib.Object.GObject_Record'Class; | |
After | : Boolean := False); |
function "+"
( | Widget | : access Gtk_Paned_Record'Class) return Gtk.Buildable.Gtk_Buildable renames Implements_Gtk_Buildable.To_Interface; |
function "-"
( | Interf | : Gtk.Buildable.Gtk_Buildable) return Gtk_Paned renames Implements_Gtk_Buildable.To_Object; |
function "+"
( | Widget | : access Gtk_Paned_Record'Class) return Gtk.Orientable.Gtk_Orientable renames Implements_Gtk_Orientable.To_Interface; |
function "-"
( | Interf | : Gtk.Orientable.Gtk_Orientable) return Gtk_Paned renames Implements_Gtk_Orientable.To_Object; |
Gtk.Paned.Gtk_Paned has two panes, arranged either horizontally or vertically. The division between the two panes is adjustable by the user by dragging a handle.
Child widgets are added to the panes of the widget with Gtk.Paned.Pack1 and Gtk.Paned.Pack2. The division between the two children is set by default from the size requests of the children, but it can be adjusted by the user.
A paned widget draws a separator between the two child widgets and a small handle that the user can drag to adjust the division. It does not draw any relief around the children or around the separator. (The space in which the separator is called the gutter.) Often, it is useful to put each child inside a Gtk.Frame.Gtk_Frame with the shadow type set to Gtk.Enums.Shadow_In so that the gutter appears as a ridge. No separator is drawn if one of the children is missing.
Each child has two options that can be set, Resize and Shrink. If Resize is true, then when the Gtk.Paned.Gtk_Paned is resized, that child will expand or shrink along with the paned widget. If Shrink is true, then that child can be made smaller than its requisition by the user. Setting Shrink to False allows the application to set a minimum size. If Resize is false for both children, then this is treated as if Resize is true for both children.
The application can set the position of the slider as if it were set by the user, by calling Gtk.Paned.Set_Position. == Creating a paned widget with minimum sizes. == GtkWidget *hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL); GtkWidget *frame1 = gtk_frame_new (NULL); GtkWidget *frame2 = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_IN); gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_IN); gtk_widget_set_size_request (hpaned, 200, -1); gtk_paned_pack1 (GTK_PANED (hpaned), frame1, TRUE, FALSE); gtk_widget_set_size_request (frame1, 50, -1); gtk_paned_pack2 (GTK_PANED (hpaned), frame2, FALSE, FALSE); gtk_widget_set_size_request (frame2, 50, -1);