Index

Package: Paned

Description

package Gtk.Paned is

A Gtk_Paned is a container that organizes its two children either horizontally or vertically. The initial size allocated to the children depends on the size they request. However, the user has the possibility to interactively move a separation bar between the two to enlarge one of the children, while at the same time shrinking the second one. The bar can be moved by clicking with the mouse on a small cursor displayed in the bar, and then dragging the mouse.

No additional decoration is provided around the children.

Each child has two parameters, Resize and Shrink.

If Shrink is True, then the widget can be made smaller than its requisition size by the user. Set this to False if you want to set a minimum size. if Resize is True, this means that the child accepts to be resized, and will not require any size. Thus, the size allocated to it will be the total size allocated to the container minus the size requested by the other child. If Resize is False, the child should ask for a specific size, which it will get. The other child will be resized accordingly. If both Child have the same value for Resize (either True or False), then the size allocated to each is a ratio between the size requested by both.

When you use Set_Position with a parameter other than -1, or the user moves the handle to resize the widgets, the behavior of Resize is canceled.

Screenshot

gtk-paned.png
<testgtk>create_paned.adb</testgtk>

Packages

Implements_Buildable (new Glib.Types.Implements)

Implements_Orientable (new Glib.Types.Implements)

Classes

Gtk_Paned_Record

type Gtk_Paned_Record is new Gtk_Container_Record with null record;

Ancestors:

Immediate Children:

Primitive operations:

Compute_Position
Get_Handle_Window
Get_Orientation
Get_Position
Glib.Object.Deallocate (Inherited)
Glib.Object.Get_Type (Inherited)
Glib.Object.Notify (Inherited)
Glib.Object.Ref (Inherited)
Glib.Object.Ref_Sink (Inherited)
Glib.Object.Unref (Inherited)
Gtk.Container.Add (Inherited)
Gtk.Container.Check_Resize (Inherited)
Gtk.Container.Child_Get_Property (Inherited)
Gtk.Container.Child_Set_Property (Inherited)
Gtk.Container.Child_Type (Inherited)
Gtk.Container.Forall (Inherited)
Gtk.Container.Foreach (Inherited)
Gtk.Container.Get_Border_Width (Inherited)
Gtk.Container.Get_Children (Inherited)
Gtk.Container.Get_Focus_Chain (Inherited)
Gtk.Container.Get_Focus_Child (Inherited)
Gtk.Container.Get_Focus_Hadjustment (Inherited)
Gtk.Container.Get_Focus_Vadjustment (Inherited)
Gtk.Container.Get_Resize_Mode (Inherited)
Gtk.Container.Propagate_Expose (Inherited)
Gtk.Container.Remove (Inherited)
Gtk.Container.Resize_Children (Inherited)
Gtk.Container.Set_Border_Width (Inherited)
Gtk.Container.Set_Focus_Chain (Inherited)
Gtk.Container.Set_Focus_Child (Inherited)
Gtk.Container.Set_Focus_Hadjustment (Inherited)
Gtk.Container.Set_Focus_Vadjustment (Inherited)
Gtk.Container.Set_Reallocate_Redraws (Inherited)
Gtk.Container.Set_Resize_Mode (Inherited)
Gtk.Container.Unset_Focus_Chain (Inherited)
Gtk.Widget.Activate (Inherited)
Gtk.Widget.Add_Accelerator (Inherited)
Gtk.Widget.Add_Events (Inherited)
Gtk.Widget.Add_Mnemonic_Label (Inherited)
Gtk.Widget.Can_Activate_Accel (Inherited)
Gtk.Widget.Child_Notify (Inherited)
Gtk.Widget.Class_Path (Inherited)
Gtk.Widget.Class_Path_Reversed (Inherited)
Gtk.Widget.Create_Pango_Context (Inherited)
Gtk.Widget.Create_Pango_Layout (Inherited)
Gtk.Widget.Destroy (Inherited)
Gtk.Widget.Draw (Inherited)
Gtk.Widget.Ensure_Style (Inherited)
Gtk.Widget.Error_Bell (Inherited)
Gtk.Widget.Flag_Is_Set (Inherited)
Gtk.Widget.Flags (Inherited)
Gtk.Widget.Freeze_Child_Notify (Inherited)
Gtk.Widget.Get_Allocation_Height (Inherited)
Gtk.Widget.Get_Allocation_Width (Inherited)
Gtk.Widget.Get_Allocation_X (Inherited)
Gtk.Widget.Get_Allocation_Y (Inherited)
Gtk.Widget.Get_Ancestor (Inherited)
Gtk.Widget.Get_Child_Requisition (Inherited)
Gtk.Widget.Get_Child_Visible (Inherited)
Gtk.Widget.Get_Colormap (Inherited)
Gtk.Widget.Get_Composite_Name (Inherited)
Gtk.Widget.Get_Direction (Inherited)
Gtk.Widget.Get_Events (Inherited)
Gtk.Widget.Get_Extension_Events (Inherited)
Gtk.Widget.Get_Has_Tooltip (Inherited)
Gtk.Widget.Get_Name (Inherited)
Gtk.Widget.Get_No_Show_All (Inherited)
Gtk.Widget.Get_Pango_Context (Inherited)
Gtk.Widget.Get_Parent (Inherited)
Gtk.Widget.Get_Parent_Window (Inherited)
Gtk.Widget.Get_Pointer (Inherited)
Gtk.Widget.Get_Root_Window (Inherited)
Gtk.Widget.Get_Size_Request (Inherited)
Gtk.Widget.Get_Snapshot (Inherited)
Gtk.Widget.Get_State (Inherited)
Gtk.Widget.Get_Style (Inherited)
Gtk.Widget.Get_Tooltip_Markup (Inherited)
Gtk.Widget.Get_Tooltip_Text (Inherited)
Gtk.Widget.Get_Tooltip_Window (Inherited)
Gtk.Widget.Get_Toplevel (Inherited)
Gtk.Widget.Get_Visual (Inherited)
Gtk.Widget.Get_Window (Inherited)
Gtk.Widget.Grab_Default (Inherited)
Gtk.Widget.Grab_Focus (Inherited)
Gtk.Widget.Has_Screen (Inherited)
Gtk.Widget.Hide (Inherited)
Gtk.Widget.Hide_All (Inherited)
Gtk.Widget.Input_Shape_Combine_Mask (Inherited)
Gtk.Widget.Intersect (Inherited)
Gtk.Widget.Is_Ancestor (Inherited)
Gtk.Widget.Is_Composited (Inherited)
Gtk.Widget.Is_Focus (Inherited)
Gtk.Widget.Keynav_Failed (Inherited)
Gtk.Widget.List_Mnemonic_Labels (Inherited)
Gtk.Widget.Map (Inherited)
Gtk.Widget.Mnemonic_Activate (Inherited)
Gtk.Widget.Modify_Base (Inherited)
Gtk.Widget.Modify_Bg (Inherited)
Gtk.Widget.Modify_Cursor (Inherited)
Gtk.Widget.Modify_Fg (Inherited)
Gtk.Widget.Modify_Font (Inherited)
Gtk.Widget.Modify_Text (Inherited)
Gtk.Widget.Path (Inherited)
Gtk.Widget.Path_Reversed (Inherited)
Gtk.Widget.Queue_Clear (Inherited)
Gtk.Widget.Queue_Clear_Area (Inherited)
Gtk.Widget.Queue_Draw (Inherited)
Gtk.Widget.Queue_Draw_Area (Inherited)
Gtk.Widget.Queue_Resize (Inherited)
Gtk.Widget.Queue_Resize_No_Redraw (Inherited)
Gtk.Widget.Realize (Inherited)
Gtk.Widget.Region_Intersect (Inherited)
Gtk.Widget.Remove_Accelerator (Inherited)
Gtk.Widget.Remove_Mnemonic_Label (Inherited)
Gtk.Widget.Render_Icon (Inherited)
Gtk.Widget.Reparent (Inherited)
Gtk.Widget.Reset_Rc_Styles (Inherited)
Gtk.Widget.Reset_Shapes (Inherited)
Gtk.Widget.Restore_Default_Style (Inherited)
Gtk.Widget.Send_Expose (Inherited)
Gtk.Widget.Set_Accel_Path (Inherited)
Gtk.Widget.Set_App_Paintable (Inherited)
Gtk.Widget.Set_Child_Visible (Inherited)
Gtk.Widget.Set_Colormap (Inherited)
Gtk.Widget.Set_Composite_Name (Inherited)
Gtk.Widget.Set_Direction (Inherited)
Gtk.Widget.Set_Double_Buffered (Inherited)
Gtk.Widget.Set_Events (Inherited)
Gtk.Widget.Set_Extension_Events (Inherited)
Gtk.Widget.Set_Flags (Inherited)
Gtk.Widget.Set_Has_Tooltip (Inherited)
Gtk.Widget.Set_Name (Inherited)
Gtk.Widget.Set_No_Show_All (Inherited)
Gtk.Widget.Set_Parent (Inherited)
Gtk.Widget.Set_Parent_Window (Inherited)
Gtk.Widget.Set_Redraw_On_Allocate (Inherited)
Gtk.Widget.Set_Scroll_Adjustments (Inherited)
Gtk.Widget.Set_Sensitive (Inherited)
Gtk.Widget.Set_Size_Request (Inherited)
Gtk.Widget.Set_State (Inherited)
Gtk.Widget.Set_Style (Inherited)
Gtk.Widget.Set_Tooltip_Markup (Inherited)
Gtk.Widget.Set_Tooltip_Text (Inherited)
Gtk.Widget.Set_Tooltip_Window (Inherited)
Gtk.Widget.Set_UPosition (Inherited)
Gtk.Widget.Set_USize (Inherited)
Gtk.Widget.Set_Window (Inherited)
Gtk.Widget.Shape_Combine_Mask (Inherited)
Gtk.Widget.Show (Inherited)
Gtk.Widget.Show_All (Inherited)
Gtk.Widget.Show_Now (Inherited)
Gtk.Widget.Size_Allocate (Inherited)
Gtk.Widget.Size_Request (Inherited)
Gtk.Widget.Style_Get_Property (Inherited)
Gtk.Widget.Thaw_Child_Notify (Inherited)
Gtk.Widget.Trigger_Tooltip_Query (Inherited)
Gtk.Widget.Unmap (Inherited)
Gtk.Widget.Unrealize (Inherited)
Gtk.Widget.Unset_Flags (Inherited)
Set_Orientation
Set_Position

Types

Gtk_Paned

type Gtk_Paned is access all Gtk_Paned_Record'Class;

Gtk_Hpaned_Record

subtype Gtk_Hpaned_Record is Gtk_Paned_Record;

Gtk_Hpaned

subtype Gtk_Hpaned is Gtk_Paned;

Gtk_Vpaned_Record

subtype Gtk_Vpaned_Record is Gtk_Paned_Record;

Gtk_Vpaned

subtype Gtk_Vpaned is Gtk_Paned;

Constants & Global variables

Max_Position_Property (Glib.Properties.Property_Int)

Max_Position_Property : constant Glib.Properties.Property_Int;

Min_Position_Property (Glib.Properties.Property_Int)

Min_Position_Property : constant Glib.Properties.Property_Int;

Position_Set_Property (Glib.Properties.Property_Boolean)

Position_Set_Property : constant Glib.Properties.Property_Boolean;

Signal_Accept_Position (Glib.Signal_Name)

Signal_Accept_Position : constant Glib.Signal_Name := "accept-position";

Signal_Cancel_Position (Glib.Signal_Name)

Signal_Cancel_Position : constant Glib.Signal_Name := "cancel-position";

Signal_Cycle_Child_Focus (Glib.Signal_Name)

Signal_Cycle_Child_Focus : constant Glib.Signal_Name := "cycle-child-focus";

Signal_Cycle_Handle_Focus (Glib.Signal_Name)

Signal_Cycle_Handle_Focus : constant Glib.Signal_Name := "cycle-handle-focus";

Signal_Move_Handle (Glib.Signal_Name)

Signal_Move_Handle : constant Glib.Signal_Name := "move-handle";

Signal_Toggle_Handle_Focus (Glib.Signal_Name)

Signal_Toggle_Handle_Focus : constant Glib.Signal_Name := "toggle-handle-focus";

Subprograms & Entries

Get_Type

function Get_Type return Glib.GType;

Gtk_New_Hpaned

procedure Gtk_New_Hpaned 
(Paned: out Gtk_Hpaned);

Initialize_Hpaned

procedure Initialize_Hpaned 
(Paned: access Gtk_Hpaned_Record'Class);
The children will be displayed next to each other

Get_Type_Hpaned

function Get_Type_Hpaned return Glib.GType;

Gtk_New_Vpaned

procedure Gtk_New_Vpaned 
(Paned: out Gtk_Vpaned);

Initialize_Vpaned

procedure Initialize_Vpaned 
(Paned: access Gtk_Vpaned_Record'Class);
The children will be displayed one on top of the other

Get_Type_Vpaned

function Get_Type_Vpaned return Glib.GType;

Add1

procedure Add1 
(Paned: access Gtk_Paned_Record;
Child: access Gtk.Widget.Gtk_Widget_Record'Class);
Add the first child of the container. The child will be displayed either in the top or in the left pane, depending on the orientation of the container. This is equivalent to using the Pack1 procedure with its default parameters.

Add2

procedure Add2 
(Paned: access Gtk_Paned_Record;
Child: access Gtk.Widget.Gtk_Widget_Record'Class);
Add the second child of the container. It will be displayed in the bottom or right pane, depending on the container's orientation. This is equivalent to using Pack2 with its default parameters.

Compute_Position

procedure Compute_Position 
(Paned: access Gtk_Paned_Record;
Allocation: Gint;
Child1_Req: Gint;
Child2_Req: Gint);

Get_Child1

function Get_Child1 
(Paned: access Gtk_Paned_Record) return Gtk.Widget.Gtk_Widget;
Obtains the first child of the paned widget. Since: gtk+ 2.4

Get_Child2

function Get_Child2 
(Paned: access Gtk_Paned_Record) return Gtk.Widget.Gtk_Widget;
Obtains the second child of the paned widget. Since: gtk+ 2.4

Get_Handle_Window

function Get_Handle_Window 
(Paned: access Gtk_Paned_Record) return Gdk.Window.Gdk_Window;
Returns the Gdk.Window.Gdk_Window of the handle. This function is useful when handling button or motion events because it enables the callback to distinguish between the window of the paned, a child and the handle. Since: gtk+ 2.20

Get_Position

function Get_Position 
(Paned: access Gtk_Paned_Record) return Gint;

Set_Position

procedure Set_Position 
(Paned: access Gtk_Paned_Record;
Position: Gint);
Sets the position of the divider between the two panes. "position": pixel position of divider, a negative value means that the position is unset.

Pack1

procedure Pack1 
(Paned: access Gtk_Paned_Record;
Child: access Gtk.Widget.Gtk_Widget_Record'Class;
Resize: Boolean := False;
Shrink: Boolean := True);
Add a child to the top or left pane. You can not change dynamically the attributes Resize and Shrink. Instead, you have to remove the child from the container, and put it back with the new value of the attributes. You should also first call Glib.Object.Ref on the child so as to be sure it is not destroyed when you remove it, and Glib.Object.Unref it at the end. See the example in testgtk/ in the GtkAda distribution.

Pack2

procedure Pack2 
(Paned: access Gtk_Paned_Record;
Child: access Gtk.Widget.Gtk_Widget_Record'Class;
Resize: Boolean := False;
Shrink: Boolean := False);

Get_Orientation

function Get_Orientation 
(Self: access Gtk_Paned_Record) return Gtk.Enums.Gtk_Orientation;

Set_Orientation

procedure Set_Orientation 
(Self: access Gtk_Paned_Record;
Orientation: Gtk.Enums.Gtk_Orientation);