gtk2/docs/reference/gtk/tmpl/gtkpaned.sgml
Tim Janik d07573c090 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

179 lines
4.1 KiB
Plaintext

<!-- ##### 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,
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
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>
<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 it's 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.
</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>
<programlisting>
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_usize (hpaned, 200 + GTK_PANED (hpaned)->gutter_size, -1);
gtk_paned_pack1 (GTK_PANED (hpaned), frame1, TRUE, FALSE);
gtk_widget_set_usize (frame1, 50, -1);
gtk_paned_pack2 (GTK_PANED (hpaned), frame1, FALSE, FALSE);
gtk_widget_set_usize (frame1, 50, -1);
</programlisting>
</example>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GtkPaned ##### -->
<para>
</para>
<!-- ##### FUNCTION gtk_paned_add1 ##### -->
<para>
Add a child to the top or left pane with
default parameters. This is equivalent
to
<programlisting>
gtk_paned_pack1(paned, child, FALSE, TRUE);
</programlisting>
</para>
@paned: a paned widget
@child: the child to add
<!-- ##### FUNCTION gtk_paned_add2 ##### -->
<para>
Add a child to the bottom or right pane with default
parameters. This is equivalent to
<programlisting>
gtk_paned_pack2(paned, child, TRUE, TRUE);
</programlisting>
</para>
@paned: a paned widget
@child: the child to add
<!-- ##### MACRO gtk_paned_handle_size ##### -->
<para>
Old name for gtk_paned_set_handle_size()
</para>
<!-- ##### MACRO gtk_paned_gutter_size ##### -->
<para>
Old name for gtk_paned_set_gutter_size()
</para>
@p:
@s:
<!-- ##### FUNCTION gtk_paned_pack1 ##### -->
<para>
Add a child to the top or left pane.
</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>
Add a child to the bottom or right pane.
</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.
<!-- ##### MACRO gtk_paned_set_gutter_size ##### -->
<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.
</para>
@p: a paned widget
@s: the width of the gutter in pixels
<!-- ##### FUNCTION gtk_paned_set_position ##### -->
<para>
</para>
@paned:
@position:
<!-- ##### FUNCTION gtk_paned_get_position ##### -->
<para>
</para>
@paned:
@Returns:
<!-- ##### ARG GtkPaned:position ##### -->
<para>
</para>
<!-- ##### ARG GtkPaned:position-set ##### -->
<para>
</para>