Wed Nov 20 19:29:50 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkrbtree.c (gtk_rbtree_reorder_sort_func): return a value
in the range of [-1, 1] instead [0, 1],
(gtk_rbtree_reorder_invert_func): ditto,
This makes treeview reordering working on platforms as FreeBSD and
solaris, thanks go to Heiner Eichmann for finding this out and
sending in a patch (#98251).
Wed Nov 20 19:27:07 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreestore.c (node_free): only free the data list if
node->data is not NULL,
(gtk_tree_store_remove): free the data list from the node if
needed. (#94728, pointed out by Peter Bloomfield).
Wed Nov 20 19:23:13 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_remove_column): stop editing
and set the edited_column to NULL if edited_column is set.
(#91288, modified patch from Josh Parsons).
Wed Nov 20 19:20:34 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_size_allocate): do a full
redraw if vadjustment->value is bigger than tree_view->priv->height,
(gtk_tree_view_row_deleted): free the row ref if it isn't valid
anymore. (#83726, reported by Robert Kinsella).
Mon Nov 18 20:42:27 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeview.c (gtk_tree_view_expand_to_path): modify and
free tmp instead of path ... (patch from #97927).
Mon Nov 18 20:31:20 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_start_editing):
only _set_text if celltext->text is not NULL. (#97815, reported
and testcase provided by Vitaly Tishkov).
Mon Nov 18 20:28:28 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreeselection.c (gtk_tree_selection_real_modify_range):
also update the anchor_path, makes behaviour consistent with the
other selection modification functions. (#96801, reported and
testcase provided by Vitaly Tishkov).
Mon Nov 18 20:17:56 2002 Kristian Rietveld <kris@gtk.org>
Hrm, this fixes up lots of mistakes in my swap/move code ... Some
of these mistakes where pointed out by Vitaly Tishkov in bugs
#97403, #97404, #97412, #97618.
* gtktreestore.[ch]: gtk_tree_store_move is now private, use
gtk_tree_store_move_{before,after} instead now. Lots of fixes
(more like a rewrite :) in the _move and _swap functions.
* gtkliststore.[ch]: likewise.
Tue Oct 15 00:53:14 2002 Kristian Rietveld <kris@gtk.org>
Behaviour change, apply changes if the entry of the editable gets
a focus out event (#82405).
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_focus_out_event):
new function,
(gtk_cell_renderer_text_start_editing): stop editing and apply
changes on focus-out.
Tue Oct 15 00:47:35 2002 Kristian Rietveld <kris@gtk.org>
Fixes an *evil* GtkTreeModelSort bug, #93629.
* gtk/gtktreemodel.c (release_row_references): return if the
refs->list is NULL.
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_row_changed): if we
are swapping two rows (re-insertion on row_changed), also *emit*
a rows_reordered signal. oops.
Tue Oct 15 00:45:03 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtkliststore.c (gtk_list_store_remove_silently): free
the actual link after the node has been removed (#92014).
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_column_finalize):
free the cell_list and the child if the exists (#92014).
Tue Oct 15 00:40:25 2002 Kristian Rietveld <kris@gtk.org>
Don't accept drops if the model has been sorted, #93758)
* gtk/gtkliststore.c (gtk_list_store_row_drop_possible): return
FALSE if the list has been sorted.
* gtk/gtktreestore.c (gtk_tree_store_row_drop_possible): check
if drag_dest is a TreeStore, return FALSE if the tree has been
sorted.
Tue Oct 15 00:33:59 2002 Kristian Rietveld <kris@gtk.org>
Compiler warning fixage, (#85858, #85859, #85860, #85872)
* gtk/gtkcellrendererpixbuf (gtk_cell_renderer_pixbuf_render):
s/guint/GtkCellRendererState/.
* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render):
ditto.
* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render),
(gtk_cell_renderer_toggle_activate): ditto.
* gtk/gtkliststore.c (gtk_list_store_get_flags): a
s/guint/GtkTreeModelFlags/ on the return type.
Fri Jul 26 22:53:37 2002 Kristian Rietveld <kris@gtk.org>
API additions: _move, _reorder and _swap for stores, path
constructor.
* gtk/gtktreemodel.[ch] (gtk_tree_path_new_from_indices): new function.
* gtk/gtkliststore.[ch]: added gtk_list_store_reorder_func (private),
gtk_list_store_reorder, gtk_list_store_swap, gtk_list_store_move.
* gtk/gtktreestore.[ch]: added gtk_tree_store_reorder_func (private),
gtk_tree_store_reorder, gtk_tree_store_swap, gtk_tree_store_move.
Fri Jul 26 22:32:57 2002 Kristian Rietveld <kris@gtk.org>
Merge from stable:
* gtk/gtktreestore.c (node_free): return FALSE,
(gtk_tree_store_finalize): use g_node_traverse instead of
g_node_children_foreach, so the whole tree will be freed (#88854,
patch from Emmanuel Briot).
Fri Jul 26 22:32:24 2002 Kristian Rietveld <kris@gtk.org>
Merge from stable:
* gtk/gtktreeview.c (gtk_tree_view_button_press): fix some memleaks,
(#84426, patch from Matthias Clasen).
Fri Jul 26 22:31:25 2002 Kristian Rietveld <kris@gtk.org>
Merge from stable:
* gtk/gtktreeview.c (gtk_tree_view_unref_tree_helper): _iter_children
check shouldn't be in g_return_return_val_if_fail (pointed out by
Josh Green, #88997),
(gtk_tree_view_set_model): call _gtk_tree_view_column_unset_model
for each column when we unset the model (part of #82484),
(gtk_tree_view_get_cell_area): return if we ran out of tree or
if we got an invalid path (#82376).
* gtk/gtktreeprivate.h: add _gtk_tree_view_column_unset_model.
* gtk/gtktreeviewcolumn.c: implement _gtk_tree_view_column_unset_model
which disconnects the sort_column_changed_signal (part of #82484).
* gtk/gtkliststore.c (gtk_list_store_insert): append row if the
given postion is off the end of the tree (#85813).
* gtk/gtkentry.c (gtk_cell_editable_key_press_event): let's use
2-space indent, commit changes if up/down keys has been pressed,
this overrides the focus key foo so the user won't be surprised
(#84665).
Mon Jul 1 17:04:09 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/gtkliststore.c (gtk_list_store_real_set_value): sync up
white space/variable names to match tree_store equiv.
* gtk/gtktreestore.c (gtk_tree_store_real_set_value): sort if we
set the value.
Thu Jun 13 16:42:40 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreestore.c (gtk_tree_store_finalize): traverse all nodes,
not just the leafs (pointed out by Josh Parsons)
Tue Jun 4 19:24:41 2002 Kristian Rietveld <kris@gtk.org>
Discussed in #76249.
* gtk/gtkliststore.[ch]: made gtk_list_store_remove return a gboolean,
added gtk_list_store_iter_is_valid.
* gtk/gtktreestore.[ch]: made gtk_tree_store_remove return a gboolean,
added gtk_tree_store_iter_is_valid.
* gtk/gtktreemodelsort.[ch]: added VALID_ITER macro as in liststore
and treestore sources, added gtk_tree_model_sort_iter_is_valid.
Thu May 16 23:59:56 2002 Kristian Rietveld <kris@gtk.org>
Merged from gtk-2-0.
* gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed): set the prev
of the next node correctly, so we don't corrupt the list and cause
bad things. (fixes#71374)
Fri Mar 8 20:41:51 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreestore.c (gtk_tree_store_drag_data_received): handle
gtk-tree-model-drop-append like the ListStore, includes some
tweaks to work right with trees
Thu Mar 7 21:32:01 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed): increase
value of new_location by one if cmp_a > 0 and we hit the end of
the list.
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
Sun Mar 3 06:39:19 2002 Tim Janik <timj@gtk.org>
* gtk/gtkfilesel.c: added compile time switch to put the tree views
into a hpaned for owen to play with.
* gtk/gtktreedatalist.c (_gtk_tree_data_list_header_free):
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data_func),
(gtk_tree_view_column_finalize):
* gtk/gtktreestore.c (gtk_tree_store_set_default_sort_func),
(gtk_tree_store_set_sort_func), (gtk_tree_store_finalize):
* gtk/gtktreeselection.c (gtk_tree_selection_finalize):
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_reset_default_sort_func),
(gtk_tree_model_sort_set_default_sort_func),
(gtk_tree_model_sort_set_sort_func):
* gtk/gtkliststore.c (gtk_list_store_set_default_sort_func),
(gtk_list_store_set_default_sort_func),
(gtk_list_store_set_sort_func), (gtk_list_store_finalize):
add reentrancy protection around destroy() function invocation.
* gtk/gtktreeselection.c (gtk_tree_selection_set_select_function): fix
destroy function invocation (which was missing).
Fri Feb 15 19:38:00 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreestore.c (gtk_tree_store_clear_traverse): new function
(gtk_tree_store_clear): traverse the tree, so we emit row_deleted
for every node. This way we don't have confused row refs crashing the
application. (#70631)
Wed Jan 30 20:15:49 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c (gtk_tree_store_set_valist): save last minute
changes before committing.
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
Mon Jan 21 01:21:54 2002 Kristian Rietveld <kris@gtk.org>
* gtk/gtktreestore.c: add some more stamp checks (pointed out
by Anders Carlsson)
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_insert_value): don't
assume _row_changed will insert sort (because _row_changed doesn't
need to follow this signal), so apply insert sort here
(gtk_tree_model_sort_level_find_insert): header doesn't need to be
set here, so use a return instead of g_return_val_if_fail.
Tue Jan 8 18:39:23 2002 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreedatalist.c (gtk_tree_data_list_compare_func): wow!
Am I a moron or what 0 < 1 is not equivalent to strcmp ("a", "b")
Tue Nov 13 21:00:59 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreemodelsort.c (gtk_tree_model_sort_class_init): new
"model" construct property for language bindings.
* gtk/gtktreestore.c (gtk_tree_store_set_column_types): New
function to let you set the column types of a GtkTreeStore for
language bindings.
* gtk/gtkliststore.c (gtk_list_store_set_column_types): ditto.
Mon Nov 5 22:34:29 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtktreednd.[ch] (struct _GtkTreeDragSourceIface):
Add row_draggable() vfunc, and wrapper function.
* gtk/gtktreednd.[ch] (struct _GtkTreeDragDestIface): Make
row_drop_possible take a GtkSelectionData, rather than
model/row pair.
* gtk/gtktreestore.c gtk/gtkliststore.c: Update for
new DND interfaces.
* gtk/gtktreeview.[ch]: Remove the row_draggable_func
location_dropable_func from gtk_tree_view_set_rows_drag_source/dest.
and rename them to enable_model_drag_source/dest.
* gtk/treeviewcolumn.c: Add DND of columns between rows.
Still can't drop _to_ the left tree, but other places
work.
* gtk/gtktreeview.c (unset_reorderable): Unset the
reorderable property if unset/enable_model_drag_source/dest
are called manually.
* gtk/gtktreestore.c (gtk_tree_store_row_drop_possible):
Correct for change in depth count handling.
* gtk/gtktreeview.c (gtk_tree_view_create_row_drag_icon):
Pass in a expose area to gtk_tree_view_column_cell_render()
Wed Oct 31 16:53:48 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreednd.c (gtk_tree_set_row_drag_data): rename
gtk_selection_data_set_tree_row, #60218
(gtk_tree_get_row_drag_data): rename
gtk_selection_data_get_tree_row, #60218
* gtk/gtktreemodel.c (gtk_tree_row_ref_deleted_callback): Actually
get this right, after the third try, #63122.
2001-10-27 Hans Breuer <hans@breuer.org>
* gtk/gtkbbox.c gtk/gtkctree.c gtk/gtkhbbox.c
gtk/gtkimmulticontext.c gtk/gtklabel.c gtk/gtkliststore.c
gtk/gtkmenu.c gtk/gtkpaned.c gtk/gtkrc.c gtk/gtkscale.c
gtk/gtkstyle.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
gtk/gtktexttag.c gtk/gtktexttagtable.c gtk/gtktextview.c
gtk/gtktreestore.c gtk/gtkvbbox.c :
to simplify parsing for exported functions:
- made implementation signature static, when the local
prototype already was
- put the functions return value on it's own line
- added as space between the function name and the
opening bracket
* gtk/gtk.def : added the remaining exported functions
Mon Oct 22 15:17:05 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c (gtk_tree_store_iter_depth): Realized
g_node_depth is broken, and that it's not worth being consistent
with it.
Thu Oct 18 14:22:10 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c (gtk_tree_store_remove): fix small bug
reported by (Oleg Maiboroda), #62600
Tue Oct 9 17:40:24 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c (gtk_tree_store_finalize): We're a gobject,
not a GtkObject. Thanks andersca.
* gtk/gtkliststore.c (gtk_list_store_finalize): ditto
Fri Oct 5 20:50:00 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c (gtk_tree_store_iter_has_child): improve
warning.
* gtk/gtktreemodel.c (gtk_tree_row_reference_new_proxy): ref and
unref nodes, #okay61676
* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_sort): we listen
to the property; no need to clear the other columns. Also, we go
to 'unsorted' if the model supports it.
Wed Sep 26 19:48:01 2001 Jonathan Blandford <jrb@redhat.com>
* gtk/gtktreestore.c (gtk_tree_store_set_valist): Stop being
stupid and emitting the signal every time.
* gtk/gtkliststore.c (gtk_list_store_set_valist): ditto
Mon Sep 24 12:48:25 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtknotebook.h: Add a compat macro that got lost.
* gtk/gtktreestore.c: Doc fixes.
* gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix reference
leak for windows that receive events after being destroyed.
(#60863, Joshua N. Pritikin)
* gtk/gtktable.c (gtk_table_remove): Use gtk_widget_queue_resize
rather than gtk_container_queue_resize().
* gtk/{gtkcontainer.c,gtkwidget.c,gtkwindow.c}: _gtk prefix
gtk_container_queue_resize, gtk_container_queue_resize_widgets,
gtk_container_child_composite_name. (#60217.)