Next: , Previous: GtkObject, Up: Top


133 GtkPaned

Base class for widgets with two adjustable panes

133.1 Overview

<gtk-paned> is the base class for widgets with two panes, arranged either horizontally (<gtk-hpaned>) or vertically (<gtk-vpaned>). Child widgets are added to the panes of the widget with gtk-paned-pack1 and gtk-paned-pack2. The division beween 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> with the shadow type set to ‘GTK_SHADOW_IN’ so that the gutter appears as a ridge.

Each child has two options that can be set, resize and shrink. If resize is true, then when the <gtk-paned> is resized, that child will expand or shrink along with the paned widget. If shrink is true, then when that child can be made smaller than its requisition by the user. Setting shrink to ‘#f’ 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.

     
     GtkWidget *hpaned = gtk_hpaned_new ();
     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 + GTK_PANED (hpaned)->gutter_size, -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);

133.2 Usage

— Class: <gtk-paned>

Derives from <gtk-container>.

This class defines the following slots:

position
Position of paned separator in pixels (0 means all the way to the left/top)
position-set
TRUE if the Position property should be used
min-position
Smallest possible value for the "position" property
max-position
Largest possible value for the "position" property
— Signal on <gtk-paned>: cycle-child-focus (arg0 <gboolean>) ⇒ <gboolean>
— Signal on <gtk-paned>: toggle-handle-focus ⇒ <gboolean>
— Signal on <gtk-paned>: move-handle (arg0 <gtk-scroll-type>) ⇒ <gboolean>
— Signal on <gtk-paned>: cycle-handle-focus (arg0 <gboolean>) ⇒ <gboolean>
— Signal on <gtk-paned>: accept-position ⇒ <gboolean>
— Signal on <gtk-paned>: cancel-position ⇒ <gboolean>
— Function: gtk-paned-add1 (self <gtk-paned>) (child <gtk-widget>)
— Method: add1

Adds a child to the top or left pane with default parameters. This is equivalent to ‘gtk_paned_pack1 (paned, child, FALSE, TRUE)’.

paned
a paned widget
child
the child to add
— Function: gtk-paned-add2 (self <gtk-paned>) (child <gtk-widget>)
— Method: add2

Adds a child to the bottom or right pane with default parameters. This is equivalent to ‘gtk_paned_pack2 (paned, child, TRUE, TRUE)’.

paned
a paned widget
child
the child to add
— Function: gtk-paned-pack1 (self <gtk-paned>) (child <gtk-widget>) (resize bool) (shrink bool)
— Method: pack1

Adds a child to the top or left pane.

paned
a paned widget
child
the child to add
resize
should this child expand when the paned widget is resized.
shrink
can this child be made smaller than its requisition.
— Function: gtk-paned-pack2 (self <gtk-paned>) (child <gtk-widget>) (resize bool) (shrink bool)
— Method: pack2

Adds a child to the bottom or right pane.

paned
a paned widget
child
the child to add
resize
should this child expand when the paned widget is resized.
shrink
can this child be made smaller than its requisition.
— Function: gtk-paned-get-child1 (self <gtk-paned>) ⇒  (ret <gtk-widget>)
— Method: get-child1

Obtains the first child of the paned widget.

paned
a <gtk-paned> widget
ret
first child, or ‘#f’ if it is not set.

Since 2.4

— Function: gtk-paned-get-child2 (self <gtk-paned>) ⇒  (ret <gtk-widget>)
— Method: get-child2

Obtains the second child of the paned widget.

paned
a <gtk-paned> widget
ret
second child, or ‘#f’ if it is not set.

Since 2.4

— Function: gtk-paned-set-position (self <gtk-paned>) (position int)
— Method: set-position

Sets the position of the divider between the two panes.

paned
a <gtk-paned> widget
position
pixel position of divider, a negative value means that the position is unset.
— Function: gtk-paned-get-position (self <gtk-paned>) ⇒  (ret int)
— Method: get-position

Obtains the position of the divider between the two panes.

paned
a <gtk-paned> widget
ret
position of the divider