Remove handle_box from App demo.

Mon Oct 22 14:08:26 2001  Jonathan Blandford  <jrb@redhat.com>

	* demos/gtk-demo/appwindow.c: Remove handle_box from App demo.

	* gtk/gtktreeview.c (size_allocate): Move to a different drawing
	system.  Instead of having a window the size of the tree, we have
	a window the size of widget->allocation, and simply draw with the
	offset.
	(coords_are_over_arrow): ditto.  Move to window coordinates.
	(do_prelight): ditto
	(do_unprelight): ditto

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered):
	Minor fix from Kristian Rietveld to fix unsorted case.
This commit is contained in:
Jonathan Blandford 2001-10-22 18:24:29 +00:00 committed by Jonathan Blandford
parent eb037279db
commit dc754528a0
26 changed files with 455 additions and 194 deletions

View File

@ -1,3 +1,18 @@
Mon Oct 22 14:08:26 2001 Jonathan Blandford <jrb@redhat.com>
* demos/gtk-demo/appwindow.c: Remove handle_box from App demo.
* gtk/gtktreeview.c (size_allocate): Move to a different drawing
system. Instead of having a window the size of the tree, we have
a window the size of widget->allocation, and simply draw with the
offset.
(coords_are_over_arrow): ditto. Move to window coordinates.
(do_prelight): ditto
(do_unprelight): ditto
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered):
Minor fix from Kristian Rietveld to fix unsorted case.
2001-10-22 jacob berkman <jacob@ximian.com>
* gtk/gtkclist.c (cell_size_request): don't cast a PIXTEXT cell to

View File

@ -1,3 +1,18 @@
Mon Oct 22 14:08:26 2001 Jonathan Blandford <jrb@redhat.com>
* demos/gtk-demo/appwindow.c: Remove handle_box from App demo.
* gtk/gtktreeview.c (size_allocate): Move to a different drawing
system. Instead of having a window the size of the tree, we have
a window the size of widget->allocation, and simply draw with the
offset.
(coords_are_over_arrow): ditto. Move to window coordinates.
(do_prelight): ditto
(do_unprelight): ditto
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered):
Minor fix from Kristian Rietveld to fix unsorted case.
2001-10-22 jacob berkman <jacob@ximian.com>
* gtk/gtkclist.c (cell_size_request): don't cast a PIXTEXT cell to

View File

@ -1,3 +1,18 @@
Mon Oct 22 14:08:26 2001 Jonathan Blandford <jrb@redhat.com>
* demos/gtk-demo/appwindow.c: Remove handle_box from App demo.
* gtk/gtktreeview.c (size_allocate): Move to a different drawing
system. Instead of having a window the size of the tree, we have
a window the size of widget->allocation, and simply draw with the
offset.
(coords_are_over_arrow): ditto. Move to window coordinates.
(do_prelight): ditto
(do_unprelight): ditto
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered):
Minor fix from Kristian Rietveld to fix unsorted case.
2001-10-22 jacob berkman <jacob@ximian.com>
* gtk/gtkclist.c (cell_size_request): don't cast a PIXTEXT cell to

View File

@ -1,3 +1,18 @@
Mon Oct 22 14:08:26 2001 Jonathan Blandford <jrb@redhat.com>
* demos/gtk-demo/appwindow.c: Remove handle_box from App demo.
* gtk/gtktreeview.c (size_allocate): Move to a different drawing
system. Instead of having a window the size of the tree, we have
a window the size of widget->allocation, and simply draw with the
offset.
(coords_are_over_arrow): ditto. Move to window coordinates.
(do_prelight): ditto
(do_unprelight): ditto
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered):
Minor fix from Kristian Rietveld to fix unsorted case.
2001-10-22 jacob berkman <jacob@ximian.com>
* gtk/gtkclist.c (cell_size_request): don't cast a PIXTEXT cell to

View File

@ -1,3 +1,18 @@
Mon Oct 22 14:08:26 2001 Jonathan Blandford <jrb@redhat.com>
* demos/gtk-demo/appwindow.c: Remove handle_box from App demo.
* gtk/gtktreeview.c (size_allocate): Move to a different drawing
system. Instead of having a window the size of the tree, we have
a window the size of widget->allocation, and simply draw with the
offset.
(coords_are_over_arrow): ditto. Move to window coordinates.
(do_prelight): ditto
(do_unprelight): ditto
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered):
Minor fix from Kristian Rietveld to fix unsorted case.
2001-10-22 jacob berkman <jacob@ximian.com>
* gtk/gtkclist.c (cell_size_request): don't cast a PIXTEXT cell to

View File

@ -1,3 +1,18 @@
Mon Oct 22 14:08:26 2001 Jonathan Blandford <jrb@redhat.com>
* demos/gtk-demo/appwindow.c: Remove handle_box from App demo.
* gtk/gtktreeview.c (size_allocate): Move to a different drawing
system. Instead of having a window the size of the tree, we have
a window the size of widget->allocation, and simply draw with the
offset.
(coords_are_over_arrow): ditto. Move to window coordinates.
(do_prelight): ditto
(do_unprelight): ditto
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered):
Minor fix from Kristian Rietveld to fix unsorted case.
2001-10-22 jacob berkman <jacob@ximian.com>
* gtk/gtkclist.c (cell_size_request): don't cast a PIXTEXT cell to

View File

@ -1,3 +1,18 @@
Mon Oct 22 14:08:26 2001 Jonathan Blandford <jrb@redhat.com>
* demos/gtk-demo/appwindow.c: Remove handle_box from App demo.
* gtk/gtktreeview.c (size_allocate): Move to a different drawing
system. Instead of having a window the size of the tree, we have
a window the size of widget->allocation, and simply draw with the
offset.
(coords_are_over_arrow): ditto. Move to window coordinates.
(do_prelight): ditto
(do_unprelight): ditto
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_rows_reordered):
Minor fix from Kristian Rietveld to fix unsorted case.
2001-10-22 jacob berkman <jacob@ximian.com>
* gtk/gtkclist.c (cell_size_request): don't cast a PIXTEXT cell to

View File

@ -181,8 +181,6 @@ do_appwindow (void)
if (!window)
{
GtkWidget *table;
GtkWidget *menubar_handle;
GtkWidget *toolbar_handle;
GtkWidget *toolbar;
GtkWidget *statusbar;
GtkWidget *contents;
@ -215,8 +213,6 @@ do_appwindow (void)
gtk_accel_group_attach (accel_group, G_OBJECT (window));
gtk_accel_group_unref (accel_group);
menubar_handle = gtk_handle_box_new ();
item_factory = gtk_item_factory_new (GTK_TYPE_MENU_BAR, "<main>", accel_group);
/* Set up item factory to go away with the window */
@ -231,11 +227,8 @@ do_appwindow (void)
gtk_item_factory_create_items (item_factory, G_N_ELEMENTS (menu_items),
menu_items, window);
gtk_container_add (GTK_CONTAINER (menubar_handle),
gtk_item_factory_get_widget (item_factory, "<main>"));
gtk_table_attach (GTK_TABLE (table),
menubar_handle,
gtk_item_factory_get_widget (item_factory, "<main>"),
/* X direction */ /* Y direction */
0, 1, 0, 1,
GTK_EXPAND | GTK_FILL, 0,
@ -243,8 +236,6 @@ do_appwindow (void)
/* Create the toolbar
*/
toolbar_handle = gtk_handle_box_new ();
toolbar = gtk_toolbar_new ();
gtk_toolbar_insert_stock (GTK_TOOLBAR (toolbar),
@ -273,10 +264,8 @@ do_appwindow (void)
window, /* user data for callback */
-1); /* -1 means "append" */
gtk_container_add (GTK_CONTAINER (toolbar_handle), toolbar);
gtk_table_attach (GTK_TABLE (table),
toolbar_handle,
toolbar,
/* X direction */ /* Y direction */
0, 1, 1, 2,
GTK_EXPAND | GTK_FILL, 0,

View File

@ -1,3 +1,7 @@
Thu Oct 18 16:40:00 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtk-docs.sgml: add GtkCellEditable and GtkTreeModelSort.
Sat Oct 20 18:35:21 2001 Owen Taylor <otaylor@redhat.com>
* gtk/tmpl/gtkentry.sgml (Note): Remove note about

View File

@ -165,6 +165,13 @@ the device ID for the core pointer device.
</para>
<!-- ##### TYPEDEF GdkAtom ##### -->
<para>
A numeric type representing a string as an index into a table
of strings on the X server.
</para>
<!-- ##### STRUCT GdkColorContext ##### -->
<para>

View File

@ -42,13 +42,6 @@ data commonly stored in X window properties.
</para>
<!-- ##### TYPEDEF GdkAtom ##### -->
<para>
A numeric type representing a string as an index into a table
of strings on the X server.
</para>
<!-- ##### MACRO GDK_NONE ##### -->
<para>
A null value for #GdkAtom, used in a similar way as <literal>None</literal>

View File

@ -47,19 +47,14 @@ to the X Inter-client Communication Conventions Manual
</para>
<!-- ##### ENUM GdkSelection ##### -->
<!-- ##### TYPEDEF GdkSelection ##### -->
<para>
The #GdkSelection enumeration contains predefined
atom values for several common selections.
</para>
@GDK_SELECTION_PRIMARY: The primary X selection. Programs
typically claim this selection when the user
selects text and paste its contents in response
to a middle button press.
@GDK_SELECTION_SECONDARY: An additional X selection.
<!-- ##### ENUM GdkSelectionType ##### -->
<!-- ##### TYPEDEF GdkSelectionType ##### -->
<para>
The #GdkSelectionType enumeration contains predefined
atom values used to represent the types of data transferred
@ -71,18 +66,8 @@ types for this purpose. However, supporting these types
may be useful for compatibility with older programs.
</para>
@GDK_SELECTION_TYPE_ATOM: An atom. (format 32)
@GDK_SELECTION_TYPE_BITMAP: A bitmap ID. (format 32)
@GDK_SELECTION_TYPE_COLORMAP: A colormap ID. (format 32)
@GDK_SELECTION_TYPE_DRAWABLE: A drawable ID. (format 32)
@GDK_SELECTION_TYPE_INTEGER: An integer. (format 32)
@GDK_SELECTION_TYPE_PIXMAP: A pixmap ID. (format 32)
@GDK_SELECTION_TYPE_WINDOW: A window ID. (format 32)
@GDK_SELECTION_TYPE_STRING: A string encoded
in ISO Latin-1. (With the additional of <symbol>TAB</symbol>
and <symbol>NEWLINE</symbol>.) (format 8)
<!-- ##### ENUM GdkTarget ##### -->
<!-- ##### TYPEDEF GdkTarget ##### -->
<para>
The #GdkTarget enumeration contains predefined atom values which are
used to describe possible targets for a selection. Other atoms can be
@ -91,13 +76,6 @@ for this purpose. However, supporting these types may be useful for
compatibility with older programs.
</para>
@GDK_TARGET_BITMAP: A bitmap ID.
@GDK_TARGET_COLORMAP: A colormap ID.
@GDK_TARGET_DRAWABLE: A drawable ID.
@GDK_TARGET_PIXMAP: A pixmap ID.
@GDK_TARGET_STRING: A string encoded in ISO Latin-1.
(With the additional of <symbol>TAB</symbol>
and <symbol>NEWLINE</symbol>.)
<!-- ##### FUNCTION gdk_selection_owner_set ##### -->
<para>

View File

@ -72,7 +72,7 @@ pixel_from_rgb (GdkVisual *visual,
</figure>
@parent_instance: inherited portion from #GObject
@type: The type of this visual.
@type: The type of this visual.
@depth: The number of bits per pixel.
@byte_order: The byte-order for this visual.
@colormap_size: The number of entries in the colormap, for
@ -109,7 +109,6 @@ pixel_from_rgb (GdkVisual *visual,
of the information in <structfield>blue_mask</structfield>.
@blue_prec: See above.
<!-- ##### ENUM GdkVisualType ##### -->
<para>
A set of values that describe the manner in which the
@ -131,7 +130,7 @@ values for display.
structure describe how the components are assembled into a pixel value.
@GDK_VISUAL_DIRECT_COLOR: Each pixel value contains red, green, and blue
components as for %GDK_TRUE_COLOR, but the components are mapped via a
color table into the final output table instead of being converted directly.
color table into the final output table instead of being converted directly.
<!-- ##### ENUM GdkByteOrder ##### -->
<para>
@ -141,7 +140,7 @@ for storing pixel values in memory.
@GDK_LSB_FIRST: The values are stored with the least-significant byte
first. For instance, the 32-bit value 0xffeecc would be stored
in memory as 0xcc, 0xee, 0xff, 0x00.
in memory as 0xcc, 0xee, 0xff, 0x00.
@GDK_MSB_FIRST: The values are stored with the most-significant byte
first. For instance, the 32-bit value 0xffeecc would be stored
in memory as 0x00, 0xcc, 0xee, 0xff.
@ -151,7 +150,7 @@ in memory as 0x00, 0xcc, 0xee, 0xff.
</para>
@depths:
@depths:
@count:
@ -161,7 +160,7 @@ in memory as 0x00, 0xcc, 0xee, 0xff.
</para>
@visual_types:
@count:
@count:
<!-- ##### FUNCTION gdk_list_visuals ##### -->
@ -169,7 +168,7 @@ in memory as 0x00, 0xcc, 0xee, 0xff.
</para>
@Returns:
@Returns:
<!-- ##### FUNCTION gdk_visual_get_best_depth ##### -->
@ -177,7 +176,7 @@ in memory as 0x00, 0xcc, 0xee, 0xff.
</para>
@Returns:
@Returns:
<!-- ##### FUNCTION gdk_visual_get_best_type ##### -->
@ -193,7 +192,7 @@ in memory as 0x00, 0xcc, 0xee, 0xff.
</para>
@Returns:
@Returns:
<!-- ##### FUNCTION gdk_visual_get_best ##### -->
@ -201,7 +200,7 @@ in memory as 0x00, 0xcc, 0xee, 0xff.
</para>
@Returns:
@Returns:
<!-- ##### FUNCTION gdk_visual_get_best_with_depth ##### -->

View File

@ -20,12 +20,14 @@ Obtains the Xlib window id of the root window of the current screen.
</para>
<!-- ##### MACRO GDK_ROOT_PARENT ##### -->
<para>
Obtains the Xlib window id of the root window of the default screen.
</para>
<!-- ##### MACRO GDK_DISPLAY ##### -->
<para>
The current display.
@ -48,7 +50,7 @@ Returns the display of a #GdkWindow.
Returns the X window belonging to a #GdkWindow.
</para>
@win: a #GdkWindow.
@win: a #GdkWindow.
@Returns: the Xlib <type>Window</type> of @win.
@ -75,7 +77,7 @@ Returns the X pixmap belonging to a #GdkPixmap.
Returns the display of a #GdkDrawable.
</para>
@win: a #GdkDrawable.
@win: a #GdkDrawable.
@Returns: an Xlib <type>Display*</type>.
@ -84,8 +86,8 @@ Returns the display of a #GdkDrawable.
Returns the X resource (window or pixmap) belonging to a #GdkDrawable.
</para>
@win: a #GdkDrawable.
@Returns: the ID of @win's X resource.
@win: a #GdkDrawable.
@Returns: the ID of @win's X resource.
<!-- ##### MACRO GDK_IMAGE_XDISPLAY ##### -->
@ -111,7 +113,7 @@ Returns the X image belonging to a #GdkImage.
Returns the display of a #GdkGC.
</para>
@gc: a #GdkGC.
@gc: a #GdkGC.
@Returns: an Xlib <type>Display*</type>.
@ -120,7 +122,7 @@ Returns the display of a #GdkGC.
Returns the display of a #GdkColormap.
</para>
@cmap: a #GdkColormap.
@cmap: a #GdkColormap.
@Returns: an Xlib <type>Display*</type>.
@ -129,7 +131,7 @@ Returns the display of a #GdkColormap.
Returns the X colormap belonging to a #GdkColormap.
</para>
@cmap: a #GdkColormap.
@cmap: a #GdkColormap.
@Returns: an Xlib <type>Colormap</type>.
@ -166,7 +168,7 @@ Returns the X cursor belonging to a #GdkCursor.
</para>
@cursor: a #GdkCursor.
@Returns: an Xlib <type>Cursor</type.
@Returns: an Xlib <type>Cursor</type.
<!-- ##### MACRO GDK_CURSOR_XDISPLAY ##### -->
@ -213,8 +215,8 @@ Another name for GDK_DRAWABLE_XID().
Returns a #GdkVisual corresponding to a X visual.
</para>
@xvisualid: a X visual id.
@Returns: the #GdkVisual.
@xvisualid: a X visual id.
@Returns: the #GdkVisual.
<!-- ##### FUNCTION gdkx_colormap_get ##### -->
@ -254,21 +256,27 @@ Returns the Gdk object associated with the given X id.
a #GdkWindow or a #GdkFont.
<!-- ##### MACRO gdk_window_lookup ##### -->
<!-- ##### FUNCTION gdk_window_lookup ##### -->
<para>
Obtains the #GdkWindow for the given Xlib window ID, or %NULL if no #GdkWindow has
been created for @xid.
</para>
@anid:
@Returns:
<!-- # Unused Parameters # -->
@xid: Xlib window ID
<!-- ##### MACRO gdk_pixmap_lookup ##### -->
<!-- ##### FUNCTION gdk_pixmap_lookup ##### -->
<para>
Obtains the #GdkPixmap for the given Xlib pixmap ID, or %NULL if no #GdkPixmap has
been created for @xid.
</para>
@anid:
@Returns:
<!-- # Unused Parameters # -->
@xid: Xlib pixmap ID
@ -323,6 +331,8 @@ Returns the X cursor belonging to a #GdkCursor.
</para>
@cursor: a #GdkCursor.
@Returns:
<!-- # Unused Parameters # -->
@Retursn: an Xlib <type>Cursor</type.
@ -385,7 +395,7 @@ Returns the X font belonging to a #GdkFont.
Returns the display of a #GdkGC.
</para>
@gc: a #GdkGC.
@gc: a #GdkGC.
@Returns: an Xlib <type>Display*</type>.
@ -435,13 +445,16 @@ gdk_x11_grab_server()/gdk_x11_ungrab_server() calls can be nested.
</para>
<!-- ##### FUNCTION gdk_x11_image_get_xdisplay ##### -->
<para>
Returns the display of a #GdkImage.
</para>
@drawable: a #GdkImage.
@image:
@Returns: an Xlib <type>Display*</type>.
<!-- # Unused Parameters # -->
@drawable: a #GdkImage.
<!-- ##### FUNCTION gdk_x11_image_get_ximage ##### -->

View File

@ -96,12 +96,14 @@
<!entity GtkTree SYSTEM "sgml/gtktree.sgml">
<!entity GtkTreeItem SYSTEM "sgml/gtktreeitem.sgml">
<!entity gtk-GtkTreeModel SYSTEM "sgml/gtktreemodel.sgml">
<!entity gtk-GtkTreeSortable SYSTEM "sgml/gtktreesortable.sgml">
<!entity gtk-GtkTreeModelSort SYSTEM "sgml/gtktreemodelsort.sgml">
<!entity gtk-GtkTreeSelection SYSTEM "sgml/gtktreeselection.sgml">
<!entity gtk-GtkTreeStore SYSTEM "sgml/gtktreestore.sgml">
<!entity gtk-GtkTreeViewColumn SYSTEM "sgml/gtktreeviewcolumn.sgml">
<!entity gtk-GtkTreeView SYSTEM "sgml/gtktreeview.sgml">
<!entity gtk-GtkCellRenderer SYSTEM "sgml/gtkcellrenderer.sgml">
<!entity gtk-GtkCellEditable SYSTEM "sgml/gtkcelleditable.sgml">
<!entity gtk-GtkCellRendererPixbuf SYSTEM "sgml/gtkcellrendererpixbuf.sgml">
<!entity gtk-GtkCellRendererText SYSTEM "sgml/gtkcellrenderertext.sgml">
<!entity gtk-GtkCellRendererToggle SYSTEM "sgml/gtkcellrenderertoggle.sgml">
@ -324,16 +326,18 @@ that is, GUI components such as #GtkButton or #GtkTextView.
&gtk-TreeWidget;
&gtk-GtkTreeModel;
&gtk-GtkTreeSelection;
&gtk-GtkTreeStore;
&gtk-GtkTreeViewColumn;
&gtk-GtkTreeView;
&gtk-GtkTreeDND;
&gtk-GtkTreeSortable;
&gtk-GtkTreeModelSort;
&gtk-GtkCellRenderer;
&gtk-GtkCellEditable;
&gtk-GtkCellRendererPixbuf;
&gtk-GtkCellRendererText;
&gtk-GtkCellRendererToggle;
&gtk-GtkListStore;
&gtk-GtkTreeStore;
</sect1>
<sect1 id="MenusAndCombos">
<title>Menus, Combo Box, Toolbar</title>

View File

@ -101,10 +101,6 @@ Debugging
gtkenums.sgml
<!-- ##### SECTION ./tmpl/gtkimcontextsimple.sgml:Title ##### -->
GtkIMContextSimple
<!-- ##### SECTION ./tmpl/gtkmarshal.sgml:Long_Description ##### -->
<refsect2>
<title>What are Signal Marshallers?</title>
@ -789,17 +785,6 @@ the #GtkAdjustment which sets the range of the scale.
</para>
<!-- ##### STRUCT GtkIMContextSimple ##### -->
<para>
</para>
@object:
@tables:
@compose_buffer:
@tentative_match:
@tentative_match_len:
<!-- ##### USER_FUNCTION GtkImageLoader ##### -->
<para>
A GtkImageLoader is used to load a filename found in
@ -2523,6 +2508,32 @@ a gtk_object_unref().
@tree_model:
@iter:
<!-- ##### FUNCTION gtk_tree_model_sort_convert_iter ##### -->
<para>
</para>
@tree_model_sort:
@sort_iter:
@child_iter:
<!-- ##### FUNCTION gtk_tree_model_sort_convert_path ##### -->
<para>
</para>
@tree_model_sort:
@child_path:
@Returns:
@path:
<!-- ##### FUNCTION gtk_tree_model_sort_new ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gtk_tree_model_sort_set_compare ##### -->
<para>
@ -2531,6 +2542,15 @@ a gtk_object_unref().
@tree_model_sort:
@func:
<!-- ##### FUNCTION gtk_tree_model_sort_set_model ##### -->
<para>
</para>
@tree_model_sort:
@child_model:
@model:
<!-- ##### FUNCTION gtk_tree_model_sort_set_sort_column ##### -->
<para>

View File

@ -0,0 +1,57 @@
<!-- ##### SECTION Title ##### -->
gtkcelleditable
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GtkCellEditable ##### -->
<para>
</para>
<!-- ##### STRUCT GtkCellEditableIface ##### -->
<para>
</para>
@g_iface:
@editing_done:
@remove_widget:
@start_editing:
<!-- ##### FUNCTION gtk_cell_editable_start_editing ##### -->
<para>
</para>
@cell_editable:
@event:
<!-- ##### FUNCTION gtk_cell_editable_editing_done ##### -->
<para>
</para>
@cell_editable:
<!-- ##### FUNCTION gtk_cell_editable_remove_widget ##### -->
<para>
</para>
@cell_editable:

View File

@ -258,7 +258,7 @@ gtk_drag_source_set() is used.
drag.
@button: The button the user clicked to start the drag.
@event: The event that triggered the start of the
drag.
drag.
@Returns: The context for this drag.

View File

@ -192,6 +192,8 @@ Sets the #GtkAdjustment for the vertical scrollbar.
</para>
@scrolled_window: A #GtkScrolledWindow.
@hadjustment:
<!-- # Unused Parameters # -->
@vadjustment: Vertical scroll adjustment.

View File

@ -14,14 +14,6 @@ GtkTreeModelSort
</para>
<!-- ##### FUNCTION gtk_tree_model_sort_new ##### -->
<para>
</para>
@Returns:
<!-- ##### FUNCTION gtk_tree_model_sort_new_with_model ##### -->
<para>
@ -35,17 +27,6 @@ GtkTreeModelSort
@model:
<!-- ##### FUNCTION gtk_tree_model_sort_set_model ##### -->
<para>
</para>
@tree_model_sort:
@child_model:
<!-- # Unused Parameters # -->
@model:
<!-- ##### FUNCTION gtk_tree_model_sort_get_model ##### -->
<para>
@ -55,25 +36,3 @@ GtkTreeModelSort
@Returns:
<!-- ##### FUNCTION gtk_tree_model_sort_convert_path ##### -->
<para>
</para>
@tree_model_sort:
@child_path:
@Returns:
<!-- # Unused Parameters # -->
@path:
<!-- ##### FUNCTION gtk_tree_model_sort_convert_iter ##### -->
<para>
</para>
@tree_model_sort:
@sort_iter:
@child_iter:

View File

@ -0,0 +1,108 @@
<!-- ##### SECTION Title ##### -->
gtktreesortable
<!-- ##### SECTION Short_Description ##### -->
<!-- ##### SECTION Long_Description ##### -->
<para>
</para>
<!-- ##### SECTION See_Also ##### -->
<para>
</para>
<!-- ##### STRUCT GtkTreeSortable ##### -->
<para>
</para>
<!-- ##### STRUCT GtkTreeSortableIface ##### -->
<para>
</para>
@g_iface:
@sort_column_changed:
@get_sort_column_id:
@set_sort_column_id:
@set_sort_func:
@set_default_sort_func:
@has_default_sort_func:
<!-- ##### USER_FUNCTION GtkTreeIterCompareFunc ##### -->
<para>
</para>
@model:
@a:
@b:
@user_data:
@Returns:
<!-- ##### FUNCTION gtk_tree_sortable_sort_column_changed ##### -->
<para>
</para>
@sortable:
<!-- ##### FUNCTION gtk_tree_sortable_get_sort_column_id ##### -->
<para>
</para>
@sortable:
@sort_column_id:
@order:
@Returns:
<!-- ##### FUNCTION gtk_tree_sortable_set_sort_column_id ##### -->
<para>
</para>
@sortable:
@sort_column_id:
@order:
<!-- ##### FUNCTION gtk_tree_sortable_set_sort_func ##### -->
<para>
</para>
@sortable:
@sort_column_id:
@sort_func:
@user_data:
@destroy:
<!-- ##### FUNCTION gtk_tree_sortable_set_default_sort_func ##### -->
<para>
</para>
@sortable:
@sort_func:
@user_data:
@destroy:
<!-- ##### FUNCTION gtk_tree_sortable_has_default_sort_func ##### -->
<para>
</para>
@sortable:
@Returns:

View File

@ -116,15 +116,14 @@ _gdk_window_init_position (GdkWindow *window)
* @dx: Amount to scroll in the X direction
* @dy: Amount to scroll in the Y direction
*
* Scroll the contents of its window, both pixels and children, by
* the given amount. Portions of the window that the scroll operation
* brings in from offscreen areas are invalidated. The invalidated
* region may be bigger than what would strictly be necessary.
* (For X11, a minimum area will be invalidated if the window has
* no subwindows, or if the edges of the window's parent do not extend
* beyond the edges of the window. In other cases, a multi-step process
* is used to scroll the window which may produce temporary visual
* artifacts and unnecessary invalidations.)
* Scroll the contents of @window, both pixels and children, by the given
* amount. @window itself does not move. Portions of the window that the scroll
* operation brings in from offscreen areas are invalidated. The invalidated
* region may be bigger than what would strictly be necessary. (For X11, a
* minimum area will be invalidated if the window has no subwindows, or if the
* edges of the window's parent do not extend beyond the edges of the window. In
* other cases, a multi-step process is used to scroll the window which may
* produce temporary visual artifacts and unnecessary invalidations.)
**/
void
gdk_window_scroll (GdkWindow *window,

View File

@ -731,7 +731,15 @@ gtk_tree_model_sort_rows_reordered (GtkTreeModel *s_model,
}
for (i = 0; i < level->array->len; i++)
g_array_index (level->array, SortElt, i).offset = new_order[i];
{
g_array_index (level->array, SortElt, i).offset = new_order[i];
if (GTK_TREE_MODEL_SORT_CACHE_CHILD_ITERS (tree_model_sort))
{
get_child_iter_from_elt_no_cache (tree_model_sort,
&(g_array_index (level->array, SortElt, i).iter), level, &g_array_index (level->array, SortElt, i));
}
}
gtk_tree_model_sort_increment_stamp (tree_model_sort);

View File

@ -102,6 +102,9 @@ struct _GtkTreeViewPrivate
GdkWindow *drag_window;
GdkWindow *drag_highlight_window;
GtkTreeViewColumn *drag_column;
/* bin_window offset */
gint dy;
gint drag_column_x;
GtkTreeViewColumn *expander_column;

View File

@ -48,14 +48,16 @@
* The "cell" areas are the cell_area passed in to gtk_cell_renderer_render(),
* i.e. just the cells, no spacing.
*/
#define BACKGROUND_FIRST_PIXEL(tree_view,tree,node) (_gtk_rbtree_node_find_offset ((tree), (node)) + TREE_VIEW_HEADER_HEIGHT ((tree_view)))
#define CELL_FIRST_PIXEL(tree_view,tree,node,separator) (BACKGROUND_FIRST_PIXEL (tree_view,tree,node) + separator/2)
#define BACKGROUND_HEIGHT(node) (GTK_RBNODE_GET_HEIGHT (node))
#define CELL_HEIGHT(node, separator) (BACKGROUND_HEIGHT (node) - separator);
#define TREE_WINDOW_Y_TO_RBTREE_Y(tree_view,y) ((y) - TREE_VIEW_HEADER_HEIGHT (tree_view))
#define RBTREE_Y_TO_TREE_WINDOW_Y(tree_view,y) ((y) + TREE_VIEW_HEADER_HEIGHT (tree_view))
#define TREE_WINDOW_Y_TO_RBTREE_Y(tree_view,y) ((y) - TREE_VIEW_HEADER_HEIGHT (tree_view) + tree_view->priv->dy)
#define RBTREE_Y_TO_TREE_WINDOW_Y(tree_view,y) ((y) + TREE_VIEW_HEADER_HEIGHT (tree_view) - tree_view->priv->dy)
/* This is in Window coordinates */
#define BACKGROUND_FIRST_PIXEL(tree_view,tree,node) (RBTREE_Y_TO_TREE_WINDOW_Y (tree_view, _gtk_rbtree_node_find_offset ((tree), (node))))
#define CELL_FIRST_PIXEL(tree_view,tree,node,separator) (BACKGROUND_FIRST_PIXEL (tree_view,tree,node) + separator/2)
typedef struct _GtkTreeViewChild GtkTreeViewChild;
@ -862,7 +864,7 @@ gtk_tree_view_init (GtkTreeView *tree_view)
/* We need some padding */
tree_view->priv->tab_offset += EXPANDER_EXTRA_PADDING;
tree_view->priv->dy = 0;
tree_view->priv->n_columns = 0;
tree_view->priv->header_height = 1;
tree_view->priv->x_drag = 0;
@ -1195,7 +1197,7 @@ gtk_tree_view_realize (GtkWidget *widget)
attributes.x = 0;
attributes.y = 0;
attributes.width = tree_view->priv->width;
attributes.height = tree_view->priv->height + TREE_VIEW_HEADER_HEIGHT (tree_view);
attributes.height = widget->allocation.height;
attributes.event_mask = GDK_EXPOSURE_MASK |
GDK_SCROLL_MASK |
GDK_POINTER_MOTION_MASK |
@ -1463,11 +1465,9 @@ gtk_tree_view_size_allocate (GtkWidget *widget,
gdk_window_resize (tree_view->priv->header_window,
MAX (tree_view->priv->width, allocation->width),
tree_view->priv->header_height);
if (tree_view->priv->width < allocation->width)
gdk_window_resize (tree_view->priv->bin_window,
allocation->width,
tree_view->priv->height + TREE_VIEW_HEADER_HEIGHT (tree_view));
gdk_window_resize (tree_view->priv->bin_window,
tree_view->priv->width,
allocation->height);
_gtk_tree_view_update_col_width (tree_view);
}
@ -1481,7 +1481,7 @@ gtk_tree_view_size_allocate (GtkWidget *widget,
if (tree_view->priv->hadjustment->value + allocation->width > tree_view->priv->width)
tree_view->priv->hadjustment->value = MAX (tree_view->priv->width - allocation->width, 0);
gtk_signal_emit_by_name (GTK_OBJECT (tree_view->priv->hadjustment), "changed");
gtk_adjustment_changed (tree_view->priv->hadjustment);
tree_view->priv->vadjustment->page_size = allocation->height - TREE_VIEW_HEADER_HEIGHT (tree_view);
tree_view->priv->vadjustment->step_increment = (tree_view->priv->vadjustment->page_size) / 10;
@ -1492,8 +1492,7 @@ gtk_tree_view_size_allocate (GtkWidget *widget,
if (tree_view->priv->vadjustment->value + allocation->height > tree_view->priv->height)
gtk_adjustment_set_value (tree_view->priv->vadjustment,
MAX (tree_view->priv->height - allocation->height, 0));
gtk_signal_emit_by_name (GTK_OBJECT (tree_view->priv->vadjustment), "changed");
gtk_adjustment_changed (tree_view->priv->vadjustment);
if (tree_view->priv->scroll_to_path != NULL ||
tree_view->priv->scroll_to_column != NULL)
@ -1572,11 +1571,10 @@ gtk_tree_view_button_press (GtkWidget *widget,
}
/* find the node that was clicked */
new_y = ((gint) event->y < TREE_VIEW_HEADER_HEIGHT (tree_view)) ? TREE_VIEW_HEADER_HEIGHT (tree_view) : (gint)event->y;
y_offset = -_gtk_rbtree_find_offset (tree_view->priv->tree,
TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, new_y),
&tree,
&node) + new_y - (gint)event->y;
new_y = TREE_WINDOW_Y_TO_RBTREE_Y(tree_view, event->y);
if (new_y < 0)
new_y = 0;
y_offset = -_gtk_rbtree_find_offset (tree_view->priv->tree, new_y, &tree, &node);
if (node == NULL)
/* We clicked in dead space */
@ -1881,7 +1879,7 @@ static gboolean
coords_are_over_arrow (GtkTreeView *tree_view,
GtkRBTree *tree,
GtkRBNode *node,
/* these are in tree window coords */
/* these are in window coords */
gint x,
gint y)
{
@ -1904,8 +1902,8 @@ coords_are_over_arrow (GtkTreeView *tree_view,
return (x >= arrow.x &&
x < (arrow.x + arrow.width) &&
y >= arrow.y &&
y < (arrow.y + arrow.height));
y >= arrow.y &&
y < (arrow.y + arrow.height));
}
static void
@ -1945,12 +1943,14 @@ static void
do_prelight (GtkTreeView *tree_view,
GtkRBTree *tree,
GtkRBNode *node,
/* these are in tree window coords */
/* these are in tree_window coords */
gint x,
gint y)
{
if (coords_are_over_arrow (tree_view, tree, node, x, y))
GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_ARROW_PRELIT);
{
GTK_TREE_VIEW_SET_FLAG (tree_view, GTK_TREE_VIEW_ARROW_PRELIT);
}
tree_view->priv->prelight_node = node;
tree_view->priv->prelight_tree = tree;
@ -2355,14 +2355,12 @@ gtk_tree_view_motion_bin_window (GtkWidget *widget,
old_prelight_tree = tree_view->priv->prelight_tree;
old_prelight_node = tree_view->priv->prelight_node;
old_arrow_prelit = GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_ARROW_PRELIT);
new_y = TREE_WINDOW_Y_TO_RBTREE_Y(tree_view, event->y);
if (new_y < 0)
new_y = 0;
do_unprelight (tree_view, event->x, event->y);
new_y = ((gint)event->y<TREE_VIEW_HEADER_HEIGHT (tree_view))?TREE_VIEW_HEADER_HEIGHT (tree_view):(gint)event->y;
_gtk_rbtree_find_offset (tree_view->priv->tree,
TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, new_y),
&tree,
&node);
_gtk_rbtree_find_offset (tree_view->priv->tree, new_y, &tree, &node);
if (tree == NULL)
return TRUE;
@ -2373,29 +2371,34 @@ gtk_tree_view_motion_bin_window (GtkWidget *widget,
return TRUE;
do_prelight (tree_view, tree, node, event->x, new_y);
do_prelight (tree_view, tree, node, event->x, event->y);
if (old_prelight_node != tree_view->priv->prelight_node)
{
if (old_prelight_node)
gtk_tree_view_queue_draw_node (tree_view,
{
gtk_tree_view_queue_draw_node (tree_view,
old_prelight_tree,
old_prelight_node,
NULL);
}
if (tree_view->priv->prelight_node)
gtk_tree_view_queue_draw_node (tree_view,
{
gtk_tree_view_queue_draw_node (tree_view,
tree_view->priv->prelight_tree,
tree_view->priv->prelight_node,
NULL);
}
}
else if (old_arrow_prelit != GTK_TREE_VIEW_FLAG_SET (tree_view, GTK_TREE_VIEW_ARROW_PRELIT))
{
if (tree_view->priv->prelight_node)
gtk_tree_view_queue_draw_node (tree_view,
tree_view->priv->prelight_tree,
tree_view->priv->prelight_node,
NULL);
{
gtk_tree_view_queue_draw_node (tree_view,
tree_view->priv->prelight_tree,
tree_view->priv->prelight_node,
NULL);
}
}
return TRUE;
}
@ -2468,16 +2471,23 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
if (tree_view->priv->tree == NULL)
return TRUE;
/* clip event->area to the visible area */
if (event->area.y < TREE_VIEW_HEADER_HEIGHT (tree_view))
{
event->area.height -= (TREE_VIEW_HEADER_HEIGHT (tree_view) - event->area.y);
event->area.y = TREE_VIEW_HEADER_HEIGHT (tree_view);
if (event->area.height < 0)
return TRUE;
}
gtk_tree_view_check_dirty_and_clean (GTK_TREE_VIEW (widget));
/* we want to account for a potential HEADER offset. That is, if the header
* exists, we want to offset our event by its height to find the right node.
*/
new_y = (event->area.y<TREE_VIEW_HEADER_HEIGHT (tree_view))?TREE_VIEW_HEADER_HEIGHT (tree_view):event->area.y;
y_offset = -_gtk_rbtree_find_offset (tree_view->priv->tree,
TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, new_y),
&tree,
&node) + new_y - event->area.y;
new_y = TREE_WINDOW_Y_TO_RBTREE_Y(tree_view, event->area.y);
if (new_y < 0)
new_y = 0;
y_offset = -_gtk_rbtree_find_offset (tree_view->priv->tree, new_y, &tree, &node);
if (node == NULL)
return TRUE;
@ -2535,6 +2545,7 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
background_area.y = y_offset + event->area.y;
background_area.height = max_height;
flags = 0;
if (GTK_RBNODE_FLAG_SET (node, GTK_RBNODE_IS_PRELIT))
@ -2652,7 +2663,6 @@ gtk_tree_view_bin_expose (GtkWidget *widget,
* level of the tree we're dropping at.
*/
highlight_x = cell_area.x;
gtk_tree_view_column_cell_render (column,
event->window,
&background_area,
@ -2876,17 +2886,15 @@ gtk_tree_view_enter_notify (GtkWidget *widget,
return TRUE;
/* find the node internally */
new_y = ((gint)event->y<TREE_VIEW_HEADER_HEIGHT (tree_view))?TREE_VIEW_HEADER_HEIGHT (tree_view):(gint)event->y;
_gtk_rbtree_find_offset (tree_view->priv->tree,
TREE_WINDOW_Y_TO_RBTREE_Y (tree_view, new_y),
&tree,
&node);
new_y = TREE_WINDOW_Y_TO_RBTREE_Y(tree_view, event->y);
if (new_y < 0)
new_y = 0;
_gtk_rbtree_find_offset (tree_view->priv->tree, new_y, &tree, &node);
if (node == NULL)
return FALSE;
do_prelight (tree_view, tree, node, event->x, new_y);
do_prelight (tree_view, tree, node, event->x, event->y);
if (tree_view->priv->prelight_node)
gtk_tree_view_queue_draw_node (tree_view,
@ -2906,6 +2914,8 @@ gtk_tree_view_leave_notify (GtkWidget *widget,
g_return_val_if_fail (GTK_IS_TREE_VIEW (widget), FALSE);
if (event->mode == GDK_CROSSING_GRAB)
return TRUE;
tree_view = GTK_TREE_VIEW (widget);
if (tree_view->priv->prelight_node)
@ -6282,12 +6292,16 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment,
{
if (GTK_WIDGET_REALIZED (tree_view))
{
gint dy;
gdk_window_move (tree_view->priv->bin_window,
- tree_view->priv->hadjustment->value,
- tree_view->priv->vadjustment->value);
0);
gdk_window_move (tree_view->priv->header_window,
- tree_view->priv->hadjustment->value,
0);
dy = tree_view->priv->dy - (int) tree_view->priv->vadjustment->value;
gdk_window_scroll (tree_view->priv->bin_window, 0, dy);
tree_view->priv->dy = (int) tree_view->priv->vadjustment->value;
gdk_window_process_updates (tree_view->priv->bin_window, TRUE);
gdk_window_process_updates (tree_view->priv->header_window, TRUE);

View File

@ -87,7 +87,6 @@ main (int argc, char *argv[])
gtk_box_pack_start (GTK_BOX (vbox), scrolled_window, TRUE, TRUE, 0);
model = gtk_tree_store_new (NUM_COLUMNS, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING);
smodel = gtk_tree_model_sort_new_with_model (GTK_TREE_MODEL (model));
ssmodel = gtk_tree_model_sort_new_with_model (GTK_TREE_MODEL (smodel));