Commit Graph

321 Commits

Author SHA1 Message Date
Kristian Rietveld
ae89375b9e cancel editing if tree_view->priv->edited_column != NULL (fixes #76066)
Fri Apr 19 21:31:04 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_row_changed): cancel editing
        if tree_view->priv->edited_column != NULL (fixes #76066)
2002-04-19 19:26:16 +00:00
Kristian Rietveld
a1f3d61d50 subtract TREE_VIEW_HEADER_HEIGHT from allocation->height to get the real
Fri Apr 19 21:06:39 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): subtract
        TREE_VIEW_HEADER_HEIGHT from allocation->height to get the real
        size for the tree (fixes #72729),
        (gtk_tree_view_real_start_editing): correct cell_area->y for
        scrolling due to gtk_tree_view_real_set_cursor (fixes #75687)
2002-04-19 19:02:26 +00:00
Kristian Rietveld
d3a1294923 rename last_single_clicked{,_2} to last_button_press{,_2}, as the latter
Fri Apr 19 16:30:09 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeprivate.h, gtk/gtktreeview.c: rename
        last_single_clicked{,_2} to last_button_press{,_2}, as the latter
        is a more sane name.

        * gtk/gtktreeview.c (gtk_tree_view_button_press): use ->priv->anchor
        instead of ->priv->cursor, check for the anchor at another place, as
        you can go in edit mode without having an anchor.
2002-04-19 14:31:54 +00:00
Kristian Rietveld
8fbac80bc4 check ->priv->cursor and ->priv->anchor rowrefs before removing
Tue Apr 16 17:28:21 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): check
        ->priv->cursor and ->priv->anchor rowrefs before removing
        node->children from the rbtree. Also check the
        ->priv->last_single_clicked and ->priv->last_single_clicked_2 rowrefs
        (I think I really need to rename those two someday).
2002-04-16 15:25:27 +00:00
Kristian Rietveld
54db0fc9fd add _gtk_tree_view_column_get_editable_cell and
Sun Apr 14 16:56:59 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeprivate.h: add _gtk_tree_view_column_get_editable_cell and
        _gtk_tree_view_column_get_neighbor_sizes

        * gtk/gtktreeviewcolumn.c (struct _GtkTreeViewColumnCellInfo): add
        real_width field,
        (_gtk_tree_view_column_get_editable_cell): implement,
        (gtk_tree_view_column_cell_process_action): fill info->real_width
        (_gtk_tree_view_column_get_neighbor_sizes): implement

        * gtk/gtktreeview.c (gtk_tree_view_button_press): make the "editable
        widget" show up with the same size as the actual cell, so it doesnt
        cover the complete column if there are any other cells in that column.
2002-04-14 15:05:04 +00:00
Kristian Rietveld
2666ab462e Fixes #75510
Sat Apr 13 22:49:45 2002  Kristian Rietveld  <kris@gtk.org>

        Fixes #75510

        * gtk/gtktreeselection.c (gtk_tree_selection_get_selected): make this
        function work correctly and more sane

        * gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): remove
        node->children from rbtree before emitting GtkTreeSelection::changed

Sat Apr 13 17:15:12 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_init): dont set
        the mode to GTK_CELL_RENDERER_MODE_EDITABLE by default,
        (gtk_cell_renderer_text_class_init): for some reason our default for
        editable was TRUE, of course this is FALSE.
        (gtk_cell_renderer_text_set_property): update mode when editable
        has been changed.
2002-04-13 20:48:31 +00:00
Kristian Rietveld
8e84c6b9d2 add clamp_node argument (toplevel): update usages of
Fri Apr 12 18:32:46 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_real_set_cursor): add
        clamp_node argument
        (toplevel): update usages of gtk_tree_view_real_set_cursor,
        (gtk_tree_view_focus_to_cursor): don't let
        gtk_tree_view_real_set_cursor clamp the node, so you won't get
        unexpected scrolling
2002-04-12 16:32:39 +00:00
Kristian Rietveld
64e33eb68f Fixes #78110
Tue Apr  9 21:41:24 2002  Kristian Rietveld  <kris@gtk.org>

        Fixes #78110

        * gtk/gtktreeselection.c (_gtk_tree_selection_internal_select_node):
        add override_browse_mode argument and implement,
        (gtk_tree_selection_unselect_path): always unselect the path,
        (toplevel): update uses of _gtk_tree_selection_internal_select_node

        * gtk/gtktreeview.c: update uses of
        _gtk_tree_selection_internal_select_node

        * gtk/gtktreeprivate.h (_gtk_tree_selection_internal_select_node):
        update prototype

Tue Apr  9 21:39:44 2002  Kristian Rietveld  <kris@gtk.org>

        Fixes #77862

        * gtk/gtktreeprivate.h: add _gtk_tree_view_column_has_editable_cell

        * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_has_editable_cell):
        new function

        * gtk/gtktreeview.c (gtk_tree_view_button_press): send cell event
        on first click when cell isn't editable

Tue Apr  9 21:37:31 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreedatalist.c (_gtk_tree_data_list_check_type): add some
        types which were missing and useful to use (fixes #77870)
2002-04-09 19:48:32 +00:00
Kristian Rietveld
6d4655b01a free anchor row reference after unselecting the selection (fixes #76272)
Fri Apr  5 18:28:56 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeselection.c (gtk_tree_selection_set_mode): free
        anchor row reference after unselecting the selection (fixes #76272)

Fri Apr  5 18:27:48 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_real_expand_row): only return
        when we don't have to open all children (fixes #75736)

Fri Apr  5 18:24:24 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_clear): unref
        cellrenderer after clearing the attributes of the renderer (fixes
        #75592)
2002-04-05 16:28:14 +00:00
Jonathan Blandford
8c114fa6a0 implement. (gtk_tree_view_move_cursor_up_down): check for focus
Fri Apr  5 05:55:14 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtktreeview.c (gtk_tree_view_grab_focus): implement.
	  (gtk_tree_view_move_cursor_up_down): check for focus
	  (gtk_tree_view_move_cursor_page_up_down): ditto
	  (gtk_tree_view_move_cursor_left_right): ditto
	  (gtk_tree_view_move_cursor_start_end): ditto
	  (gtk_tree_view_real_select_all): ditto
	  (gtk_tree_view_real_unselect_all): ditto
	  (gtk_tree_view_real_select_cursor_row): ditto
	  (gtk_tree_view_real_toggle_cursor_row): ditto
	  (gtk_tree_view_real_expand_collapse_cursor_row): ditto
	  (gtk_tree_view_real_select_cursor_parent): ditto
	  (gtk_tree_view_real_start_interactive_search): ditto

	* gtk/gtktreeviewcolumn.c: grab focus
2002-04-05 16:11:32 +00:00
Kristian Rietveld
3089666944 add check for y > tree_view->priv->height (fixes #76974)
Mon Apr  1 22:20:24 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): add
        check for y > tree_view->priv->height (fixes #76974)

Mon Apr  1 22:19:39 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreemodelsort.c (gtk_tree_model_sort_sort_level): get
        the stamp changes right this time

Mon Apr  1 22:13:24 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreemodel.c (gtk_tree_row_reference_free): only
        disconnect the ref callbacks when model == proxy (Thanks go to
        Manuel Clos Crespo for the remote debugging)
2002-04-01 20:40:58 +00:00
Dave Camp
418e0c4622 Don't install the handler if the widget isn't realized.
2002-03-28  Dave Camp  <dave@ximian.com>

	* gtk/gtktreeview.c (install_scroll_sync_handler): Don't install
	the handler if the widget isn't realized.
2002-03-28 17:05:34 +00:00
Murray Cumming
271dfdc7bf Corrected registered return type of move-cursor signal. Had to add a
2002-03-27  Murray Cumming  <murrayc@usa.net>

 * gtk/gtktreeview.cc: Corrected registered return type of
move-cursor signal. Had to add a marshaller to
 gtk/gtkmarshalers.list.
2002-03-27 10:55:28 +00:00
Dave Camp
e62f9fb020 Free the path after calling gtk_tree_view_row_activated() rather than
2002-03-26  Dave Camp  <dave@ximian.com>

        * gtk/gtktreeview.c (gtk_tree_view_button_press): Free the path
        after calling gtk_tree_view_row_activated() rather than before.
2002-03-26 17:12:30 +00:00
Jonathan Blandford
7cc14762b9 Make path arg const, #75653
Sun Mar 24 10:32:38 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreemodel.c (gtk_tree_path_copy): Make path arg const, #75653

	* gtk/gtkfontsel.c (gtk_font_selection_show_available_styles): fix
	a warning

	* gtk/gtktreeview.c (gtk_tree_view_button_press): remove the grab
	when we emit row_activated so that listeners of this signal can
	grab the mouse, #75629
2002-03-25 04:10:49 +00:00
Kristian Rietveld
dc5be9edc5 fix logic (fixes #74235, #73593)
Thu Mar 21 00:05:14 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_get_background_area),
        (gtk_tree_view_get_cell_area): fix logic (fixes #74235, #73593)
2002-03-20 23:04:16 +00:00
Kristian Rietveld
92febe2720 add _gtk_rbtree_set_fixed_height()
Wed Mar 20 22:59:23 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtkrbtree.[ch]: add _gtk_rbtree_set_fixed_height()

        * gtk/gtktreeprivate.h: add fixed_height_check field

        * gtk/gtktreeview.c (gtk_tree_view_init): initialize
        scroll_sync_timer and fixed_height_check
        (do_validate_rows): add fixed_height_check. If all validated rows
        in the first cycle have the same height, then we set that height for
        the entire tree. This is some sort of 'fake' optimization, but helps
        a lot for the common case. We keep validating the entire tree in
        the background though.
        (gtk_tree_view_set_model): reset fixed_height_check
2002-03-20 22:06:05 +00:00
Owen Taylor
8acfd1e9de Patch from Erwann Chenede, #73900 fixing a lot of warnings with Forte CC,
Wed Mar 20 16:36:08 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/*.c: Patch from Erwann Chenede, #73900 fixing
        a lot of warnings with Forte CC, mostly implicit
        casts between void * and function pointers.

        * gdk/gdkevents.c (gdk_event_get_state): GdkEventVisibility's
        state field is not a GdkModifierType. (Also #73900)
2002-03-20 21:47:01 +00:00
Kristian Rietveld
ff4e78c0d8 use do_validate_rows instead of validate_rows_handler (fix by Mike Pieper,
Sun Mar 17 01:11:16 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_size_request): use
        do_validate_rows instead of validate_rows_handler (fix by
        Mike Pieper, #74126)
2002-03-17 00:07:17 +00:00
Kristian Rietveld
bd7678c78d just return when we have an input_only window (fix by Owen Taylor)
Sat Mar 16 23:54:56 2002  Kristian Rietveld  <kris@gtk.org>

        * gdk/x11/gdkwindow-x11.c (gdk_window_set_static_bit_gravity): just
        return when we have an input_only window (fix by Owen Taylor)

        * gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add
        scroll_sync_timer

        * gtk/gtktreeview.c (install_scroll_sync_handler): new function,
        (scroll_sync_handler): ditto,
        (gtk_tree_view_unrealize): take scroll_sync_timer into account
        (gtk_tree_view_row_deleted): install scroll_sync_timer instead of
        calling top_row_to_dy/dy_to_top_row directly
        -- this greatly speeds up clearing the model (#73199)

        * gtk/gtktreemodelsort.c
        (gtk_tree_model_sort_convert_path_to_child_path): fix up this function,
        for some reason I really screwed it up (fixes #74663)
2002-03-16 23:30:44 +00:00
Jonathan Blandford
51c6334d10 make args const, 74159 (gtk_tree_view_insert_column_with_attributes):
Fri Mar 15 11:28:41 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
	make args const, 74159
	(gtk_tree_view_insert_column_with_attributes): ditto

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_cell_process_action): remov unused variables.
2002-03-15 16:37:07 +00:00
Jonathan Blandford
1e1b214a18 finally get the right behavior.
Sun Mar 10 21:04:30 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): finally get the
	right behavior.
2002-03-11 02:13:21 +00:00
Kristian Rietveld
9521c72344 compare path with cursor path and not with the selected iter in the
Mon Mar 11 01:25:14 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_button_press): compare path with
        cursor path and not with the selected iter in the 'decide to edit'
        check
2002-03-11 00:28:47 +00:00
Jonathan Blandford
540751b9ab get rid of really bad focus loop. (gtk_tree_view_clamp_node_visible): only
Thu Mar  7 16:46:58 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (validate_visible_area): get rid of really
	bad focus loop.
	(gtk_tree_view_clamp_node_visible): only clamp the node when
	realized.  Need to replace this with scroll_to_cell sometime.
	(gtk_tree_view_header_focus): clickable or reorderable columns are
	focusable, #73656

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_widget): fix
	docs to reflect behaviour change, #73682
2002-03-08 17:58:22 +00:00
Jonathan Blandford
110e1cd711 start implementing
Thu Mar  7 02:58:16 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/tmpl/gtkliststore.sgml: start implementing

	* gtk/question_index.sgml: "I can set with the tree, but not
	get???!?!"

Wed Mar  6 23:20:51 2002  Jonathan Blandford  <jrb@redhat.com>
and			  Kristian Rietveld  <kris@gtk.org>

	Finishing touch for 2.0.0 release, fixes #70782, #72729, the
	'stealth' bug and other last-minute minor issues.

	* gtk/gtktreeview.c (gtk_tree_view_bin_expose): set dnd dest line
	drawing right. We can't draw the line at the position of the next
	row, because that one still has to be drawn. So draw everthing at
	a -1 offset.
	(validate_visible_area): add check for invalid descendants and
	NULL scroll_to_path path, get scrolling right.  Also, fix the
	area_above value.  Pretty amazing I got it wrong.
	(get_logical_dest_row): add gtk-tree-model-drop-append magic, so
	dragging a row to the end of the model works right.
	(gtk_tree_view_get_dest_row_at_pos): minor floating point fix
	(gtk_tree_view_start_editing): add call to validate_row
	(gtk_tree_view_tree_to_widget_coords): Never subtract
	HEADER_HEIGHT from y values anymore!!!
	(gtk_tree_view_widget_coords_to_tree): ditto.
	(gtk_tree_view_scroll_to_point): allow -1 as values for the
	scroll_to coords
	(gtk_tree_view_move_cursor_page_up_down): Don't need scroll_to_y
	as clamp_node_visible will make it work.

	* gtk/gtktreestore.c (gtk_tree_store_drag_data_received): also check
	path depth, as we can't get iters from empty paths

	* gtk/gtkliststore.c (gtk_list_store_drag_data_received): handle
	gtk-tree-model-drop-append

	* gtk/gtktreednd.c (gtk_tree_set_row_drag_data): free path_str

	* tests/testtreeflow.c (main): select path where we are scrolling to
2002-03-07 08:03:09 +00:00
Darin Adler
1845cc4349 Update offsets before finding where to insert the new value.
* gtk/gtktreemodelsort.c: (gtk_tree_model_sort_insert_value):
	Update offsets before finding where to insert the new value.

	* gtk/gtktreeview.c: (validate_visible_area): Make sure we redraw when
	we scroll, instead of just updating the scroll position variables.
2002-03-07 06:04:03 +00:00
Matthias Clasen
981574a9be Fix docs.
* gtk/gtktreemodel.c (gtk_tree_row_reference_deleted): Fix docs.

	* gtk/gtkwindow.c (gtk_window_remove_mnemonic):
	(gtk_window_add_mnemonic):
	(gtk_window_mnemonic_activate): Add docs.

	* gtk/gtktreeview.c (gtk_tree_view_get_search_equal_func): Fix
	typo in docs.

	* test-loaders.c, test-images.h: More random tests.

	* io-bmp.c (DecodeHeader): Fail gracefully on OOM here.

	* gtk/gtk-sections.txt: Remove gtk_win32_get_installation_directory.
2002-03-05 22:44:27 +00:00
Owen Taylor
3305137ff3 Don't use this same functions as idle callbacks and directly, to avoid
Tue Mar  5 10:29:09 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktreeview.c (do_presize_handler)
	gtk/gtktreeview.c (do_validate_rows): Don't use this
	same functions as idle callbacks and directly, to avoid
	threading deadlocks. (#72392, Scott Guilbeaux)

	* gtk/gtktable.c (gtk_table_size_request_init): Fix
	row/column confusion from recent patch. (#73505,
	Vitaly Tishkov.)
2002-03-05 15:30:52 +00:00
Kristian Rietveld
3263de0e77 move edit ifs above _set_cursor code, don't collapse/expand row on double
Sat Mar  2 03:49:31 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_button_press): move edit
        ifs above _set_cursor code, don't collapse/expand row on double
        click, only activate (#63269)
        (validate_visible_area): add two missing lines (#73161, #73162)
2002-03-03 17:29:50 +00:00
Kristian Rietveld
aa83195ad6 set first_cell to FALSE after first iteration
Fri Mar  1 23:59:35 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_get_size): set
        first_cell to FALSE after first iteration

        * gtk/gtktreeview.c (validate_visible_area): reduce usage of
        GTK_RBNODE_GET_HEIGHT, check for node != NULL,
        (gtk_tree_view_top_row_to_dy): remove call to gtk_adjustment_changed
        (gtk_tree_view_search_iter): select iter after scrolling
2002-03-01 23:08:31 +00:00
Kristian Rietveld
07d3ebd017 take into account that a path from a rowref can be NULL. (#72623 and
Tue Feb 26 19:47:16 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (validate_visible_area): take into account
        that a path from a rowref can be NULL. (#72623 and #72650)

        * gtk/gtktreeviewcolumn.c (gtk_tree_view_column_cell_render_or_focus):
        let focus_rectangle be the same as cell_area for empty cells (#69900)
2002-02-26 18:56:53 +00:00
Richard Hult
23558e0a3b Fix #72586. Silently accept empty tree. (gtk_tree_view_collapse_all):
2002-02-26  Richard Hult  <rhult@codefactory.se>

	* gtk/gtktreeview.c (gtk_tree_view_expand_all): Fix
	#72586. Silently accept empty tree.
	(gtk_tree_view_collapse_all): Likewise.
2002-02-26 15:14:42 +00:00
Kristian Rietveld
4d06c9d09f free iter before going to done
Mon Feb 25 01:14:26 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktextlayout.c (find_display_line_above): free iter before
        going to done

        * gtk/gtktreeview.c (validate_visible_area): free above_path,
        (set_destination_row): free path before returning,
        (gtk_tree_view_set_drag_dest_row): free current_dest
2002-02-25 00:14:07 +00:00
Jonathan Blandford
a265926e2f at Feb 23 23:00:48 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodel.h: add () to function macros as per owen's
	request.

	* gtk/gtkfontsel.c: (gtk_font_selection_select_best_style),
	(gtk_font_selection_show_available_sizes),
	(gtk_font_selection_set_font_name):
	* gtk/gtktreemodel.c: (gtk_tree_model_get_iter_first),
	(gtk_tree_model_foreach):
	* gtk/gtktreemodelsort.c: (gtk_tree_model_sort_sort_level),
	(gtk_tree_model_sort_build_level):
	* gtk/gtktreeselection.c: (gtk_tree_selection_selected_foreach):
	* gtk/gtktreeview.c: (validate_visible_area),
	(gtk_tree_view_focus_to_cursor), (gtk_tree_view_set_model),
	(gtk_tree_view_map_expanded_rows), (gtk_tree_view_search_move),
	(gtk_tree_view_search_init):
	* tests/testtreeview.c: (run_automated_tests): change iter_root
	to iter_first
2002-02-24 04:18:44 +00:00
Jonathan Blandford
779ce437d7 Didn't refind node when it was NULL. Bug found by Tor Lillqvist.
Sat Feb 23 19:05:34 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (validate_visible_area): Didn't refind node
	when it was NULL.  Bug found by Tor Lillqvist.
2002-02-24 00:19:20 +00:00
Jonathan Blandford
b2539ba480 delay scrolling until we try to draw the window.
Wed Feb 20 16:44:05 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): delay
	scrolling until we try to draw the window.

	* gtk/gtktreeview.c (validate_visible_area): Implement
	scroll_to_cell.
2002-02-23 21:53:04 +00:00
Kristian Rietveld
c1a26cc321 honor min_width and max_width while resizing columns (pointed out by Jorn
Sat Feb 23 03:10:20 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_key_press): honor min_width and
        max_width while resizing columns (pointed out by Jorn Baayen)
2002-02-23 02:13:10 +00:00
Owen Taylor
a504db9e83 Fixes for AIX compilation from Miroslaw Dobrzanski-Neumann, #72182.
Fri Feb 22 18:36:45 2002  Owen Taylor  <otaylor@redhat.com>

	Fixes for AIX compilation from Miroslaw Dobrzanski-Neumann,
	#72182.

	* demos/gtk-demo/main.c gtk/gtktreeview.c gtk/gtktoolbar.c
	gtk/gtkpaned.c gtk/gtkobject.c gtk/gtkcontainer.c
	gtk/gtkcolorsel.c gtk/gtkcellrender.c gdk/x11/xsettings-client.h:
	Squash trailing commas on enumerations.

	* gdk/gdktypes.h: Drop GDK_RELEASE_MASK to 1 << 30 instead
	of 1 << 31 to work around AIX compiler problem. (C standard
	seems to imply that compiler is required to use an unsigned
	type for the enum value in this case.)

	* gdk/gdkpixbuf-drawable.c: Fix lvalue casts.

	* gtk/gtkwindow.h: Fix use of enum types for bitfields ...
	compilers may choose to use a signed type for bitfields.
2002-02-23 00:13:17 +00:00
Kristian Rietveld
c096137be5 leave threads before returning
Sat Feb 23 00:34:01 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (validate_rows_handler): leave threads before
        returning
2002-02-22 23:37:56 +00:00
Kristian Rietveld
45d646ebe9 add last_single_clicked and last_single_clicked_2 rowrefs and add
Fri Feb 22 22:39:59 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeprivate.h: add last_single_clicked and
        last_single_clicked_2 rowrefs and add disable_popdown to the
        bitfield

        * gtk/gtktreeview.c (gtk_tree_view_destroy): add destroy stuff
        for two new rowrefs
        (gtk_tree_view_button_press): add some 'advanced' button handling,
        so double click is being handled right (double click madness was
        discovered by Anders Carlsson)

        * gtk/gtktreeview.c (gtk_tree_view_set_property): add missing
        break
        (gtk_tree_view_class_init): default value of headers_visible
        should be TRUE (both pointed out by Damon Chaplin, #71986)

        * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
        connect to populate_popup,
        (gtk_tree_view_search_disable_popdown): new function,
        (gtk_tree_view_real_search_enable_popdown): ditto,
        (gtk_tree_view_search_enable_popdown): ditto,
        (gtk_tree_view_search_dialog_destroy): check for
        gtk-tree-view-popdown-disabled (#71868)

        * gtk/gtktreeview.c (gtk_tree_view_set_reorderable): move
        ->priv->reorderable assignment to bottom. (#72122)
2002-02-22 21:36:48 +00:00
Matthias Clasen
6b11e5cf51 s/columns/rows/ in docs. (#70199)
* gtk/gtktreeview.c (gtk_tree_view_set_reorderable):
	s/columns/rows/ in docs.  (#70199)

	* gtk/gtktreestore.c (gtk_tree_store_insert): s/before/after/ in
	docs. (#71852, #68405)

	* gtk/gtkcalendar.c (gtk_calendar_select_day): Correct a comment.

	* gtk/tmpl/gtksignal.sgml, gtk/tmpl/gtkimage.sgml: s/%d/%%d/ in
	examples.  (#71479)

	* gtk/tmpl/gtkmenu.sgml: Document gtk_menu_set_active as
	quasi-private.  (#69788)

	* gtk/tmpl/gtkcalendar.sgml: Document month as zero-based and
	selected_day as one-based.  (#57169)
2002-02-22 00:26:54 +00:00
Kristian Rietveld
4deb783e6b add keynav handling for unselect all, focus column header, change focus
Thu Feb 21 23:02:29 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.[ch]: add keynav handling for unselect all,
        focus column header, change focus with arrow keys in column headers,
        column reordering, column resizing, small try to fix page up/down
        (this fixes #70889, and fixes a great deal of #53580)
2002-02-21 22:15:14 +00:00
Kristian Rietveld
19f961d46a new function (gtk_tree_view_column_create_button): use g_signal_* instead
Tue Feb 19 22:10:59 2002  Kristian Rietveld  <kris@gtk.org>

        * gtktreeviewcolumn.c (gtk_tree_view_column_mnemonic_activate): new
        function
        (gtk_tree_view_column_create_button): use g_signal_* instead of
        gtk_signal_*, hook up _mnemonic_activate callback
        (gtk_tree_view_column_update_button): use
        gtk_label_set_text_width_mnemonic instead of gtk_label_set_text
        (#69095)

        * gtktreeview.c (gtk_tree_view_class_init): remove key bindings
        for C-f and C-b, let treeview search use C-f (instead of C-s)
        (#61886)

        * gtkrc.key.emacs: add some GtkTreeView bindings
2002-02-19 21:16:49 +00:00
Kristian Rietveld
601302c7a3 change gtk_tree_view_column_cell_render, gtk_tree_view_column_cell_focus,
Tue Feb 19 17:36:31 2002  Kristian Rietveld  <kris@gtk.org>

        * gtktreeprivate.h, gtktreeviewcolumn.[ch], gtktreeview.c: change
        gtk_tree_view_column_cell_render,
        gtk_tree_view_column_cell_focus,
        gtk_tree_view_column_cell_draw_focus and
        gtk_tree_view_column_cell_set_dirty to be private functions.

        * gtktreeviewcolumn.[ch]: add install_handler argument to
        _cell_set_dirty to control if _mark_rows_col_dirty (which calls
        install_presize_handler) gets called, set widths correctly so
        autosizing works (#71870)

        * gtktreeview.c (gtk_tree_view_column_autosize): new function,
        (gtk_tree_view_button_press): make double click on column
        separator resize the row (#71870)
        (gtk_tree_view_get_dest_row_at_pos): change DnD threshold to 33%
        (#71869, suggestion by Anders Carlsson)
2002-02-19 18:21:50 +00:00
Owen Taylor
b2b29ea184 gtk/gtkclist.c (adjust_adjustments) gtk/gtklayout.c
Mon Feb 18 14:17:59 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkclist.c (adjust_adjustments)
        * gtk/gtklayout.c (gtk_layout_size_allocate)
        * gtk/gtktextview.c (gtk_text_view_size_allocate)
        * gtk/gtktreeview.c (gtk_tree_view_size_allocate)
        * gtk/gtkviewport.c (gtk_viewport_size_allocate):
        Standardize on a page increment of page minus 1 line
        rather than half a page (#51027, Eric Fischer)

        * gtk/gtkviewport.c (gtk_viewport_size_allocate):
        Change step increment to be 0.1 * page_size height rather than
        a fixed 10 pixels.
2002-02-18 19:20:31 +00:00
Kristian Rietveld
554838e4f6 This commit lands the 'dy patch'.
Sun Feb 17 00:13:06 2002  Kristian Rietveld  <kris@gtk.org>

        This commit lands the 'dy patch'.

        * gtk/gtktreeview.c (validate_rows_handler): update top_row or dy,
        (gtk_tree_view_top_row_to_dy): new function,
        (gtk_tree_view_row_changed): update top_row or dy,
        (gtk_tree_view_rows_reordered): update top_row
2002-02-16 23:13:37 +00:00
Kristian Rietveld
d456e05b81 Implements DnD scrolling and fixes #71139
Mon Feb 11 21:42:17 2002  Kristian Rietveld  <kris@gtk.org>

        Implements DnD scrolling and fixes #71139

        * gtk/gtktreeview.c (gtk_tree_view_vertical_autoscroll): new function,
        (scroll_row_timeout): new function,
        (gtk_tree_view_drag_motion): create scroll_timeout, so
        scroll_row_timeout gets called
2002-02-11 20:46:49 +00:00
Kristian Rietveld
8d8fb0cd5f set upper member of hadjustment correct, so the hscrollbars of lists
Mon Feb 11 17:54:46 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): set upper
        member of hadjustment correct, so the hscrollbars of lists smaller
        than 1 page (in width) are somewhat saner
2002-02-11 16:58:23 +00:00
Kristian Rietveld
105781a0e3 install presize handler, so the validate_rows_handler will always be run
Mon Feb 11 16:40:44 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_set_model): install presize
        handler, so the validate_rows_handler will always be run (#70997)
2002-02-11 15:37:53 +00:00
Darin Adler
6c07eadbbe Remove a tiny bit more dead code.
* gtk/gtktreeview.c: (gtk_tree_view_map_expanded_rows_helper):
	Remove a tiny bit more dead code.
2002-02-09 00:12:30 +00:00
Darin Adler
9e5a9e13a9 Fix stale pointer bug.
* gtk/gtktreeview.c: (gtk_tree_view_map_expanded_rows_helper):
	Fix stale pointer bug.
2002-02-08 23:26:29 +00:00
Kristian Rietveld
67046197d4 Fixes #70782 and some drag dest rectangle/line issues
Thu Feb  7 19:39:27 2002  Kristian Rietveld  <kris@gtk.org>

        Fixes #70782 and some drag dest rectangle/line issues

        * gtk/gtktreeview.c (gtk_tree_view_set_model): set
        GTK_TREE_VIEW_IS_LIST flag (we can switch from a TreeStore to a
        ListStore for example)
        (gtk_tree_view_get_path_at_pos): revert previous change, we
        shouldn't correct for the header, because we are taking bin_window
        coordinates here
        (gtk_tree_view_set_drag_dest_row): queue old drag_dest row and
        upper/lower neighbors for draw, so the drag dest rectangle/line will
        be cleared correctly
        (gtk_tree_view_get_dest_row_at_pos): correct for treeview header
        here, as drag_y is relative to the widget and _get_path_at_pos wants
        coords relative to bin_window, draw black outline rectangle after
        drawing the cells
2002-02-07 18:43:59 +00:00
Kristian Rietveld
1c0e6dd0ad Fixes #70708
Wed Feb  6 23:28:39 2002  Kristian Rietveld  <kris@gtk.org>

        Fixes #70708

        * gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): we're dealing
        with widget coordinates here, so take the header height into
        account while converting
        (gtk_tree_view_widget_to_tree_coords): take header height into
        account
        (gtk_tree_view_tree_to_widget_coords): ditto
        (gtk_tree_view_get_dest_row_at_pos): we were passing coords
        relative to the tree with _get_path_at_pos, while that function
        wants coords relative to the widget
2002-02-06 22:37:04 +00:00
Kristian Rietveld
7bb3d17abe set upper member of vadjustment correct, so the vscrollbars of lists
Sat Feb  2 18:07:51 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): set upper member
        of vadjustment correct, so the vscrollbars of lists smaller than
        1 page are somewhat saner (#66905)

        * gtk/gtkliststore.c (gtk_list_store_remove_silently): do not
        increment the stamp, liststore is a model with persisting iters
2002-02-02 17:07:49 +00:00
Kristian Rietveld
4eb836706c use y coordinate relative to the tree and not the treeview window (fixes
Fri Feb  1 00:37:49 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): use
        y coordinate relative to the tree and not the treeview window
        (fixes the PgDn/PgUp brokenness)
2002-02-01 23:36:10 +00:00
Kristian Rietveld
87a0cbcffc adjust cell_area and background_area for possible treeview scroll (fixes
Fri Feb  1 23:40:31 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_button_press): adjust
        cell_area and background_area for possible treeview scroll
        (fixes #70283, #70065)
2002-02-01 22:41:39 +00:00
Kristian Rietveld
435235b8a4 (committed this again -- broken pipe and ChangeLog update)
Fri Feb  1 22:20:13 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_size_allocate): use
        height - page_size not height - allocation->height (fixes #66269)
2002-02-01 21:21:01 +00:00
Kristian Rietveld
593bc65f54 set tree to NULL if tree_view->priv->tree is NULL (#70152, patch by John
Fri Feb  1 20:50:29 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): set tree to
        NULL if tree_view->priv->tree is NULL (#70152, patch by John Harper).
2002-02-01 19:49:49 +00:00
Jonathan Blandford
78d39ef504 only emit the signal if an interesting column changes.
Wed Jan 30 18:46:14 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkliststore.c (gtk_list_store_set_valist): only emit the
	signal if an interesting column changes.

	* gtk/gtktreestore.c: ditto.

	* gtk/gtktreeview.c (gtk_tree_view_set_cursor): change behavior so
	that it no longer grabs
2002-01-30 23:51:04 +00:00
Owen Taylor
d3b83098ad Patch from Jacob Berkman to fix problem when the height/width of a layout
Tue Jan 29 17:16:17 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtklayout.c: Patch from Jacob Berkman to fix problem
        when the height/width of a layout was set before the
        adjustments were added. (#66294)

        * gtk/gtktreeview.c: Warning cleanups.
2002-01-29 22:27:17 +00:00
Kristian Rietveld
6284428f64 free cursor_path after usage
Tue Jan 29 18:50:46 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): free
        cursor_path after usage
        (gtk_tree_view_real_start_interactive_search): use new g_signal
        and g_object calls
        (gtk_tree_view_search_dialog_destroy): use g_object calls and free
        selected_iter if set
        (gtk_tree_view_search_position_func): rework so it will never ever
        appear offscreen (#68492)
        (gtk_tree_view_search_move): use new g_object calls
        (gtk_tree_view_search_init): free selected_iter if set, use new
        g_object calls
        (gtk_tree_view_leave_notify): don't destroy interactive search
        dialog

Tue Jan 29 23:07:03 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
        send focus in event
        (gtk_tree_view_search_dialog_destroy): send focus out event (#66466)
2002-01-29 22:08:12 +00:00
Jonathan Blandford
76237096a8 no longer g_assert.
Mon Jan 28 16:23:20 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): no longer
	g_assert.
2002-01-28 21:24:27 +00:00
Jon Trowbridge
ddff4ea49f When setting the GtkTreeView's model, set prelight_node, prelight_tree,
2002-01-28  Jon Trowbridge  <trow@gnu.org>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): When setting the
	GtkTreeView's model, set prelight_node, prelight_tree,
	button_pressed_node and button_pressed_tree to NULL. (#69603)
2002-01-28 20:28:52 +00:00
Bill Haneman
011cb31f18 Changes to gtktreeview to better support thicker focus lines,
and enhancements to the visibility of the default expander when
its size has been increased.
2002-01-28 20:19:42 +00:00
Jonathan Blandford
d8068f867c Only activate/edit the row if shift is not pressed, #69248
Mon Jan 28 14:44:40 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): Only
	activate/edit the row if shift is not pressed, #69248
2002-01-28 19:48:48 +00:00
Matthias Clasen
e2b730ac43 General property notification cleanup. 2002-01-28 18:52:49 +00:00
Jonathan Blandford
eb83e73898 Forgot to commit this last week. 2002-01-28 17:08:54 +00:00
Kristian Rietveld
ad219f2e3a Fix for bug #69586
Sun Jan 27 22:13:02  Kristian Rietveld  <kris@gtk.org>

        Fix for bug #69586

        * gtk/gtktreeprivate.h: get rid of tab_offset, introduce
        expander_size

        * gtk/gtktreeview.c: get rid of ->priv->tab_offset, introduce
        expander_size caching (from style), fix CELL_HEIGHT macro,
        use MAX ("RBNODE_HEIGHT", expander_size) (differs per case) for
        row height calculation, added style_set callback
2002-01-27 21:11:29 +00:00
Kristian Rietveld
2ccd6fd5d7 update docs, return current FALSE if x is smaller than the current visible
Thu Jan 24 23:03:24 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): update docs,
        return current FALSE if x is smaller than the current visible area,
        not than the requested area, don't correct y coordinate,
        TREE_WINDOW_Y_TO_RBTREE_Y will do that. Fixes #67477.
2002-01-24 22:07:35 +00:00
Jonathan Blandford
902c6a48d5 fix column reordering fully. (gtk_tree_view_size_allocate): fix evil bug.
Thu Jan 24 15:41:08 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c
	 (gtk_tree_view_motion_draw_column_motion_arrow): fix column
	 reordering fully.
	 (gtk_tree_view_size_allocate): fix evil bug.
2002-01-24 20:42:48 +00:00
Owen Taylor
bc5dfe106d Don't clear the model until we clean up all the other objects that might
Thu Jan 24 11:53:19 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_destroy): Don't clear
	the model until we clean up all the other objects
	that might refer to the object.
2002-01-24 16:54:54 +00:00
Jonathan Blandford
864cc237d4 Oops. Minor fix 2002-01-23 03:53:36 +00:00
Jonathan Blandford
60afa9e14e Fix sizing bug I introduced accidentally, #69358
Tue Jan 22 16:58:37 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Fix sizing bug
	I introduced accidentally, #69358
2002-01-22 22:13:30 +00:00
Jonathan Blandford
969279b54e Update top_row. Remove extraneous print statements.
Mon Jan 21 18:28:17 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_adjustment_changed): Update
	top_row.  Remove extraneous print statements.
2002-01-21 23:30:17 +00:00
Jonathan Blandford
19c5e80ce7 only resize the window.
Fri Jan 18 16:31:21 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): only resize the
	window.
2002-01-21 17:38:28 +00:00
Jonathan Blandford
6bc31ea4d9 For some reason, I was activating a row while just selecting it. Reported
Thu Jan 17 16:34:55 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row): For
	some reason, I was activating a row while just selecting it.
	Reported by andersca.
	(gtk_tree_view_size_request): add a
	validate_rows_handler to give us a rough width of the widget.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_update_button):
	Queue a resize here just in case.  It's needed in over half the
	cases, and I don't want to do a diff to figure out exactly when
	it's needed.
2002-01-18 00:23:26 +00:00
Jonathan Blandford
cb939843ba allow cancel to happen.
Mon Jan 14 17:42:28 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_stop_editing): allow cancel to
	happen.

	* gtk/gtktreeview.c (install_presize_handler): only install the
	handler if we're realized, #68056
2002-01-14 22:00:26 +00:00
Kristian Rietveld
aeceb39d47 revert Owen's change (using a strdupped string as object data), so the
Sat Jan 12 16:57:31 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_real_start_interactive_search):
        revert Owen's change (using a strdupped string as object data), so
        the interactive search works again
2002-01-12 15:58:56 +00:00
Tim Janik
adb892f2c9 don't cast a possible NULL pointer.
Wed Jan  9 11:23:39 2002  Tim Janik  <timj@gtk.org>

        * gtk/gtklayout.c (gtk_layout_get_property):
        * gtk/gtkspinbutton.c (gtk_spin_button_get_property):
        * gtk/gtktreeview.c (gtk_tree_view_get_property):
        * gtk/gtkwidget.c (gtk_widget_get_property):
        * gtk/gtkfontsel.c (gtk_font_selection_get_property):
        * gtk/gtkrange.c (gtk_range_get_property):
        * gtk/gtkviewport.c (gtk_viewport_get_property):
        * gtk/gtkprogressbar.c (gtk_progress_bar_get_property): don't cast a
        possible NULL pointer.
2002-01-09 10:28:02 +00:00
Anders Carlsson
88edb0e58e Rename gtk_tree_view_queue_draw_node to _gtk_tree_view_queue_draw_node.
2002-01-03  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtktreeview.c: Rename gtk_tree_view_queue_draw_node to
	_gtk_tree_view_queue_draw_node.
	(gtk_tree_view_row_has_child_toggled): Only redraw one node.

	* gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func):
	sort_column_id can be 0.

	* gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
	Only redraw one the node being selected.

	* gtk/gtktreeprivate.h: Add _gtk_tree_view_queue_draw_node.
2002-01-02 23:51:03 +00:00
Kristian Rietveld
51ba172920 ensure we are unprelighted before reordering
Wed Dec 26 23:41:41 2001  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_rows_reordered): ensure
        we are unprelighted before reordering

        * gtk/gtktreemodel.c (gtk_tree_row_ref_reordered_callback): we
        need to break out of the for loop, not return

        * gtk/gtktreemodelsort.c: more fixage and cleanups. It seems to
        be pretty stable now, though it still needs some more code
        cleanups.
2001-12-26 22:43:53 +00:00
Anders Carlsson
ecfd1affa6 Don't call map here.
2001-12-20  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtktreeview.c (gtk_tree_view_realize): Don't call
	map here.
2001-12-20 04:06:01 +00:00
Padraig O'Briain
b2925eba12 Fix typo (list->data becomes list->next)
* gtk/gtktreeview.c (gtk_tree_view_get_expander_column):
Fix typo (list->data becomes list->next)
2001-12-18 08:06:34 +00:00
Kristian Rietveld
d3403353cb free path at the end
Thu Dec 13 22:02:41 2001  Kristian Rietveld   <kris@gtk.org>

        * gtk/gtktreeview.c (validate_visible_area): free path
        at the end
2001-12-13 21:01:46 +00:00
Kristian Rietveld
fe655f3919 do not try to find the clicked node in the tree when tree == NULL
Thu Dec 13 20:37:27 2001  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreeview.c (gtk_tree_view_button_press): do not try
        to find the clicked node in the tree when tree == NULL
2001-12-13 19:36:40 +00:00
Anders Carlsson
5a3de51ba1 Compare event->state with the default mod mask.
2001-12-13  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtktreeview.c (gtk_tree_view_button_press): Compare
	event->state with the default mod mask.
2001-12-13 17:25:22 +00:00
Jonathan Blandford
f3f62347b3 Remove validate_rows_timer in unrealize. Reported by Matthew Wilson.
Wed Dec 12 16:43:10 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_unrealize): Remove
	validate_rows_timer in unrealize.  Reported by Matthew Wilson.
2001-12-12 22:15:27 +00:00
Jonathan Blandford
97f4886426 Change bin_window to be located at y=TREE_VIEW_HEADER_HEIGHT(tree_view).
Tue Dec 11 15:25:06 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): Change
	bin_window to be located at y=TREE_VIEW_HEADER_HEIGHT(tree_view).
	Makes some flicker while scrolling go away.
2001-12-11 20:28:21 +00:00
Jonathan Blandford
2b6c3b4dcb stupid bug where I didn't reset the timer.
Mon Dec 10 19:42:29 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (validate_rows_handler): stupid bug where I
	didn't reset the timer.
2001-12-11 00:45:25 +00:00
Anders Carlsson
ba464807f6 Return if edited_column is NULL, also grab focus before removing the
2001-12-10  Anders Carlsson  <andersca@gnu.org>

	* gtk/gtktreeview.c (gtk_tree_view_remove_widget): Return
	if edited_column is NULL, also grab focus before removing
	the cell_editable.
2001-12-10 03:43:10 +00:00
Jonathan Blandford
9bec4e275a remove g_return_if_fail.
Fri Dec  7 23:42:50 2001  Jonathan Blandford  <jrb@webwynk.net>

	* gtk/gtktreeview.c (validate_rows_handler): remove
	g_return_if_fail.

	* gtk/gtktreeview.c (validate_visible_area): Patch from Manish
	Singh <yosh@gimp.org> to fix bug when rendering Tree with an
	empty model.
2001-12-08 04:53:10 +00:00
Jonathan Blandford
82c5ace889 get logic right, #66249
Fri Dec  7 20:06:14 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (validate_visible_area): get logic right,
	#66249

	* gtk/gtkrbtree.c (_gtk_rbtree_remove_node): fix bug where
	removing a node ended up with a corrupt tree.  Really really nasty
	bug.
	(_gtk_rbtree_debug_spew): new debug helper function
	(_fixup_validation): new inline function to clean up code
	readability a lot.
2001-12-08 01:10:52 +00:00
Jonathan Blandford
d1a858c837 Minor fix.
Tue Dec  4 18:38:35 2001  Jonathan Blandford  <jrb@redhat.com>

	* demos/gtk-demo/main.c: (create_tree): Minor fix.

	* docs/tree-column-sizing.txt: Update

	* gtk/gtkrbtree.[ch]: Massive work to support validation.

	* gtk/gtktreemodel.c: Doc fixes.

	* gtk/gtktreeview.c: Incremental reflow added.
	* gtk/gtktreeviewcolumn.c: ditto
	* gtk/gtktreeviewcolumn.h: ditto
2001-12-04 23:49:57 +00:00
Owen Taylor
7537825b34 Patch from Bill Haneman (with many modifications) to make the focus color
Mon Dec  3 16:39:17 2001  Owen Taylor  <otaylor@redhat.com>

	Patch from Bill Haneman (with many modifications) to make
	the focus color work on dark themes and to make the
	focus line width configurable. (#61079, #63074)

        * gtk/gtkwidget.c: Add style properties,
	::focus-widget, ::focus-line-width, and ::focus-padding.

	* gtk/gtkstyle.[ch]: Make gtk_paint_focus() take a
	state argument as well so we can use fg[STATE] to
	draw instead of always drawing with black.
	Cange paint_focus() to respect GtkWidget::focus-width
	and GtkWidget::focus-line-pattern. Fix continuity
	problem where the default 1-1 stipple had a blob
	in one corner and a gap in the other. Change the
	interpretation of x/y/width/height to be the bounding
	box of the focus rect instead of the rectangle
	passed to gdk_draw_rectangle.

	* gtk/gtkcheckbutton.c gtk/gtklistitem.c gtk/gtknotebook.c
	gtk/gtkoptionmenu.c gtk/gtkradiobutton.c gtk/gtkspinbutton.c
	gtk/gtktextview.c gtk/gtktreeview.c: Handle ::focus-width
	and ::focus-line-padding.

	* gtk/gtkentry.c: Handle :;focus-width property; cleanup
	and remove duplicated code; fix drawing of focus rectangle
	when interior-focus = FALSE. (#63072, #63073)

	* gtk/gtkrange.c gtk/gtktext.c gtk/gtktreeitem.c
	gtk/gtktreeviewcolumn.c: Basic fixups to make compile;
	Range and TreeViewColumn will need more extensive fixing.

	* gtk/gtkcolorsel.c: Honor focus line attributes when
	drawing the focus on the color swatches. (#63071)

	* gtk/gtkhsv.c: Honor focus line attributes when
	drawing the focus for the ring and triangle.

	* docs/widget_geometry.txt: Start at documenting how
	various widgets are drawn.

	* gtk/gtkbutton.c (_gtk_button_paint): Export
	_gtk_button_paint() librarywide, so we don't have
	duplicate a bunch of code in gtktogglebutton.c.

	* gtk/gtktogglebutton.c: Use _gtk_button_paint().
2001-12-04 03:27:30 +00:00
Alex Larsson
c7cd3421f7 Return FALSE from expose handlers.
2001-12-03  Alex Larsson  <alexl@redhat.com>

	* gtk/gtkaccellabel.c:
	* gtk/gtkarrow.c:
	* gtk/gtkcolorsel.c:
	* gtk/gtkcontainer.c:
	* gtk/gtklabel.c:
	* gtk/gtktextview.c:
	* gtk/gtktogglebutton.c:
	* gtk/gtktreeview.c:
	* gtk/gtkwindow.c:
	Return FALSE from expose handlers.
2001-12-03 22:11:40 +00:00
Kristian Rietveld
5a2ebedc20 if we use pointers, we should free the previous pointer first (if it
Mon Dec  3 21:15:59 2001  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreedatalist.c (_gtk_tree_data_list_value_to_node): if
        we use pointers, we should free the previous pointer first (if
        it exists), before we set a new pointer. (#64726)

        * gtk/gtktreeprivate.h: get rid of cursor_drag

        * gtk/gtktreeview.c (gtk_tree_view_unrealize): remove check
        for cursor_drag
        (gtk_tree_view_bin_expose): don't directly return in the while
        loop
        (gtk_tree_view_class_init): indentend expanders by default
        (gtk_tree_view_header_focus): only give the button focus
        if it's clickable, visible and the column is reorderable
        (#65539)

        * gtk/gtktreeviewcolumn.c (_gtk_tree_view_column_realize_button):
        create and free cursor
2001-12-03 21:20:12 +00:00
Jonathan Blandford
94a097ef5d Add a "resizable" property, to get rid of the
Mon Nov 19 15:30:51 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add a
	"resizable" property, to get rid of the
	GTK_TREE_VIEW_COLUMN_RESIZABLE sizing flag.
	(gtk_tree_view_column_set_resizable): New function to set resizable.
	(gtk_tree_view_column_set_resizable): getter.

	* tests/testtreecolumns.c (add_clicked): modify for above change.

	* Makefile.am (install-data-hook): remove old .pc files before
	installing the new one.  We used to symlink this, and it will
	break old installs.
2001-11-19 21:18:22 +00:00
Owen Taylor
a036c6e59f Make gtkmarshal.list/gtkmarshal.h only for compatibility with GTK+-1.2;
Sat Nov 17 18:26:45 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am gtk/gtkmarshal.list gtk/gtkmarshalers.list
	gtk/*.c gtk/gtksignal.h: Make gtkmarshal.list/gtkmarshal.h
	only for compatibility with GTK+-1.2; and deprecate it;
	put all marshalers we actually use into gtkmarshalers.list
	and use the _gtk_marshal_ prefix for these marshalers.
2001-11-17 23:28:51 +00:00
Jonathan Blandford
2fdf30186c New function to get a GdkWindow to compare event->window to.
Thu Nov 15 16:24:55 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_get_bin_window): New function
	to get a GdkWindow to compare event->window to.

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_left_right): emit
	the signal for lateral motion too, #64361

	* gtk/gtktreeview.c (gtk_tree_view_get_path_at_pos): remove window
	arg as it is useless, #64137
2001-11-15 22:20:18 +00:00
Owen Taylor
b27345fe2c Cal gdk_window_invalidate_maybe_recurse() for recursion. (Soeren Sandmann)
Thu Nov 15 14:19:34 2001  Owen Taylor  <otaylor@redhat.com>

 	* gdk/gdkwindow.c (gdk_window_invalidate_maybe_recurse): Cal
 	gdk_window_invalidate_maybe_recurse() for recursion.
 	(Soeren Sandmann)

 	* gtk/gtkviewport.c: Make !redraw_on_allocate. (Soeren Sandmann)

	* gtk/gtkcontainer.c (gtk_container_expose): Call
	gtk_container_forall() not _foreach() to propagate,
	since we need to propagate exposes to internal children
	as well.

	* gtk/gtkwidget.c (gtk_widget_set_events, gtk_widget_add_events):
	Remove the restriction of only being able to call these
	on window widgets, since we have lots of NO_WINDOW widgets
	with windows now; for add events, recurse over the children
	of widget->window to find one owned by the widget.

	* gtk/gtkbutton.[ch]: Make a NO_WINDOW widget, using an input-only
	window to catch events.

	* gtk/gtktogglebutton.[ch]: Remove the code for switching
	between NO_WINDOW and WINDOW widgets based on the mode.

	* gtk/gtkcheckbutton.c gtk/gtkoptionmenu.c gtk/gtkclist.c
	gtk/gtktreeview.c: Adopt to NO_WINDOW change for GtkButton.

	* gtk/gtkrange.[ch]: Make into a NO_WINDOW widget.

	* gtk/gtkhscale.c, gtk/gtkvscale.c: Adopt to NO_WINDOW
	change for range.

	* gtk/gtknotebook.[ch]: Make into a NO_WINDOW widget.

	* docs/Changes-2.0.txt: Add a note about the NO_WINDOW changes.
2001-11-15 21:04:51 +00:00