gtk2/docs/reference/gtk/tmpl/gtkpaned.sgml

261 lines
5.3 KiB
Plaintext
Raw Normal View History

1999-08-16 18:51:52 +00:00
<!-- ##### SECTION Title ##### -->
GtkPaned
<!-- ##### SECTION Short_Description ##### -->
Base class for widgets with two adjustable panes
<!-- ##### SECTION Long_Description ##### -->
<para>
#GtkPaned is the base class for widgets with two panes,
1999-08-16 18:51:52 +00:00
arranged either horizontally (#GtkHPaned) or
vertically (#GtkVPaned). 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.
</para>
<para>
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
1999-08-16 18:51:52 +00:00
to put each child inside a #GtkFrame with the
shadow type set to %GTK_SHADOW_IN so that the
gutter appears as a ridge.
</para>
1999-08-16 18:51:52 +00:00
<para>
Each child has two options that can be set,
@resize and @shrink. If @resize is true, then when the
#GtkPaned 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 %FALSE allows the application to set a minimum
1999-08-16 18:51:52 +00:00
size. If @resize is false for both children, then
this is treated as if @resize is true for both
children.
</para>
<para>
The application can set the position of the slider
as if it were set by the user, by calling
gtk_paned_set_position().
</para>
<example>
<title>Creating a paned widget with minimum sizes.</title>
1999-08-16 18:51:52 +00:00
<programlisting>
GtkWidget *hpaned = gtk_hpaned_new (<!-- -->);
GtkWidget *frame1 = gtk_frame_new (NULL);
GtkWidget *frame2 = gtk_frame_new (NULL);
1999-08-16 18:51:52 +00:00
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);
1999-08-16 18:51:52 +00:00
gtk_paned_pack1 (GTK_PANED (hpaned), frame1, TRUE, FALSE);
gtk_widget_set_size_request (frame1, 50, -1);
1999-08-16 18:51:52 +00:00
gtk_paned_pack2 (GTK_PANED (hpaned), frame2, FALSE, FALSE);
gtk_widget_set_size_request (frame2, 50, -1);
1999-08-16 18:51:52 +00:00
</programlisting>
</example>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GtkPaned ##### -->
<para>
</para>
<!-- ##### SIGNAL GtkPaned::accept-position ##### -->
<para>
</para>
@paned: the object which received the signal.
@Returns:
<!-- ##### SIGNAL GtkPaned::cancel-position ##### -->
<para>
</para>
@paned: the object which received the signal.
@Returns:
<!-- ##### SIGNAL GtkPaned::cycle-child-focus ##### -->
<para>
</para>
@paned: the object which received the signal.
@arg1:
@Returns:
<!-- ##### SIGNAL GtkPaned::cycle-handle-focus ##### -->
<para>
</para>
@paned: the object which received the signal.
@arg1:
@Returns:
<!-- ##### SIGNAL GtkPaned::move-handle ##### -->
<para>
</para>
@paned: the object which received the signal.
@arg1:
@Returns:
<!-- ##### SIGNAL GtkPaned::toggle-handle-focus ##### -->
<para>
</para>
@paned: the object which received the signal.
@Returns:
<!-- ##### ARG GtkPaned:max-position ##### -->
<para>
</para>
<!-- ##### ARG GtkPaned:min-position ##### -->
<para>
</para>
<!-- ##### ARG GtkPaned:position ##### -->
<para>
</para>
<!-- ##### ARG GtkPaned:position-set ##### -->
<para>
</para>
<!-- ##### ARG GtkPaned:resize ##### -->
<para>
</para>
<!-- ##### ARG GtkPaned:shrink ##### -->
<para>
</para>
<!-- ##### ARG GtkPaned:handle-size ##### -->
<para>
</para>
1999-08-16 18:51:52 +00:00
<!-- ##### FUNCTION gtk_paned_add1 ##### -->
<para>
Adds a child to the top or left pane with
1999-08-16 18:51:52 +00:00
default parameters. This is equivalent
to <literal>gtk_paned_pack1 (paned, child, FALSE, TRUE)</literal>.
1999-08-16 18:51:52 +00:00
</para>
@paned: a paned widget
@child: the child to add
<!-- ##### FUNCTION gtk_paned_add2 ##### -->
<para>
Adds a child to the bottom or right pane with default
1999-08-16 18:51:52 +00:00
parameters. This is equivalent to
<literal>gtk_paned_pack2 (paned, child, TRUE, TRUE)</literal>.
1999-08-16 18:51:52 +00:00
</para>
@paned: a paned widget
@child: the child to add
<!-- ##### MACRO gtk_paned_gutter_size ##### -->
<para>
Old name for gtk_paned_set_gutter_size().
1999-08-16 18:51:52 +00:00
</para>
added gtkaccelmap.sgml. other updates. Mon Nov 12 23:06:38 2001 Tim Janik <timj@gtk.org> * added gtkaccelmap.sgml. other updates. Mon Nov 12 23:08:37 2001 Tim Janik <timj@gtk.org> * gtk/maketypes.awk: fix type utils generation on unix. * gtk/gtkaccelmap.[hc]: new files, implementing a global accelerator registry. * gtk/gtkaccelgroup.[hc]: major API/implementation revamp: removed GTK_ACCEL_SIGNAL_VISIBLE, gtk_accel_group_get_default, gtk_accel_group_get_entry, gtk_accel_group_(un)lock_entry, gtk_accel_group_add/remove, gtk_accel_group_handle_add/remove, gtk_accel_group_create_add/remove, gtk_accel_group_entries_from_object. introduced ::accel_changed signal for change notification, and gtk_accel_group_connect/disconnect to connect closures to accel groups. made gtk_accel_group_attach/detach and gtk_accel_group_activate private functions. deprecated gtk_accel_group_ref/unref. * gtk/gtkaccellabel.[hc]: changes to make accellabels pay attention to accel group changed notification and basically operate on closures. removed gtk_accel_label_get_accel_object and gtk_accel_label_set_accel_object. introduced gtk_accel_label_set_accel_closure, and for convenience, gtk_accel_label_set_accel_widget. * gtk/gtkitemfactory.[hc]: removed accelerator propagation code which mostly moved into gtkaccelmap.[hc]. removed gtk_item_factory_parse_rc*, gtk_item_factory_dump_* and gtk_item_factory_print_func. * gtk/gtkmain.c: call _gtk_accel_map_init(). * gtk/gtkmenuitem.[hc]: introduced gtk_menu_item_set_accel_path(), that associates an accelerator path with menu items, through which persistent accelerator settings on menu items are enabled. * gtk/gtkmenu.[hc]: added gtk_menu_set_accel_path() so accelerator paths of menu item can be default constructed to allow installation of accelerators on menu items that don't come with an accelerator binding by default. * gtk/gtksettings.c: fix STRING type rc settings by special casing them appropriately in the parser. * gtk/gtksignal.[hc]: allow a class function offset of 0 for gtk_signal_newv(). * gtk/gtkwidget.[hc]: accelerator API revamp. removed ::accelerator_add/remove signals, gtk_widget_accelerator_signal, gtk_widget_accelerators_locked, gtk_widget_remove_accelerators and gtk_widget_(un)lock_accelerators. accelerators maintained through gtk_widget_add/remove_accelerator() are not runtime changable now, the correct sequence to setup a widget for runtime changable accelerators is now: gtk_accel_map_add_entry(accel_path, key, mods); _gtk_widget_set_accel_path(widget, accel_path, accel_group); * gtk/gtkwindow.[hc]: accelerator changes, proxy and coalesce accel group changes (as well as mnemonic changes) through the new signal ::accels_changed. Sat Nov 10 12:08:56 2001 Tim Janik <timj@gtk.org> * gtk/gtksettings.c (_gtk_settings_parse_convert): properly handle GString->string conversions.
2001-11-13 00:53:47 +00:00
@p:
@s:
1999-08-16 18:51:52 +00:00
<!-- ##### FUNCTION gtk_paned_pack1 ##### -->
<para>
Adds a child to the top or left pane.
1999-08-16 18:51:52 +00:00
</para>
@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 requsition.
<!-- ##### FUNCTION gtk_paned_pack2 ##### -->
<para>
Adds a child to the bottom or right pane.
1999-08-16 18:51:52 +00:00
</para>
@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 requsition.
<!-- ##### FUNCTION gtk_paned_get_child1 ##### -->
<para>
</para>
@paned:
@Returns:
<!-- ##### FUNCTION gtk_paned_get_child2 ##### -->
<para>
</para>
@paned:
@Returns:
<!-- ##### MACRO gtk_paned_set_gutter_size ##### -->
1999-08-16 18:51:52 +00:00
<para>
In older versions of GTK+, this function used to set the width of the
gutter (the area between the two panes). It does nothing now.
1999-08-16 18:51:52 +00:00
</para>
@p: a paned widget
@s: the width of the gutter in pixels
1999-08-16 18:51:52 +00:00
<!-- ##### FUNCTION gtk_paned_set_position ##### -->
<para>
1999-08-16 18:51:52 +00:00
</para>
@paned:
@position:
1999-08-16 18:51:52 +00:00
<!-- ##### FUNCTION gtk_paned_get_position ##### -->
<para>
</para>
@paned:
@Returns: