diff options
26 files changed, 456 insertions, 195 deletions
@@ -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 diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index 6dada401ae..5a8453797c 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -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 diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 6dada401ae..5a8453797c 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -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 diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index 6dada401ae..5a8453797c 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -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 diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index 6dada401ae..5a8453797c 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -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 diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index 6dada401ae..5a8453797c 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -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 diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index 6dada401ae..5a8453797c 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -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 diff --git a/demos/gtk-demo/appwindow.c b/demos/gtk-demo/appwindow.c index 1b5df07500..89b517c07f 100644 --- a/demos/gtk-demo/appwindow.c +++ b/demos/gtk-demo/appwindow.c @@ -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, diff --git a/docs/reference/ChangeLog b/docs/reference/ChangeLog index e77e8ee37f..c1d102cab0 100644 --- a/docs/reference/ChangeLog +++ b/docs/reference/ChangeLog @@ -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 diff --git a/docs/reference/gdk/tmpl/gdk-unused.sgml b/docs/reference/gdk/tmpl/gdk-unused.sgml index 7311ec15d3..3f1d09e231 100644 --- a/docs/reference/gdk/tmpl/gdk-unused.sgml +++ b/docs/reference/gdk/tmpl/gdk-unused.sgml @@ -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> diff --git a/docs/reference/gdk/tmpl/properties.sgml b/docs/reference/gdk/tmpl/properties.sgml index d2bbbc0d99..370175cf6b 100644 --- a/docs/reference/gdk/tmpl/properties.sgml +++ b/docs/reference/gdk/tmpl/properties.sgml @@ -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> diff --git a/docs/reference/gdk/tmpl/selections.sgml b/docs/reference/gdk/tmpl/selections.sgml index fbcde204a6..efc8ca1f9d 100644 --- a/docs/reference/gdk/tmpl/selections.sgml +++ b/docs/reference/gdk/tmpl/selections.sgml @@ -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> diff --git a/docs/reference/gdk/tmpl/visuals.sgml b/docs/reference/gdk/tmpl/visuals.sgml index 559c015821..028c1ec211 100644 --- a/docs/reference/gdk/tmpl/visuals.sgml +++ b/docs/reference/gdk/tmpl/visuals.sgml @@ -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 ##### --> diff --git a/docs/reference/gdk/tmpl/x_interaction.sgml b/docs/reference/gdk/tmpl/x_interaction.sgml index 9ac4d7f3f5..36a4b64f0d 100644 --- a/docs/reference/gdk/tmpl/x_interaction.sgml +++ b/docs/reference/gdk/tmpl/x_interaction.sgml @@ -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 ##### --> diff --git a/docs/reference/gtk/gtk-docs.sgml b/docs/reference/gtk/gtk-docs.sgml index e03dec6ff0..fd0c2acdb8 100644 --- a/docs/reference/gtk/gtk-docs.sgml +++ b/docs/reference/gtk/gtk-docs.sgml @@ -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. >k-TreeWidget; >k-GtkTreeModel; >k-GtkTreeSelection; - >k-GtkTreeStore; >k-GtkTreeViewColumn; >k-GtkTreeView; >k-GtkTreeDND; + >k-GtkTreeSortable; >k-GtkTreeModelSort; >k-GtkCellRenderer; + >k-GtkCellEditable; >k-GtkCellRendererPixbuf; >k-GtkCellRendererText; >k-GtkCellRendererToggle; >k-GtkListStore; + >k-GtkTreeStore; </sect1> <sect1 id="MenusAndCombos"> <title>Menus, Combo Box, Toolbar</title> diff --git a/docs/reference/gtk/tmpl/gtk-unused.sgml b/docs/reference/gtk/tmpl/gtk-unused.sgml index 53236811d6..7a13859849 100644 --- a/docs/reference/gtk/tmpl/gtk-unused.sgml +++ b/docs/reference/gtk/tmpl/gtk-unused.sgml @@ -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> diff --git a/docs/reference/gtk/tmpl/gtkcelleditable.sgml b/docs/reference/gtk/tmpl/gtkcelleditable.sgml new file mode 100644 index 0000000000..b15e633962 --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkcelleditable.sgml @@ -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: + + diff --git a/docs/reference/gtk/tmpl/gtkdnd.sgml b/docs/reference/gtk/tmpl/gtkdnd.sgml index 5d860b9fe7..281e88870a 100644 --- a/docs/reference/gtk/tmpl/gtkdnd.sgml +++ b/docs/reference/gtk/tmpl/gtkdnd.sgml @@ -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. diff --git a/docs/reference/gtk/tmpl/gtkscrolledwindow.sgml b/docs/reference/gtk/tmpl/gtkscrolledwindow.sgml index f7093de2cd..62de378149 100644 --- a/docs/reference/gtk/tmpl/gtkscrolledwindow.sgml +++ b/docs/reference/gtk/tmpl/gtkscrolledwindow.sgml @@ -192,6 +192,8 @@ Sets the #GtkAdjustment for the vertical scrollbar. </para> @scrolled_window: A #GtkScrolledWindow. +@hadjustment: +<!-- # Unused Parameters # --> @vadjustment: Vertical scroll adjustment. diff --git a/docs/reference/gtk/tmpl/gtktreemodelsort.sgml b/docs/reference/gtk/tmpl/gtktreemodelsort.sgml index d8a3fd421a..8cc1233dc2 100644 --- a/docs/reference/gtk/tmpl/gtktreemodelsort.sgml +++ b/docs/reference/gtk/tmpl/gtktreemodelsort.sgml @@ -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: - - diff --git a/docs/reference/gtk/tmpl/gtktreesortable.sgml b/docs/reference/gtk/tmpl/gtktreesortable.sgml new file mode 100644 index 0000000000..4bb1c357ca --- /dev/null +++ b/docs/reference/gtk/tmpl/gtktreesortable.sgml @@ -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: + + diff --git a/gdk/x11/gdkgeometry-x11.c b/gdk/x11/gdkgeometry-x11.c index 28e10fc567..64fc00f03a 100644 --- a/gdk/x11/gdkgeometry-x11.c +++ b/gdk/x11/gdkgeometry-x11.c @@ -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, diff --git a/gtk/gtktreemodelsort.c b/gtk/gtktreemodelsort.c index 8f9e820316..ab02c2709a 100644 --- a/gtk/gtktreemodelsort.c +++ b/gtk/gtktreemodelsort.c @@ -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); diff --git a/gtk/gtktreeprivate.h b/gtk/gtktreeprivate.h index 5ffedf56e2..e6aae56b33 100644 --- a/gtk/gtktreeprivate.h +++ b/gtk/gtktreeprivate.h @@ -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; diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c index 7add0e79fc..c562625110 100644 --- a/gtk/gtktreeview.c +++ b/gtk/gtktreeview.c @@ -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); - 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); + 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); + _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); diff --git a/tests/testtreesort.c b/tests/testtreesort.c index 2b817661d0..69bceb1be9 100644 --- a/tests/testtreesort.c +++ b/tests/testtreesort.c @@ -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)); |