Commit Graph

698 Commits

Author SHA1 Message Date
Christian Persch
7bc5628bbf Make gtk_tree_view_enable_model_drag_[source|dest] compatible with
* gtk/gtktreeview.c: (destroy_info), (set_destination_row),
	(gtk_tree_view_maybe_begin_dragging_row),
	(gtk_tree_view_set_reorderable),
	(gtk_tree_view_enable_model_drag_source),
	(gtk_tree_view_enable_model_drag_dest),
	(gtk_tree_view_unset_rows_drag_source),
	(gtk_tree_view_unset_rows_drag_dest): Make
	gtk_tree_view_enable_model_drag_[source|dest] compatible with
	gtk_drag_[source|dest]_add_*_targets. Bug #506853.

svn path=/trunk/; revision=20349
2008-06-10 12:33:22 +00:00
Christian Persch
65c22a11ed Use GSlice. Patch from bug #506853.
* gtk/gtktreeview.c: (gtk_tree_view_button_release_drag_column),
	(dest_row_free), (set_dest_row), (ensure_info),
	(gtk_tree_view_remove), (gtk_tree_view_put),
	(gtk_tree_view_set_column_drag_info): Use GSlice. Patch from
	bug #506853.

svn path=/trunk/; revision=20348
2008-06-10 12:28:57 +00:00
Kristian Rietveld
cd4a1fc680 Bug 536730 - memory corruption in gtktreeview
2008-06-08  Kristian Rietveld  <kris@gtk.org>

	Bug 536730 - memory corruption in gtktreeview

	* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): first
	remove the expand/collapse timeout and node, then free the rbtree.


svn path=/trunk/; revision=20334
2008-06-08 12:53:19 +00:00
Kristian Rietveld
898fe0c82f Bug 488119 - critical warnings from gtk_tree_view_get_visible_range
2008-06-08  Kristian Rietveld  <kris@gtk.org>

	Bug 488119 - critical warnings from gtk_tree_view_get_visible_range

	* gtk/gtktreeview.c (gtk_tree_view_get_visible_range): only try to
	find path if we found valid nodes, return FALSE otherwise.  (Patch
	from Matthias Clasen).


svn path=/trunk/; revision=20333
2008-06-08 12:47:15 +00:00
Kristian Rietveld
f1405056f2 Bug 530146 - Setting non-string tooltip with
2008-05-31  Kristian Rietveld  <kris@imendio.com>

	Bug 530146 - Setting non-string tooltip with
	gtk_tree_view_set_tooltip_column() segfaults

	* gtk/gtktreeview.c (gtk_tree_view_set_tooltip_query_cb): use
	gtk_tree_model_get_value() and explicitly transform the value to a
	string before setting it as tooltip.


svn path=/trunk/; revision=20261
2008-05-30 22:59:13 +00:00
Kristian Rietveld
e7df0579c2 Bug 449625 - crash in gtk_tree_view_real_move_cursor at gtktreeview.c:9641
2008-05-28  Kristian Rietveld  <kris@imendio.com>

	Bug 449625 - crash in gtk_tree_view_real_move_cursor at
	gtktreeview.c:9641

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down):
	cursor_offset *must* be larger than background height of the cursor
	node, not just equal otherwise there is no guarantee there is a next
	node.


svn path=/trunk/; revision=20219
2008-05-28 14:47:50 +00:00
Kristian Rietveld
45f0ad8cf5 Bug 498010 - gtk_tree_view_set_cursor fails if model!=NULL.
2008-05-28  Kristian Rietveld  <kris@imendio.com>

	Bug 498010 - gtk_tree_view_set_cursor fails if model!=NULL.

	* gtk/gtktreeview.c (gtk_tree_view_set_cursor_on_cell): return if fail
	->priv->tree != NULL.  Suggestion from Stefan Kost.


svn path=/trunk/; revision=20208
2008-05-28 12:20:38 +00:00
Kristian Rietveld
1fa5cda0a9 Refactor expand/collapse timeout handling (amendment to bug 511217).
2008-05-28  Kristian Rietveld  <kris@imendio.com>

	Refactor expand/collapse timeout handling (amendment to bug 511217).

	* gtk/gtktreeview.c (add_expand_collapse_timeout),
	(remove_expand_collapse_timeout): new functions, the remove function
	also clears expanded_collapsed_node,
	(cancel_arrow_animation): moved to be next to the add/remove timeout
	functions,
	(gtk_tree_view_unrealize),
	(gtk_tree_view_row_deleted),
	(gtk_tree_view_set_model),
	(cancel_arrow_animation),
	(gtk_tree_view_real_expand_row),
	(gtk_tree_view_real_collapse_row): use the new add/remove functions.


svn path=/trunk/; revision=20205
2008-05-28 09:26:13 +00:00
Matthias Clasen
6c993cf8d2 Bug 511217 - potential memory corruption after refreshing a tree_view
* gtk/gtktreeview.c (cancel_arrow_animation): Reset
        expanded_collapsed_node when canceling the animation.
        Patch by Nicholas Setton.


svn path=/trunk/; revision=20201
2008-05-28 00:33:49 +00:00
Matthias Clasen
2855f81636 Fixes
svn path=/trunk/; revision=20197
2008-05-27 23:02:02 +00:00
Matthias Clasen
fa4fb90ee6 Bug 523930 – sort -> search in gtktreeview.c
* gtk/gtktreeview.c (gtk_tree_view_set_search_column): Fix a doc
        glitch, pointed out by Björn Lindqvist.


svn path=/trunk/; revision=20159
2008-05-25 20:41:55 +00:00
Matthias Clasen
a364f9d31c Set window type hint on the search popup. (#522279, Danny Baumann)
2008-03-15  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktreeview.c (gtk_tree_view_ensure_interactive_directory):
        Set window type hint on the search popup.  (#522279, Danny Baumann)



svn path=/trunk/; revision=19880
2008-03-15 04:51:48 +00:00
Michael Natterer
45debfb0ef gtk/gtkmenushell.c gtk/gtktable.c gtk/gtktext.c gtk/gtktipsquery.c
2008-02-27  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkmenushell.c
	* gtk/gtktable.c
	* gtk/gtktext.c
	* gtk/gtktipsquery.c
	* gtk/gtktoolbar.c
	* gtk/gtktreeitem.c
	* gtk/gtktreeview.c
	* gtk/gtkviewport.c
	* gtk/gtkwin32embedwidget.c: remove g_return_if_fail() from
	private functions and virtual function implementations.


svn path=/trunk/; revision=19668
2008-02-27 11:30:10 +00:00
Kristian Rietveld
ddf4aa8b3e only queue a redraw if the rubber banding has actually been active.
2008-02-13  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_stop_rubber_band): only
	queue a redraw if the rubber banding has actually been active.


svn path=/trunk/; revision=19556
2008-02-13 11:53:35 +00:00
Kristian Rietveld
49f20887af guard against people deleting the row in question in the selection-changed
2008-02-12  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_real_select_cursor_row),
	(gtk_tree_view_real_toggle_cursor_row): guard against people
	deleting the row in question in the selection-changed callback.
	(#514621, Andreas Koehler).


svn path=/trunk/; revision=19530
2008-02-12 15:58:25 +00:00
Matthias Clasen
0509519d35 Unify the handling of various "Enter" keysyms all over the place.
2008-02-12  Matthias Clasen  <mclasen@redhat.com>

        * gtk/*.c: Unify the handling of various "Enter" keysyms
        all over the place.  (#515047, Christian Persch)



svn path=/trunk/; revision=19528
2008-02-12 15:51:09 +00:00
Michael Natterer
a362eecc4a gtk/gtkbutton.h gtk/gtkcellrenderer.h gtk/gtkimcontext.h gtk/gtkstyle.h
2008-01-25  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkbutton.h
	* gtk/gtkcellrenderer.h
	* gtk/gtkimcontext.h
	* gtk/gtkstyle.h
	* gtk/gtktoolbar.h
	* gtk/gtktooltip.h
	* gtk/gtktreeprivate.h
	* gtk/gtktreeviewcolumn.h
	* gtk/gtkwidget.h: add const to constant structs which are passed
	into GTK+. Also add some forgotten const for const strings.

	* gtk/gtkbutton.c
	* gtk/gtkcellrenderer.c
	* gtk/gtkimcontext.c
	* gtk/gtkstyle.c
	* gtk/gtktoolbar.c
	* gtk/gtktooltip.c
	* gtk/gtktreeview.c
	* gtk/gtktreeviewcolumn.c
	* gtk/gtkwidget.c: changed accordingly.


svn path=/trunk/; revision=19399
2008-01-25 09:30:40 +00:00
Kristian Rietveld
c7d28a02f5 fully initialize GdkWindowAttr to avoid valgrind warnings. (#507751, patch
2008-01-10  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_motion_draw_column_motion_arrow),
	(_gtk_tree_view_column_start_drag): fully initialize GdkWindowAttr to
	avoid valgrind warnings.  (#507751, patch from Christian Persch).


svn path=/trunk/; revision=19333
2008-01-10 10:13:28 +00:00
Kristian Rietveld
244380529a Fix #477175, reported by Juri Pakaste.
2008-01-10  Kristian Rietveld  <kris@imendio.com>

	Fix #477175, reported by Juri Pakaste.

	* gtk/gtktreeprivate.h:
	* gtk/gtktreeview.c (gtk_tree_view_top_row_to_dy): do not set
	tree_view->priv->dy here directly, just calculate the new value
	and set it on the adjustment,
	(gtk_tree_view_adjustment_changed): add guards to not call
	gtk_tree_view_dy_to_top_row() if we are currently in
	gtk_tree_view_top_row_to_dy(),
	(gtk_tree_view_put): fix coordinate annotation: these are bin_window
	coordinates, not tree coordinates,
	(gtk_tree_view_real_start_editing): add cast.

	* gtk/tests/treeview-scrolling.c: add an assertion for checking the
	position of the editable in the "create new row and start editing"
	tests.


svn path=/trunk/; revision=19331
2008-01-10 09:24:11 +00:00
Johan Dahlin
71e9be7e6d Use G_OBJECT_WARN_INVALID_PROPERTY_ID consistently. Fixes #5075
2008-01-06  Johan Dahlin  <johan@gnome.org>

	* gtk/gtkcellrenderercombo.c:
	(gtk_cell_renderer_combo_get_property),
	(gtk_cell_renderer_combo_set_property):
	* gtk/gtkcombobox.c: (gtk_combo_box_set_property):
	* gtk/gtkcomboboxentry.c: (gtk_combo_box_entry_set_property):
	* gtk/gtknotebook.c: (gtk_notebook_set_property):
	* gtk/gtkspinbutton.c: (gtk_spin_button_set_property):
	* gtk/gtktextbuffer.c: (gtk_text_buffer_set_property),
	(gtk_text_buffer_get_property):
	* gtk/gtktextview.c: (gtk_text_view_set_property):
	* gtk/gtktogglebutton.c: (gtk_toggle_button_set_property):
	* gtk/gtktoolbutton.c: (gtk_tool_button_set_property),
	(gtk_tool_button_get_property):
	* gtk/gtktoolitem.c: (gtk_tool_item_set_property),
	(gtk_tool_item_get_property):
	* gtk/gtktreeview.c: (gtk_tree_view_set_property):
	* gtk/gtkwidget.c: (gtk_widget_set_property):
	* gtk/gtkwindow.c: (gtk_window_set_property):
	Use G_OBJECT_WARN_INVALID_PROPERTY_ID consistently.
	Fixes #5075

svn path=/trunk/; revision=19311
2008-01-06 03:28:40 +00:00
Matthias Clasen
6bfb299f30 More default property value fixes
svn path=/trunk/; revision=19280
2007-12-28 19:20:26 +00:00
Xan Lopez
dcbaaf2a69 pass correct argument to g_signal_emit for TEST_EXPAND_ROW (GtkTreeIter*
2007-12-23  Xan Lopez  <xan@gnome.org>

	* gtk/gtktreeview.c (gtk_tree_view_build_tree): pass correct argument
	to g_signal_emit for TEST_EXPAND_ROW (GtkTreeIter* vs. GtkTreeIter**).

	Patch by Sadrul Habib Chowdhury (#504804)

svn path=/trunk/; revision=19225
2007-12-23 01:27:06 +00:00
Matthias Clasen
1719428849 Fix a typo
svn path=/trunk/; revision=19039
2007-11-25 06:07:44 +00:00
Kristian Rietveld
18b264b5e0 make sure the new cursor node is visible when we are done. (Fixes #472965,
2007-10-09  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): make
	sure the new cursor node is visible when we are done. (Fixes #472965,
	Carlos Garnacho).


svn path=/trunk/; revision=18899
2007-10-09 19:40:14 +00:00
Kristian Rietveld
449db79467 we should only "don't move the cursor, but just select the current node"
2007-10-09  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): we should
	only "don't move the cursor, but just select the current node" if the
	cursor node is actually selectable.  (Fixes #483730, reported by
	Geoff Bache).


svn path=/trunk/; revision=18898
2007-10-09 17:08:18 +00:00
Kristian Rietveld
ecefbe8403 the tooltip-column property getter needs to set an integer, not a boolean.
2007-09-14  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_get_property): the tooltip-column
	property getter needs to set an integer, not a boolean. (#476689,
	spotted and patch by Christian Persch).


svn path=/trunk/; revision=18818
2007-09-13 22:39:47 +00:00
Kristian Rietveld
bd24768db6 if cell is set, always pass in path to gtk_tree_view_get_cell_area()
2007-09-13  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_set_toooltip_cell): if cell
	is set, always pass in path to gtk_tree_view_get_cell_area() whether
	it is NULL or set.  Added explanatory comment and added this
	side case to the API documentation.


svn path=/trunk/; revision=18812
2007-09-13 14:15:40 +00:00
Kristian Rietveld
a6755f707b only start typeahead search if tree_view has focus (and not one of the
2007-09-10  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_key_press): only start
	typeahead search if tree_view has focus (and not one of the column
	buttons).


svn path=/trunk/; revision=18779
2007-09-10 09:24:38 +00:00
Kristian Rietveld
cc7e7db612 Reverted r16699:
2007-09-09  Kristian Rietveld  <kris@gtk.org>

	Reverted r16699:

	2006-10-30  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): change left/right
	keybindings to collapse/expand rows instead of moving the focus
	cursor. (#105895, Brian Bober and others).


svn path=/trunk/; revision=18768
2007-09-09 15:17:43 +00:00
Kristian Rietveld
31fc4289c7 Do not allow the cursor to go to a separator row. Fixes #441219, modified
2007-08-22  Kristian Rietveld  <kris@imendio.com>

	Do not allow the cursor to go to a separator row.  Fixes #441219,
	modified patch by Carlos Garnacho.

	* gtk/gtktreeview.c (row_is_separator): new inline function
	for calling the row-separator-func, made all of gtktreeview.c use
	this function instead of calling the func themselves,
	(gtk_tree_view_button_press): treat a click on a separator like
	a click on empty space,
	(gtk_tree_view_update_rubber_band_selection_rage): skip
	non-selectable rows,
	(search_first_focusable_path),
	(gtk_tree_view_focus_to_cursor),
	(gtk_tree_view_move_cursor_up_down),
	(gtk_tree_view_move_cursor_page_up_down),
	(gtk_tree_view_move_cursor_start_end): skip separators,
	(gtk_tree_view_real_set_cursor): do not allow setting the cursor
	on a separator.


svn path=/trunk/; revision=18672
2007-08-22 14:26:32 +00:00
Kristian Rietveld
bd7b15f347 make sure we fail keynav if the only item in the list is already selected.
2007-08-14  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): make
	sure we fail keynav if the only item in the list is already selected.
	(Fixes #465039, reported by Fernando Herrera).


svn path=/trunk/; revision=18610
2007-08-14 08:11:26 +00:00
Kristian Rietveld
bed2f0e38c Fix documentation. (#461225, Murray Cumming).
2007-07-30  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_set_tooltip_cell): Fix
	documentation. (#461225, Murray Cumming).


svn path=/trunk/; revision=18557
2007-07-30 10:57:25 +00:00
Matthias Clasen
dfe7852586 Fix some doc formatting errors
svn path=/trunk/; revision=18530
2007-07-23 18:33:35 +00:00
Matthias Clasen
a8442c5d01 Small fixes
svn path=/trunk/; revision=18503
2007-07-19 15:06:52 +00:00
Kristian Rietveld
9719e5fb3c handle no-window and regular widgets seperately.
2007-07-19  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktooltip.c (find_topmost_widget_coords_from_event): handle
	no-window and regular widgets seperately.

	* gtk/gtktreeview.c (gkt_tree_view_set_tooltip_cell): rect.x should
	be zero.


svn path=/trunk/; revision=18502
2007-07-19 15:03:18 +00:00
Matthias Clasen
38037481c2 markup fixes
svn path=/trunk/; revision=18500
2007-07-19 14:05:49 +00:00
Matthias Clasen
11548f29b1 markup fix
svn path=/trunk/; revision=18499
2007-07-19 13:57:16 +00:00
Matthias Clasen
cf5093a587 typo fix
svn path=/trunk/; revision=18498
2007-07-19 13:55:59 +00:00
Kristian Rietveld
b1ec5f7556 add more convenience API.
2007-07-19  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtk.symbols:
	* gtk/gtktreeprivate.h:
	* gtk/gtktreeview.[ch] (gtk_tree_view_get_tooltip_context),
	(gtk_tree_view_[sg]et_tooltip_column): add more convenience API.

	* tests/testtooltip.c (query_tooltip_tree_view_cb): use
	gtk_tree_view_get_tooltip_context().

	* demos/gtk-demo/demo.ui: add a tooltip column to the list store,
	set tooltip-column on the tree view.


svn path=/trunk/; revision=18496
2007-07-19 13:21:09 +00:00
Matthias Clasen
07420f8d75 Correct some mistakes in the documentation of the test-expand/collapse-row
2007-07-18  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktreeview.c: Correct some mistakes in the
        documentation of the test-expand/collapse-row signals.
        (#457774, Olivier Andrieu)


svn path=/trunk/; revision=18489
2007-07-18 08:56:42 +00:00
Kristian Rietveld
da989212f3 #408327, improve tooltip positioning.
2007-07-13  Kristian Rietveld  <kris@imendio.com>

	#408327, improve tooltip positioning.

	* gtk/gtk.symbols: updated.

	* gtk/gtktooltip.[ch] (gtk_tooltip_position): factor out
	positioning code in here,
	(gtk_tooltip_set_tip_area): new function to set the tooltip
	area,
	(gtk_tooltip_reset), (_gtk_tooltip_handle_event): hide tooltip
	once the pointer leaves the tip area.

	* gtk/gtktreeview.[ch] (gtk_tree_view_set_tooltip_row),
	(gtk_tree_view_set_tooltip_cell): convenience functions to set
	tip area for row/column/cell.

	* tests/testtooltips.c (query_tooltip_tree_view_cb): use
	gtk_tree_view_set_tooltip_row.


svn path=/trunk/; revision=18464
2007-07-13 14:25:21 +00:00
Matthias Clasen
8fb1dc2411 Make parameter naming consistent.
2007-07-11  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktreeview.c:
        * gtk/gtktoolitem.[hc]: Make parameter naming consistent.



svn path=/trunk/; revision=18452
2007-07-12 01:13:42 +00:00
Kristian Rietveld
23b358d7b5 x should be changed when converting widget <=> bin_window coordinates, not
2007-07-11  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_*_to_*_coords): x should be
	changed when converting widget <=> bin_window coordinates, not
	when bin_window <=> tree_window.


svn path=/trunk/; revision=18446
2007-07-11 18:42:28 +00:00
Matthias Clasen
3461e2340a Fix a typo in the docs. (#453673, Guillaume Cottenceau)
2007-07-09  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktreeview.c
        (gtk_tree_view_convert_bin_window_to_widget_coords:
        Fix a typo in the docs.  (#453673, Guillaume Cottenceau)



svn path=/trunk/; revision=18417
2007-07-09 19:20:12 +00:00
Kristian Rietveld
80f3a03319 new function to check whether a rubber banding operation is currently
2007-07-02  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtk.symbols:
	* gtk/gtktreeview.[ch] (gtk_tree_view_is_rubber_banding_active): new
	function to check whether a rubber banding operation is currently
	active.  (#393579, Christian Neumair).


svn path=/trunk/; revision=18344
2007-07-02 17:33:25 +00:00
Johan Dahlin
60a409785f Rename buildable methods to not clash with widget methods. (#448928,
2007-06-19  Johan Dahlin  <jdahlin@async.com.br>

    * gtk/*: Rename buildable methods to not clash with widget 
    methods. (#448928, Torsten Schoenfeld)


svn path=/trunk/; revision=18187
2007-06-19 12:23:36 +00:00
Matthias Clasen
2c1ee89734 Fix up docs
svn path=/trunk/; revision=18150
2007-06-15 20:56:30 +00:00
Johan Dahlin
4d638bf0c1 Add GtkBuilder, fixes #172535
2007-06-15  Johan Dahlin  <jdahlin@async.com.br>

    * demos/gtk-demo/Makefile.am:
    * demos/gtk-demo/builder.c: (quit_activate), (about_activate),
    (do_builder):
    * demos/gtk-demo/demo.ui:
    * docs/reference/gtk/gtk-docs.sgml:
    * docs/reference/gtk/gtk-sections.txt:
    * docs/reference/gtk/gtk.types:
    * docs/reference/gtk/tmpl/gtkbuildable.sgml:
    * docs/reference/gtk/tmpl/gtkbuilder.sgml:
    * gtk/Makefile.am:
    * gtk/gtk.h:
    * gtk/gtk.symbols:
    * gtk/gtkaction.c: (gtk_action_buildable_init),
    (gtk_action_buildable_set_name), (gtk_action_buildable_get_name):
    * gtk/gtkactiongroup.c: (gtk_action_group_get_type),
    (gtk_action_group_buildable_init),
    (gtk_action_group_buildable_add),
    (gtk_action_group_buildable_set_name),
    (gtk_action_group_buildable_get_name):
    * gtk/gtkbuildable.c: (gtk_buildable_get_type),
    (gtk_buildable_set_name), (gtk_buildable_get_name),
    (gtk_buildable_add), (gtk_buildable_set_property),
    (gtk_buildable_parser_finished), (gtk_buildable_construct_child),
    (gtk_buildable_custom_tag_start), (gtk_buildable_custom_tag_end),
    (gtk_buildable_custom_finished),
    (gtk_buildable_get_internal_child):
    * gtk/gtkbuildable.h:
    * gtk/gtkbuilder.c: (gtk_builder_class_init), (gtk_builder_init),
    (gtk_builder_finalize), (gtk_builder_set_property),
    (gtk_builder_get_property), (_gtk_builder_resolve_type_lazily),
    (gtk_builder_real_get_type_from_name),
    (gtk_builder_get_parameters), (gtk_builder_get_internal_child),
    (_gtk_builder_construct), (_gtk_builder_add),
    (apply_delayed_properties), (_gtk_builder_finish),
    (gtk_builder_new), (gtk_builder_add_from_file),
    (gtk_builder_add_from_string), (gtk_builder_get_object),
    (object_add_to_list), (gtk_builder_get_objects),
    (gtk_builder_set_translation_domain),
    (gtk_builder_get_translation_domain),
    (gtk_builder_connect_signals_default),
    (gtk_builder_connect_signals), (gtk_builder_connect_signals_full),
    (gtk_builder_value_from_string),
    (gtk_builder_value_from_string_type),
    (_gtk_builder_enum_from_string), (_gtk_builder_flags_from_string),
    (gtk_builder_get_type_from_name), (gtk_builder_error_quark):
    * gtk/gtkbuilder.h:
    * gtk/gtkbuilderparser.c: (state_push), (state_peek), (state_pop),
    (error_missing_attribute), (error_invalid_attribute),
    (error_invalid_tag), (builder_construct), (parse_object),
    (free_object_info), (_get_type_by_symbol), (parse_child),
    (free_child_info), (parse_property), (free_property_info),
    (parse_signal), (_free_signal_info), (parse_interface),
    (create_subparser), (free_subparser), (subparser_start),
    (subparser_end), (parse_custom), (start_element), (end_element),
    (text), (_gtk_builder_parser_parse_buffer):
    * gtk/gtkbuilderprivate.h:
    * gtk/gtkcelllayout.c: (attributes_start_element),
    (attributes_text_element),
    (_gtk_cell_layout_buildable_custom_tag_start),
    (_gtk_cell_layout_buildable_custom_tag_end),
    (_gtk_cell_layout_buildable_add):
    * gtk/gtkcelllayout.h:
    * gtk/gtkcellview.c: (gtk_cell_view_buildable_init),
    (gtk_cell_view_buildable_custom_tag_start),
    (gtk_cell_view_buildable_custom_tag_end):
    * gtk/gtkcolorseldialog.c:
    (gtk_color_selection_dialog_buildable_interface_init),
    (gtk_color_selection_dialog_buildable_get_internal_child):
    * gtk/gtkcombobox.c: (gtk_combo_box_buildable_init),
    (gtk_combo_box_buildable_custom_tag_start),
    (gtk_combo_box_buildable_custom_tag_end):
    * gtk/gtkcomboboxentry.c:
    (gtk_combo_box_entry_buildable_interface_init),
    (gtk_combo_box_entry_buildable_get_internal_child):
    * gtk/gtkcontainer.c: (gtk_container_get_type),
    (gtk_container_buildable_init), (gtk_container_buildable_add),
    (gtk_container_buildable_set_child_property),
    (attributes_start_element), (attributes_text_element),
    (gtk_container_buildable_custom_tag_start),
    (gtk_container_buildable_custom_tag_end):
    * gtk/gtkdebug.h:
    * gtk/gtkdialog.c: (gtk_dialog_buildable_interface_init),
    (gtk_dialog_buildable_get_internal_child),
    (attributes_start_element), (attributes_text_element),
    (gtk_dialog_buildable_custom_tag_start),
    (gtk_dialog_buildable_custom_finished):
    * gtk/gtkentrycompletion.c: (gtk_entry_completion_buildable_init):
    * gtk/gtkexpander.c: (gtk_expander_buildable_add),
    (gtk_expander_buildable_init):
    * gtk/gtkfontsel.c:
    (gtk_font_selection_dialog_buildable_interface_init),
    (gtk_font_selection_dialog_buildable_get_internal_child):
    * gtk/gtkframe.c: (gtk_frame_buildable_init),
    (gtk_frame_buildable_add):
    * gtk/gtkiconview.c: (gtk_icon_view_buildable_init),
    (gtk_icon_view_buildable_custom_tag_start),
    (gtk_icon_view_buildable_custom_tag_end):
    * gtk/gtkliststore.c: (gtk_list_store_buildable_init),
    (list_store_start_element), (list_store_end_element),
    (list_store_text), (gtk_list_store_buildable_custom_tag_start),
    (gtk_list_store_buildable_custom_tag_end):
    * gtk/gtkmain.c:
    * gtk/gtknotebook.c: (gtk_notebook_buildable_init),
    (gtk_notebook_buildable_add):
    * gtk/gtksizegroup.c: (gtk_size_group_buildable_init),
    (size_group_start_element),
    (gtk_size_group_buildable_custom_tag_start),
    (gtk_size_group_buildable_custom_finished):
    * gtk/gtktreestore.c: (gtk_tree_store_buildable_init),
    (tree_model_start_element),
    (gtk_tree_store_buildable_custom_tag_start),
    (gtk_tree_store_buildable_custom_finished):
    * gtk/gtktreeview.c: (gtk_tree_view_buildable_init),
    (gtk_tree_view_buildable_add):
    * gtk/gtktreeviewcolumn.c: (gtk_tree_view_column_buildable_init):
    * gtk/gtkuimanager.c: (gtk_ui_manager_buildable_init),
    (gtk_ui_manager_buildable_add),
    (gtk_ui_manager_buildable_construct_child),
    (gtk_ui_manager_buildable_custom_tag_start),
    (gtk_ui_manager_buildable_custom_tag_end):
    * gtk/gtkwidget.c: (gtk_widget_get_type),
    (gtk_widget_buildable_interface_init),
    (gtk_widget_buildable_set_name), (gtk_widget_buildable_get_name),
    (gtk_widget_buildable_set_property),
    (gtk_widget_buildable_parser_finshed), (accel_group_start_element),
    (gtk_widget_buildable_custom_tag_start),
    (gtk_widget_buildable_custom_finshed):
    * gtk/gtkwindow.c: (gtk_window_buildable_interface_init),
    (gtk_window_buildable_set_property),
    (gtk_window_buildable_parser_finished):
    * tests/Makefile.am:
    * tests/buildertest.c: (builder_new_from_string), (test_parser),
    (signal_normal), (signal_after), (signal_object),
    (signal_object_after), (signal_first), (signal_second),
    (signal_extra), (signal_extra2), (test_connect_signals),
    (test_uimanager_simple), (test_domain), (test_translation),
    (test_sizegroup), (test_list_store), (test_tree_store),
    (test_types), (test_spin_button), (test_notebook),
    (test_construct_only_property), (test_children),
    (test_child_properties), (test_treeview_column), (test_icon_view),
    (test_combo_box), (test_combo_box_entry), (test_cell_view),
    (test_dialog), (test_accelerators), (test_widget), (main):

    Add GtkBuilder, fixes #172535


svn path=/trunk/; revision=18141
2007-06-15 17:53:46 +00:00
Kristian Rietveld
4e4748e890 Audit of GtkTreeView coordinate system usage. (#142494).
2007-06-13  Kristian Rietveld  <kris@imendio.com>

	Audit of GtkTreeView coordinate system usage. (#142494).

	* gtk/gtktreeview.[ch]: general documentation updates,
	(gtk_tree_view_scroll_to_cell), (gtk_tree_view_get_dest_row_at_pos):
	update coordinate translations,
	(gtk_tree_view_tree_to_widget_coords),
	(gtk_tree_view_widget_to_tree_coords): Deprecated,
	(gtk_tree_view_convert_.*_coords): 6 new functions for doing
	transformations between coordinate systems.

	* gtk/gtk.symbols: updated.

	* tests/testtooltips.c (query_tooltip_tree_view_cb): fix testcase
	with new gtk_tree_view_convert_widget_to_bin_window_coords().

	* docs/reference/gtk/Makefile.am
	* docs/reference/gtk/images/tree-view-coordinates.png: add new image.

	* docs/reference/gtk/tmpl/gtktreeview.sgml: eloborate on the
	different coordinate systems.


svn path=/trunk/; revision=18119
2007-06-13 13:27:00 +00:00
Matthias Clasen
5dfb5b23ed Documentation additions
svn path=/trunk/; revision=18074
2007-06-07 06:19:15 +00:00
Kristian Rietveld
1598526f5c also remove the auto expand timeout if it exists.
2007-06-06  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_unrealize): also remove the
	auto expand timeout if it exists.


svn path=/trunk/; revision=18048
2007-06-06 08:54:30 +00:00
Kristian Rietveld
b3e489c7f3 Disable key bindings during rubber banding, make pressing Esc stop rubber
2007-05-09  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_key_press),
	(gtk_tree_view_key_release):
	* gtk/gtkiconview.c (gtk_icon_view_class_init),
	(gtk_icon_view_key_press),
	(gtk_icon_view_key_release): Disable key bindings during rubber
	banding, make pressing Esc stop rubber banding.  (#405027).


svn path=/trunk/; revision=17807
2007-05-09 14:06:02 +00:00
Kristian Rietveld
ba51caa966 stop the rubber band if it's active.
2007-05-02  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_grab_notify): stop the rubber band
	if it's active.


svn path=/trunk/; revision=17770
2007-05-02 08:08:39 +00:00
Matthias Clasen
4b42349614 Set the background of the header window again. (#431067, Benjamin Berg)
2007-04-25  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktreeview.c (gtk_tree_view_style_set): Set the background
        of the header window again.  (#431067, Benjamin Berg)



svn path=/trunk/; revision=17640
2007-04-25 19:10:25 +00:00
Kristian Rietveld
3bd51183a8 add _gtk_tree_view_column_get_focus_area().
2007-03-20  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeviewcolumn.c:
	* gtk/gtktreeprivate.h: add _gtk_tree_view_column_get_focus_area().

	* gtk/gtktreeview.c (gtk_tree_view_clamp_column_visible): add
	focus_to_cell parameter, rework to handle clamping columns which
	are bigger than the available page size better,
	(gtk_tree_view_key_press): remove code handling moving the focus
	to other column headers,
	(gtk_tree_view_header_focus): add clamp_column_visible parameter,
	fix RTL support, don't wrap around when moving focus to other
	column headers, call gtk_tree_view_clamp_column_visible() instead
	of duplicating code,
	(gtk_tree_view_focus): only clamp the column visible when we are
	explicitly moving to another column header (fixes #399555, Charles
	Kerr),
	(gtk_tree_view_move_cursor_left_right): update call to
	gtk_tree_view_clamp_column_visible().


svn path=/trunk/; revision=17546
2007-03-20 12:32:19 +00:00
Kristian Rietveld
f74a07b091 only hide the search dialog and send focus events if the search dialog is
2007-03-10  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_search_dialog_hide): only
	hide the search dialog and send focus events if the search dialog
	is currently visible.


svn path=/trunk/; revision=17464
2007-03-10 22:42:40 +00:00
Kristian Rietveld
c24c88fe30 add cursor_offset field.
2007-02-16  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeprivate.h: add cursor_offset field.

	* gtk/gtktreeview.c (gtk_tree_view_init),
	(gtk_tree_view_move_cursor_page_up_down): fix off by one error
	in page up/down handling by memorizing the offset into the cursor
	row.  (Fixes #399809, reported by Bruce Bowler).


svn path=/trunk/; revision=17316
2007-02-16 21:35:31 +00:00
Kristian Rietveld
41aff18d7f send a focus-in event to the tree view after hiding the search dialog.
2007-02-16  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_search_dialog_hide): send
	a focus-in event to the tree view after hiding the search dialog.
	(#356515, Rich Burridge, Peter Parente).


svn path=/trunk/; revision=17314
2007-02-16 21:24:54 +00:00
Kristian Rietveld
8f1eff60dd remove unused style_get of vertical-separator. (#403165, Chris Wilson).
2007-02-02  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_row_changed): remove unused
	style_get of vertical-separator. (#403165, Chris Wilson).


svn path=/trunk/; revision=17252
2007-02-02 20:37:02 +00:00
Kristian Rietveld
19a056cc4e factor out add_scroll_timeout(). (taken from maemo-gtk).
2007-01-19  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_motion_bin_window),
	(add_scroll_timeout), (gtk_tree_view_drag_motion): factor out
	add_scroll_timeout().  (taken from maemo-gtk).


svn path=/trunk/; revision=17192
2007-01-19 10:32:42 +00:00
Michael Natterer
42debff10d gtk/gtkcheckbutton.c gtk/gtkdnd.c gtk/gtkentry.c gtk/gtkmenu.c
2007-01-18  Michael Natterer  <mitch@imendio.com>

	* gtk/gtkcheckbutton.c
	* gtk/gtkdnd.c
	* gtk/gtkentry.c
	* gtk/gtkmenu.c
	* gtk/gtktreeview.c
	* gtk/gtkviewport.c: pass more clip rectangles to gtk_paint_foo()
	functions. Based on a patch from maemo-gtk (bug #398023).


svn path=/trunk/; revision=17183
2007-01-18 17:30:10 +00:00
Hans Breuer
3f403cde24 don't include "gtkprivate.h" to avoid differing definitions of
2007-01-13  Hans Breuer <hans@breuer.org>

	* gtk/gtkimmulticontext.c : don't include "gtkprivate.h" to avoid
	differing definitions of GTK_LOCALEDIR (bug #396175).

	* gtk/gtktreeview.c : use g_snprintf instead of snprintf, which is
	not available everywhere

	* gtk/makefile.msc.in : updated

svn path=/trunk/; revision=17137
2007-01-13 21:13:28 +00:00
Kristian Rietveld
d2b57c096a handle tree == NULL. (Fixes #392259, reported by Christian Persch).
2007-01-05  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_dy_to_top_row): handle tree
	== NULL.  (Fixes #392259, reported by Christian Persch).


svn path=/trunk/; revision=17092
2007-01-05 22:14:08 +00:00
Kristian Rietveld
b5eed72f24 do allow for invalidated nodes if the tree view is not realized. (#363147,
2007-01-05  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_row_changed): do allow for
	invalidated nodes if the tree view is not realized. (#363147,
	Carlos Garnacho, Miguel Cabrera).


svn path=/trunk/; revision=17089
2007-01-05 21:34:58 +00:00
Kristian Rietveld
962e54f140 fix typo causing the search dialog timeout never to be refreshed.
2006-12-26  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_search_init): fix typo causing
	the search dialog timeout never to be refreshed. (#389581,
	Andrzej Szombierski).
2006-12-26 18:17:36 +00:00
Kristian Rietveld
a3bc63b9e2 Lots of scrolling fixes. Made scrolling work properly in not fully
2006-12-26  Kristian Rietveld  <kris@gtk.org>

	Lots of scrolling fixes.  Made scrolling work properly in not fully
	validated tree views; fixed a bunch of corner cases.

	* gtk/gtktreeview.c (validate_visible_area): if a row's dy is past
	upper - page_size, we know it is located at the end so the test for
	dy + height has been dropped.
	In the same case if area_below < 0, we know this is the last node
	in the tree view so area_above is page_size - height of this row.
	(validate_visible_area): got rid of subtracting new_height -
	old_height from area_{below,above}, it didn't make any sense at
	all and the full height of the row should be subtracted instead.
	(validate_visible_area): when scrolling to a given path, set the
	top row directly together with the dy offset, then sync that top_row
	to the dy.
	(gtk_tree_view_set_top_row): new function to directly set a top_row.
	(gtk_tree_view_dy_to_top_row): refactored to use
	gtk_tree_view_set_top_row().
	(gtk_tree_view_top_row_to_dy): make sure dy >= 0 when done.
	(gtk_tree_view_adjustment_changed): only update our dy and
	top_row if the adjustment's dy actually changed.
2006-12-26 16:13:02 +00:00
Matthias Clasen
721c3bc101 Replace a lot of idle and timeout calls by the new gdk_threads api.
2006-12-22  Matthias Clasen  <mclasen@redhat.com>

        * *.c: Replace a lot of idle and timeout calls by
        the new gdk_threads api.
2006-12-22 19:10:43 +00:00
Kristian Rietveld
44cac29d90 when not using an explicit alignment, use the full area of the row (not
2006-12-03  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (validate_visible_area): when not using an
	explicit alignment, use the full area of the row (not just dy)
	to determine how to implicitly align it.  (Fixes #363191, reported
	by Federico Mena Quintero).
2006-12-03 15:14:51 +00:00
Michael Natterer
9c96044c00 if we can't go up/down, consult gtk_widget_keynav_failed() and leave the
2006-11-24  Michael Natterer  <mitch@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): if we
	can't go up/down, consult gtk_widget_keynav_failed() and leave the
	widget if it returns FALSE (bug #322640).
2006-11-24 13:18:55 +00:00
Michael Natterer
7f374a74ba Add new infrastructure for notifications of failed keyboard navigation and
2006-11-16  Michael Natterer  <mitch@imendio.com>

	Add new infrastructure for notifications of failed keyboard
	navigation and navigation with restricted set of keys.

	The patch handles configurable beeping, navigating the GUI with
	cursor keys only (as in phone environments), and configurable
	wrap-around. Fixes bugs #322640, #70986, #318827, #334726, #334742
	and #309291.

	* gtk/gtksettings.c: added properties gtk-keynav-cursor-only,
	gtk-keynav-wrap-around and gtk-error-bell.

	* gtk/gtkwidget.[ch]: added new signal "keynav-failed" and public
	API to emit it. Added New function gtk_widget_error_bell() which
	looks at the gtk-error-bell setting and calls gdk_window_beep()
	accordingly.

	* gtk/gtk.symbols: add the new widget symbols.

	* gtk/gtkcellrendereraccel.c
	* gtk/gtkimcontextsimple.c
	* gtk/gtkmenu.c
	* gtk/gtknotebook.c: use gtk_widget_error_bell() or look at the
	gtk-error-bell setting instead of calling gdk_display_beep()
	unconditionally.

	* gtk/gtkcombobox.c
	* gtk/gtkentry.c
	* gtk/gtkiconview.c
	* gtk/gtklabel.c
	* gtk/gtkmenushell.c
	* gtk/gtkspinbutton.c
	* gtk/gtktextview.c
	* gtk/gtktreeview.c: call gtk_widget_error_bell() on failed keynav.

	* gtk/gtkentry.c
	* gtk/gtklabel.c
	* gtk/gtkrange.c
	* gtk/gtktextview.c: consult gtk_widget_keynav_failed() on failed
	cursor navigation and leave the widget if it returns FALSE.

	* gtk/gtkmenushell.c
	* gtk/gtknotebook.c: only wrap around if gtk-keynav-wrap-around
	is TRUE.

	* gtk/gtkradiobutton.c: ask gtk_widget_keynav_failed() to decide
	whether to to wrap-around, and don't select active items on cursor
	navigation if gtk-keynav-cursor-only is TRUE. Should look at
	gtk-keynav-wrap-around too, will look into that.
2006-11-16 12:56:30 +00:00
Kristian Rietveld
3959e39a4f disable don't move cursor case for SELECTION_NONE. (#371756, John Ellis).
2006-11-09  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): disable
	don't move cursor case for SELECTION_NONE. (#371756, John Ellis).
2006-11-09 17:09:25 +00:00
Kristian Rietveld
04687fad73 don't forget to queue a draw for the new cursor node. (Fixes #366548,
2006-10-30  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_page_up_down): don't
	forget to queue a draw for the new cursor node. (Fixes #366548,
	reported by Sven Herzberg).
2006-10-30 22:07:50 +00:00
Kristian Rietveld
b863dba5ed change left/right keybindings to collapse/expand rows instead of moving
2006-10-30  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): change left/right
	keybindings to collapse/expand rows instead of moving the focus
	cursor. (#105895, Brian Bober and others).
2006-10-30 12:43:15 +00:00
Kristian Rietveld
736755e07d guard against child removal in row-expanded callback. (#366782, John
2006-10-29  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_real_expand_row): guard against
	child removal in row-expanded callback. (#366782, John Ellis).
2006-10-29 15:49:50 +00:00
Kristian Rietveld
c88087b694 rework the area_above == 0 case to not overwrite the variables in the
2006-10-27  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (validate_visible_area): rework the area_above == 0
	case to not overwrite the variables in the lower scope (which are
	used later on ...), get the path correctly and bail out when there
	isn't a node above us. (#359231).
2006-10-27 19:59:16 +00:00
Kristian Rietveld
fb59835481 add getter/setter for show-expanders property, queue a redraw when this
2006-10-08  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.[ch] (gtk_tree_view_set_property),
	(gtk_tree_view_set_show_expanders),
	(gtk_tree_view_get_show_expanders): add getter/setter for
	show-expanders property, queue a redraw when this property
	is toggled (#351167, Martin Ejdestig),
	(gtk_tree_view_set_level_indentation),
	(gtk_tree_view_get_level_indentation): also add getter/setter
	and docs for level-indentation property.
2006-10-08 14:36:20 +00:00
Matthias Clasen
07e7719441 Apply a cleanup patch by Kjartan Maraas (#341812)
2006-10-08  Matthias Clasen  <mclasen@redhat.com>

	* Apply a cleanup patch by Kjartan Maraas  (#341812)
2006-10-08 05:07:55 +00:00
Kristian Rietveld
b6296750fe if the tree view has already been realized; scroll to background area
2006-09-25  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_scroll_to_cell): if the tree view
	has already been realized; scroll to background area instead of
	cell area. (Fixes #330683, Johan Dahlin, Tommi Komulainen).
2006-09-25 14:34:52 +00:00
Kristian Rietveld
d56ae617ef only attempt to create the GCs if the widget is realized. (Fixes #357578).
2006-09-25  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_set_grid_lines): only attempt
	to create the GCs if the widget is realized. (Fixes #357578).
2006-09-25 14:25:33 +00:00
Matthias Clasen
74dafefe45 Send change notification for the right property. (#355308, Torsten
2006-09-16  Matthias Clasen  <mclasen@redhat.com>

        * gtk/gtktreeview.c (gtk_tree_view_set_grid_lines): Send
        change notification for the right property.  (#355308,
        Torsten Schoenfeld)
2006-09-16 04:40:50 +00:00
Michael Natterer
278949fb84 refactored column header navigation/resizing/reordering to be more
2006-09-15  Michael Natterer  <mitch@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_key_press): refactored column
	header navigation/resizing/reordering to be more readable and lose
	one level of nesting.
2006-09-15 12:51:58 +00:00
Kristian Rietveld
9255c2d110 actually directly return after handling column button focus; we disable
2006-09-15  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_key_press): actually directly
	return after handling column button focus; we disable wrap around
	with this (which actually happened via a really weird code path).
	(Michael Natterer)
2006-09-15 11:22:03 +00:00
Kristian Rietveld
2dddfb8c22 make column resizing code RTL aware, also break from the loops after we
2006-09-15  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_key_press): make column resizing
	code RTL aware, also break from the loops after we have seen the
	focussed column button (Michael Natterer).
2006-09-15 10:14:29 +00:00
Matthias Clasen
77cdc290b9 Renew the flush timeout. (#354043, Nelson Benitez)
2006-09-10  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_search_scroll_event): Renew
	the flush timeout.  (#354043, Nelson Benitez)
2006-09-10 05:31:26 +00:00
Matthias Clasen
65d844f074 Be more careful when creating gcs, also emit change notification.
2006-08-06  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_set_grid_lines)
	(gtk_tree_view_set_enable_tree_lines): Be more careful
	when creating gcs, also emit change notification.
	(gtk_tree_view_unrealize): Free the gcs here.  (#349834,
	Chris Wilson)
2006-08-06 05:44:03 +00:00
Kristian Rietveld
36329391a7 Fix for #335012, reported by Matteo Nastasi.
2006-07-18  Kristian Rietveld  <kris@imendio.com>

	Fix for #335012, reported by Matteo Nastasi.

	* gtk/gtktreeview.c (gtk_tree_view_real_start_editing): if the
	requested space of the editable is smaller than the cell area,
	put it up above the middle of the cell area.

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
	configure the inner border to cover the cell area if the
	entry requisition is smaller than the cell_area.
2006-07-18 13:33:28 +00:00
Kristian Rietveld
61f4d77d55 Another fix for #164884.
2006-07-18  Kristian Rietveld  <kris@imendio.com>

	Another fix for #164884.

	* gtk/gtktreeprivate.h: add in_grab field.

	* gtk/gtktreeview.c (gtk_tree_view_button_press): only save press
	to possibly begin a drag when there's no grab pending,
	(gtk_tree_view_grab_notify): toggle in_grab field.
2006-07-18 12:33:25 +00:00
Kristian Rietveld
6ca1b1e685 use MAX priv->width, alloc.width when allocating the bin_window,
2006-07-18  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_realize): use MAX
	priv->width, alloc.width when allocating the bin_window,
	(gtk_tree_view_bin_expose): don't overrun bin_window when drawing
	the flat box.
2006-07-18 10:15:37 +00:00
Kristian Rietveld
e39a71dceb check if the iter still has children after running the test-expand-row
2006-07-17  Kristian Rietveld  <kris@imendio.com>

	* gtk/gtktreeview.c (gtk_tree_view_build_tree): check if the iter
	still has children after running the test-expand-row func,
	(gtk_tree_view_real_expand_row): ditto. (#302127, Billy Biggs).
2006-07-17 13:57:38 +00:00
Matthias Clasen
f8794cccca Improve consistency of signal and property names 2006-07-06 05:14:03 +00:00
Matthias Clasen
982a5768ec Don't leak dash_list. (#346639, Christian Persch)
2006-07-05  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_set_enable_tree_lines): Don't
	leak dash_list.  (#346639, Christian Persch)
2006-07-05 16:29:46 +00:00
Kristian Rietveld
542ac19eef cancel the expand collapse timeout when unsetting the model (Fixes
2006-06-27  Kristian Rietveld  <kris@gtk.org>

	* gtk/gtktreeview.c (gtk_tree_view_set_model): cancel the
	expand collapse timeout when unsetting the model (Fixes #327164,
	reported by Daichi Kawahata).
2006-06-27 09:28:48 +00:00
Matthias Clasen
49a025bbdc Fix the registration of the grid-lines property (#345456, Murray Cumming)
2006-06-21  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_class_init): Fix the registration
	of the grid-lines property  (#345456, Murray Cumming)
2006-06-21 15:04:44 +00:00
Kristian Rietveld
e472c2af45 Allocate space for the grid lines when they are enabled.
2006-06-21  Kristian Rietveld  <kris@imendio.com>

	Allocate space for the grid lines when they are enabled.

	* gtk/gtktreeview.c (gtk_tree_view_bin_expose): make sure the cell
	area does not overlap with the grid lines, also draw the line for
	"the next cell" in the last loop iteration, make sure the cursor falls
	in between the grid lines,
	(validate_row): request extra space for the grid lines.
2006-06-21 11:11:20 +00:00
Matthias Clasen
2406a5b256 Better fix.
2006-06-20  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_set_column_drag_info): Better
	fix.
2006-06-20 14:12:15 +00:00
Matthias Clasen
103bba09e4 (gtk_tree_view_set_column_drag_info): Don't crash if the
column_drop_func says always no.  (#344850, Christian Weiske)
2006-06-20 03:28:36 +00:00
Matthias Clasen
a5aaf6b8a5 Don't leak dash_list.
2006-06-19  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_set_grid_lines): Don't leak
	dash_list.
2006-06-20 01:57:26 +00:00
Matthias Clasen
400101a108 Fix 344838 2006-06-14 13:32:49 +00:00
Kristian Rietveld
7a6a6ebcff Introduce grid and tree lines in GtkTreeView. (#106406, Martyn Russell).
2006-06-12  Kristian Rietveld  <kris@imendio.com>

	Introduce grid and tree lines in GtkTreeView. (#106406,
	Martyn Russell).

	* gtk/gtktreeprivate.h: add new fields to GtkTreePrivate.

	* gtk/gtkenums.h: add GtkTreeViewGridLines.

	* gtk/gtktreeview.[ch] (gtk_tree_view_set_grid_lines),
	(gtk_tree_view_get_grid_lines),
	(gtk_tree_view_set_enable_tree_lines),
	(gtk_tree_view_get_enable_tree_lines): new API,
	(gtk_tree_view_class_init): new properties,
	(gtk_tree_view_init), (gtk_tree_view_{get,set}_property),
	(gtk_tree_view_realize), (gtk_tree_view_draw_grid_lines),
	(gtk_tree_view_bin_expose): implement.

	* gtk/gtk.symbols: update.
2006-06-12 18:17:35 +00:00
Kristian Rietveld
f6c583f74e Rubber banding for GtkTreeView, #80127. Uses same method as GtkIconView.
2006-06-02  Kristian Rietveld  <kris@imendio.com>

	Rubber banding for GtkTreeView, #80127.  Uses same method as
	GtkIconView.

	* gtk/gtktreeview.c (gtk_tree_view_class_init),
	(gtk_tree_view_init), (gtk_tree_view_get_property),
	(gtk_tree_view_set_property), (gtk_tree_view_set_rubber_banding),
	(gtk_tree_view_get_rubber_banding): add property,
	(gtk_tree_view_button_press): start rubber banding if enabled and
	press is on a non-selected node,
	(gtk_tree_view_button_release): stop rubber banding,
	(gtk_tree_view_motion_bin_window), (scrool_row_timeout): enable/update
	the rubber band,
	(gtk_tree_view_bin_expose): draw rubber band if active,
	(gtk_tree_view_stop_rubberband),
	(gtk_tree_view_update_rubber_band_selection_range),
	(gtk_tree_view_update_rubber_band_selection),
	(gtk_tree_view_update_rubber_band),
	(gtk_tree_view_paint_rubber_band): new functions.

	* gtk/gtktreeview.h: add new set/get function for rubber banding
	property.

	* gtk/gtktreeprivate.h: add a bunch of new private fields.
2006-06-02 20:40:33 +00:00