Commit Graph

163 Commits

Author SHA1 Message Date
Matthias Clasen
54938b0c6d Don't use an uninitialized tree iter. (#150414, Torsten Schoenfeld)
Sat Aug 21 23:53:39 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktreestore.c (gtk_tree_store_swap): Don't use an
	uninitialized tree iter.  (#150414, Torsten Schoenfeld)
2004-08-22 03:56:43 +00:00
Matthias Clasen
e9c126dbfd Underscore-prefix gtk_tree_data_list_compare_func.
2004-08-11  Matthias Clasen  <mclasen@redhat.com>

	* gtk/gtktreedatalist.[hc]:
	* gtk/gtkliststore.c:
	* gtk/gtktreestore.c: Underscore-prefix gtk_tree_data_list_compare_func.

	* gtk/gtk.symbols: Remove gtk_tree_data_list_compare_func.

	* gtk/makegtkalias.pl: No need to include gtktreedatalist.h any more.
2004-08-11 15:08:24 +00:00
Matthias Clasen
3612aee585 Add hidden aliases for exported symbols which are used internally in order
Mon Aug  9 12:48:04 2004  Matthias Clasen  <maclas@gmx.de>

	Add hidden aliases for exported symbols which are
	used internally in order to get rid of many PLT
	entries.  (#145519, Arjan van de Ven)

	* gtk/Makefile.am: Add rules to generate gtk.def and
	from gtk.symbols, and make make check check the abi
	with abicheck.sh.
	(gtk_private_h_sources): Add gtkinternals.h
	(gtk_built_private_headers): Add gtkalias.h
	(gtk_extra_sources): Add gtk.symbols
	(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh

	* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
	The file can be processed by cpp to filter out certain
	subsets of symbols.

	* gtk/abicheck.sh: New file. Script to check the actually
	symbols exported from libgtk-x11.2.0.so against the symbols
	found in gtk.symbols.

	* gtk/makegtkalias.pl: New file. Perl script to generate the
	header containing the alias definitions for internally used
	exported symbols from a list of symbols.

	* gtk/gtkinternals.h: New file. An uninstalled header listing
	symbols which must be exported for some reason and do not appear
	in any other header.

	* gtk/*.c: Include gtkalias.h
2004-08-09 16:59:53 +00:00
Matthias Clasen
c9cf312cdd s/childs/children/g.
Wed Aug  4 01:37:57 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktreeview.c:
	* gtk/gtktreestore.c:
	* gtk/gtktreemodelfilter.c:
	* gtk/gtknotebook.c: s/childs/children/g.
2004-08-04 05:38:58 +00:00
Matthias Clasen
b98e17c850 Don't crash if somebody tries to move a node after itself in a list of
Sun Jul  4 01:11:07 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktreestore.c (gtk_tree_store_move): Don't crash if
	somebody tries to move a node after itself in a list of
	length 1.  (#145291, Sampo Nurmentaus)
2004-07-04 05:12:47 +00:00
Matthias Clasen
c3bb3bef04 Avoid uninitialized use of &parent_iter. (#145007, John Finlay)
Fri Jun 25 22:49:58 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktreestore.c (gtk_tree_store_move): Avoid uninitialized
	use of &parent_iter. (#145007, John Finlay)
2004-06-26 02:57:32 +00:00
Matthias Clasen
776c9c7480 Commit a forgotten fix. 2004-06-25 04:33:25 +00:00
Federico Mena Quintero
80581c3011 Fixes #136082 and #135265, patch by Morten Welinder.
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

	Fixes #136082 and #135265, patch by Morten Welinder.

	* configure.in: Use AC_SYS_LARGEFILE.

	* */*.c: #include <config.h>
2004-03-06 03:38:59 +00:00
Owen Taylor
d0f6b48199 gtk/gtktreestore.c (gtk_tree_store_reorder) Fix up the interpretation of
Tue Mar  2 16:18:43 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktreestore.c (gtk_tree_store_reorder)
        * gtk/gtkliststore.c (gtk_list_store_reorder): Fix
        up the interpretation of new_order to match what
        it means elsewhere, document the meaning of new_order.

        * gtk/gtkcombobox.c (gtk_combo_box_model_rows_reordered):
        Fix interpretation of new_order.

        * tests/testcombochange.c (on_reorder): Fix interpretation
        of new_order.

        * tests/testcombochange.c (on_reorder): Fix hitting
        "reorder" with an empty list.
2004-03-02 21:34:19 +00:00
Federico Mena Quintero
a9fbfc99f5 Fixes #132975.
2004-01-30  Federico Mena Quintero  <federico@ximian.com>

	Fixes #132975.

	* gtk/gtkfilesystem.c (gtk_file_system_make_path): Return NULL,
	not FALSE.
	(gtk_file_system_volume_render_icon): Likewise.

	* gtk/gtkfilesystemwin32.c (gtk_file_system_win32_make_path):
	Likewise.

	* gtk/gtktreestore.c (gtk_tree_store_iter_n_children): Return 0,
	not FALSE.

	* gtk/gtktoolbar.c (gtk_toolbar_get_drop_index): Return -1, not
	FALSE.

	* gtk/gtktextiter.c (gtk_text_iter_get_chars_in_line): Return 0,
	not FALSE.
	(gtk_text_iter_get_bytes_in_line): Likewise.

	* gdk/x11/gdkcursor-x11.c (gdk_display_get_default_cursor_size):
	Likewise.

	* gdk/linux-fb/gdkcolor-fb.c (gdk_colors_alloc): Return FALSE, not
	0.
2004-01-30 19:49:40 +00:00
Kristian Rietveld
b78691f098 Big TreeView DnD fixage, makes drops on empty models work, makes TreeStore
Wed Sep 10 01:06:44 2003  Kristian Rietveld  <kris@gtk.org>

	Big TreeView DnD fixage, makes drops on empty models work, makes
	TreeStore DnD work and gets rid of gtk-tree-model-drop-append.
	Related bugs #95362 and #113314. I don't want to touch this code
	ever again.

	* gtk/gtktreeprivate.h (GtkTreePrivate): add empty_view_drop field.

	* gtk/gtktreednd.c (gtk_tree_get_row_drag_data): add check
	for selection_data->length.

	* gtk/gtktreeview.c (struct DestRow), (dest_row_free),
	(set_dest_row), (get_dest_row): we don't store just the row ref
	anymore, but a struct with the row ref and additional info,
	(set_destination_row): handle drops on empty space and some
	style fixes,
	(get_logical_dest_row): also return path_down_mode/drop_append_mode
	flags, handle dropping childs on their new parents, rewrite
	drop append handling into something saner,
	(gtk_tree_view_drag_motion): show a "drop possible arrow" on empty
	spaces,
	(gtk_tree_view_drag_drop): updates for updated backend,
	(gtk_tree_view_drag_data_received): updates for updated backend,
	path down mode (treestore DnD) handling,
	(gtk_tree_view_set_drag_dest_row): set empty_view_drop flag,
	when we are trying to drop a row on an empty model,
	(gtk_tree_view_get_drag_dest_row): handle empty_view_drop flag.

	* gtk/gtkliststore.c (gtk_list_store_drag_data_received),
	(gtk_list_store_row_drop_possible): style and drop-append fixes.

	* gtk/gtktreestore.c (gtk_tree_store_drag_data_received): ditto.
2003-09-09 23:13:39 +00:00
Matthias Clasen
f114b14ac3 Document restriction on types.
2003-06-05  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktreestore.c (gtk_tree_store_new):
	* gtk/gtkliststore.c (gtk_list_store_new): Document restriction on
	types.
2003-06-04 23:53:35 +00:00
Kristian Rietveld
3804b7e64b ChangeLog too long to mention here. Bugs fixed: #100973, #83195, #87556,
#99803, #100458. And a couple of non-bugzilla'd bugs (I am soooo sure
I misspelled that).
2003-01-27 21:41:06 +00:00
Murray Cumming
5c466a9f39 Fixes #102168.
2002-12-29  Murray Cumming  <murrayc@usa.net>

	Fixes #102168.

	* gtk/gtkliststore.c, gtktreednd.c, gtktreestore.c:
	Actually implement the GtkTreeDragSource::row_draggable virtual
	function in GtkListStore and GtkTreeStore instead of just checking
	whether it's implemented at all. This means that DnD isn't broken by
	gtkmm's virtual function wrappers. The alternative would be to
	hard-code the TRUE return value into gtkmm's wrappers, but that's
	part of GTK+'s implementation, not it's API.
2003-01-14 22:57:37 +00:00
Kristian Rietveld
1fb04c5f22 The full changelog for this commit is too long to paste here, so to avoid
annoying everybody I will write a short summary here.

Fixes for: #102890, #103198, #102618, #93629, #100172, #101235, #96650,
#102379.

Other than that also a ListStore fix and a TreeView scrolling fix.

Those interested in the hairy details can checkout gtk+/ChangeLog.
2003-01-14 22:30:41 +00:00
Matthias Clasen
7cb3f99fc7 Document 2.2 API additions. 2002-11-28 00:33:17 +00:00
Kristian Rietveld
a09f497c36 add a gtk_list_store_sort_iter_changed line for some special case ...
Tue Nov 26 22:26:04 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtk{tree,list}store.c (gtk_{tree,list}_store_real_set_value):
        add a gtk_list_store_sort_iter_changed line for some special
        case ... (#96647 (issue 1), testcases from Soeren Sandmann and
        Daniel Elstner).

Tue Nov 26 22:18:06 2002  Kristian Rietveld  <kris@gtk.org>

        Inconsistent state for toggle renderers, requested by Paolo Bacchilega
        in #88130.

        * gtk/gtktreeprivate.h: move GtkCellRendererInfo here.

        * gtk/gtkcellrenderer.c: moved GtkCellRendererInfo away,
        fix some indentation issues.

        * gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_class_init),
        (gtk_cell_renderer_toggle_set_property),
        (gtk_cell_renderer_toggle_get_property),
        (gtk_cell_renderer_toggle_render): add an inconsistent property.

        * gtk/gtkstyle.c (gtk_default_draw_check),
        (gtk_default_draw_option): support drawing inconsistent
        options/checks for cells.

Tue Nov 26 22:14:14 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_editing_done),
        (gtk_cell_renderer_text_start_editing): add a focus_out_id to avoid
        calling _editing_done twice (which has nasty side-effects). (#96647,
        (issue 2) testcase from Soeren Sandmann).

Tue Nov 26 22:12:21 2002  Kristian Rietveld  <kris@gtk.org>

        #82739, patch from Padraig O'Briain.

        * gtk/gtktreeviewcolumn.[ch]: add
        gtk_tree_view_column_cell_get_position()

Tue Nov 26 22:06:29 2002  Kristian Rietveld  <kris@gtk.org>

        Yes, this chunk breaks ABI compatibility. Owen knows about it and
        agreed with it. It doesn't break ABI that bad though, things will
        still work. Please keep it silent :P.

        This patch fixes some keynav issues reported by Narayana Pattipati
        in #81633. (Also mentioned in #92037 (Sun tracking bug)).

        * gtk/gtkmarshalers.list: add two silly marshalers

        * gtk/gtktreeview.[ch] (gtk_tree_view_real_select_all),
        (gtk_tree_view_real_unselect_all),
        (gtk_tree_view_real_select_cursor_row),
        (gtk_tree_view_real_toggle_cursor_row),
        (gtk_tree_view_real_expand_collapse_cursor_row),
        (gtk_tree_view_real_start_interactive_search): change the return
        type from void to gboolean, update prototypes, functions, signals and
        entries in GtkTreeViewClass,
        (gtk_tree_view_class_init): add select_cursor_row binding for
        enter key,
        (gtk_tree_view_key_press): only navigate the header button if the
        header is also visible ...

Tue Nov 26 22:05:48 2002  Kristian Rietveld  <kris@gtk.org>

        API bit of #75745, reported by Richard Hult.

        * gtk/gtkcellrenderer.h (GtkCellRendererState): add
        GTK_CELL_RENDERER_FOCUSED, rest of this bug fix will follow later.
2002-11-26 21:28:01 +00:00
Kristian Rietveld
83e9cd5320 return a value in the range of [-1, 1] instead [0, 1],
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).
2002-11-20 18:15:28 +00:00
Kristian Rietveld
b977d5af8f modify and free tmp instead of path ... (patch from #97927).
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.
2002-11-18 19:33:28 +00:00
Kristian Rietveld
bd20ab01a5 Behaviour change, apply changes if the entry of the editable gets a focus
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.
2002-10-14 22:50:18 +00:00
Matthias Clasen
d8d0bf7ce9 Documentation improvements. 2002-10-10 23:42:57 +00:00
Manish Singh
5d021465d6 Deprecation cleanup
Thu Oct 10 15:13:48 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtkimcontext.[ch] gtk/gtkimcontextsimple.[ch] gtk/gtkimmodule.c
        gtk/gtkimmulticontext.[ch] gtk/gtktreestore.[ch]: Deprecation
        cleanup
2002-10-10 22:20:48 +00:00
Jonathan Blandford
e8215b3325 Make GtkTreeRowReference a boxed type.
Wed Sep 11 15:48:38 2002  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreemodel.c (gtk_tree_row_reference_get_type): Make
	GtkTreeRowReference a boxed type.

	* gtk/gtkliststore.c (gtk_list_store_finalize): free the root
	list.

	* gtk/gtktreestore.c (gtk_tree_store_finalize): free the root
	nodes.
2002-09-11 19:52:31 +00:00
Soren Sandmann
77eee887f3 Minor documentation fixes
2002-08-10  Soren Sandmann  <sandmann@daimi.au.dk>

	* docs/reference/gtk/tree_widget.sgml,
	docs/reference/gtk/tmpl/gtkdialog.sgml,
	docs/reference/gtk/tmpl/gtkentry.sgml,
	docs/reference/gtk/tmpl/gtkfilesel.sgml,
	docs/reference/gtk/tmpl/gtkfontsel.sgml,
	docs/reference/gtk/tmpl/gtkfontseldlg.sgml,
	docs/reference/gtk/tmpl/gtktreemodel.sgml,
	docs/reference/gtk/tmpl/gtkwidget.sgml, gdk/x11/gdkdisplay-x11.c,
	gtk/gtkbbox.c, gtk/gtkbox.c, gtk/gtkbutton.c, gtk/gtkcellrenderer.c,
	gtk/gtkcellrendererpixbuf.c, gtk/gtkcellrenderertext.c,
	gtk/gtkcheckmenuitem.c, gtk/gtkcontainer.c, gtk/gtkcurve.c,
	gtk/gtkdialog.h, gtk/gtkentry.c, gtk/gtkfilesel.c, gtk/gtkfontsel.c,
	gtk/gtkframe.c, gtk/gtkhandlebox.c, gtk/gtkiconfactory.c,
	gtk/gtkimage.c, gtk/gtkinvisible.c, gtk/gtkitemfactory.c,
	gtk/gtklabel.c, gtk/gtklayout.c, gtk/gtkmenu.c, gtk/gtkprogress.c,
	gtk/gtkprogressbar.c, gtk/gtkscrolledwindow.c, gtk/gtksizegroup.c,
	gtk/gtktable.c, gtk/gtktextiter.c, gtk/gtktexttag.c,
	gtk/gtktexttag.h, gtk/gtktextview.c, gtk/gtktogglebutton.c,
	gtk/gtktoolbar.c, gtk/gtktreemodel.c, gtk/gtktreeselection.c,
	gtk/gtktreestore.c, gtk/gtktreeview.c, gtk/gtktreeviewcolumn.c,
	gtk/gtkviewport.c, gtk/gtkwidget.c, gtk/gtkwidget.h,
	gtk/gtkwindow.c:

	Minor documentation fixes

	(#89254, patch from Brett Nash;
	 #85809, patch from daten@dnetc.org;
	 #76391, patch from Ross Burton;
	 #74559, Manuel Clos;
	 #73569, #72005, Alexey A. Malyshev;
	 #70061, patch from Dennis Bj"orklund;
	 #64566, #63388, #58328, #57499, #81007, #77349, Vitaly Tishkov;
	 #78932, Vitaly Tishkov, patch from Ross Burton;
	 #73306)
2002-08-10 09:55:41 +00:00
Kristian Rietveld
6c3caf2a9c API additions: _move, _reorder and _swap for stores, path constructor.
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).
2002-07-26 20:51:13 +00:00
Jonathan Blandford
e05a96609d fix warning. (gtk_tree_view_search_iter): fix warning, #85884
Fri Jul  5 02:50:24 2002  Jonathan Blandford  <jrb@gnome.org>

	* gtk/gtktreeview.c (gtk_tree_view_collapse_all): fix warning.
	(gtk_tree_view_search_iter): fix warning, #85884

	* gtk/gtktreestore.c (gtk_tree_store_get_flags): change return
	value to GtkTreeModelFlags to fix compiler warning, #85883

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_flags): change
	return value to GtkTreeModelFlags to fix compiler warning, #85882

	* gtk/gtktreemodel.c (gtk_tree_path_prepend_index): fix compiler
	warning, #85881
2002-07-05 17:25:16 +00:00
Jonathan Blandford
3778b86c2e sync up white space/variable names to match tree_store equiv.
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.
2002-07-01 21:15:35 +00:00
Kristian Rietveld
325e571a3f traverse all nodes, not just the leafs (pointed out by Josh Parsons)
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)
2002-06-13 14:32:57 +00:00
Kristian Rietveld
f39b189d5c Discussed in #76249.
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.
2002-06-04 17:17:49 +00:00
Kristian Rietveld
13dcd62e23 Merged from gtk-2-0.
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)
2002-05-16 22:17:59 +00:00
Kristian Rietveld
3140315f17 fix docs
Wed Apr 17 00:21:36 2002  Kristian Rietveld  <kris@gtk.org>

        * gtk/gtktreestore.c (gtk_tree_store_insert_before): fix docs
2002-04-16 22:15:27 +00:00
Jonathan Blandford
cdafcb42b1 set the sort_func correctly, 77030
Tue Apr  2 11:10:13 2002  Jonathan Blandford  <jrb@redhat.com>
	* gtk/gtkliststore.c (gtk_list_store_set_sort_func): set the
	sort_func correctly, 77030
2002-04-02 16:19:33 +00:00
Kristian Rietveld
f18a6f79d7 handle gtk-tree-model-drop-append like the ListStore, includes some tweaks
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
2002-03-08 19:40:15 +00:00
Kristian Rietveld
ec7c323ca1 increase value of new_location by one if cmp_a > 0 and we hit the end of
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.
2002-03-07 21:18:28 +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
Tim Janik
f0b58ab846 added compile time switch to put the tree views into a hpaned for owen 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).
2002-03-03 05:41:28 +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
baf21fbfa2 new function (gtk_tree_store_clear): traverse the tree, so we emit
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)
2002-02-15 18:38:02 +00:00
Jonathan Blandford
9725d9958e save last minute changes before committing.
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.
2002-01-31 01:17:21 +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
Padraig O'Briain
e060f59406 Update last change to prevent core dump
* gtk/gtktreestore.c (gtk_tree_store_iter_children):
Update last change to prevent core dump
2002-01-22 15:44:20 +00:00
Kristian Rietveld
f0c42465b9 add some more stamp checks (pointed out by Anders Carlsson)
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.
2002-01-22 00:21:40 +00:00
Jonathan Blandford
9f35f36661 wow! Am I a moron or what 0 < 1 is not equivalent to strcmp ("a", "b")
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")
2002-01-08 23:48:30 +00:00
Matthias Clasen
63b4e37957 Doc markup fix.
* gtk/gtkwidget.c: Doc markup fix.

        * gtk/gtktreeviewcolumn.c: Markup fixes. (#66447)

        * gtk/gtktreestore.c: Typo fixes. (#66445)

        * gtk/gtkaccelgroup.c: Misc doc markup. (#66425)

        * gtk/gtkclipboard.c (gtk_clipboard_get_owner): Fix reference
        to gtk_clipboard_set_with_owner(). (#66424)

        * gtk/tmpl/gtkclipboard.sgml: Fix references to
        get_clipboard_set_with_owner(). (#66424)
2001-12-08 21:39:34 +00:00
Matt Wilson
f27cf774c6 fixed docs
2001-12-04  Matt Wilson  <msw@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_insert): fixed docs
2001-12-04 20:12:42 +00:00
Kristian Rietveld
3828d02568 return TRUE when value changed, so row_changed is being emitted
Sun Nov 18 22:01:36  Kristian Rietveld  <kristian@planet.nl>

        * gtk/gtktreestore.c: return TRUE when value changed, so
        row_changed is being emitted
2001-11-18 21:00:53 +00:00
Jonathan Blandford
43d4639743 new "model" construct property for language bindings.
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.
2001-11-14 02:06:28 +00:00
Matthias Clasen
9b17c006c8 Documentation fixes. (#64377)
* gtk/gtktreeview.c: Documentation fixes. (#64377)

        * gtk/gtktreestore.c: Documentation fixes. (#64376)
2001-11-12 22:29:13 +00:00
Owen Taylor
57479a86be Add row_draggable() vfunc, and wrapper function.
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()
2001-11-06 19:10:03 +00:00
Jonathan Blandford
d7a97b9728 rename gtk_selection_data_set_tree_row, #60218
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-31 21:55:55 +00:00
Hans Breuer
e2e6940366 to simplify parsing for exported functions: - made implementation
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
2001-10-27 00:41:12 +00:00
Jonathan Blandford
74b4914191 Fix docs, #62808
Mon Oct 22 20:07:21 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_prepend): Fix docs, #62808
2001-10-24 22:54:59 +00:00
Jonathan Blandford
12396ed1c5 Realized g_node_depth is broken, and that it's not worth being consistent
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.
2001-10-22 19:19:27 +00:00
Jonathan Blandford
6bf176c36d update docs to reflect reality, #62810
Mon Oct 22 15:07:17 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_iter_depth): update docs to
	reflect reality, #62810
2001-10-22 19:08:32 +00:00
Manish Singh
a52d7cd409 correct docs for use_align
Fri Oct 19 13:44:51 2001  Manish Singh  <yosh@gimp.org>

        * gtk/gtktreeview.c (gtk_treeview_scroll_to_cell): correct docs
        for use_align
2001-10-19 20:46:43 +00:00
Jonathan Blandford
c00349046a fix small bug reported by (Oleg Maiboroda), #62600
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
2001-10-18 18:39:36 +00:00
Jonathan Blandford
36f914f02d We're a gobject, not a GtkObject. Thanks andersca.
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
2001-10-09 22:24:23 +00:00
Jonathan Blandford
63973ab30a improve warning.
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.
2001-10-06 00:50:36 +00:00
Jonathan Blandford
b41d6acd49 add a finalize and destroy handler.
Mon Oct  1 16:08:23 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkliststore.c (gtk_list_store_class_init): add a finalize
	and destroy handler.

	* gtk/gtktreestore.c (gtk_list_store_class_init): ditto, #59963

	* gtk/gtktreeview.h (struct _GtkTreeViewClass): Add
	'start_editing' flag to select_cursor_row.  Bug spotted by Manish
	Singh <yosh@gimp.org>.
2001-10-01 20:12:47 +00:00
Jonathan Blandford
58ed9e8bef change scroll_to_cell delayed code to happen in size_allocate.
Mon Oct  1 14:07:02 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): change
	scroll_to_cell delayed code to happen in size_allocate.

	* gtk/gtkstyle.c (gtk_default_draw_expander): change
	prelight/normal arrow drawing.

	* gtk/gtktreedatalist.c: Change compare func to use g_utf8_collate

	* gtk/gtktreestore.c: refactor.
2001-10-01 18:12:34 +00:00
Jonathan Blandford
916b161027 Make ITERS_PERSIST correct
Sun Sep 30 15:11:59 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_remove): Make ITERS_PERSIST correct
2001-09-30 19:17:30 +00:00
Jonathan Blandford
4b6bc02f66 Stop being stupid and emitting the signal every time.
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
2001-09-27 00:09:41 +00:00
Jonathan Blandford
efae27a3a5 Removed (gtk_tree_view_column_set_alignment): xalign = CLAMP (xalign, 0.0,
Tue Sep 25 15:32:44 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.c
	(gtk_tree_view_column_set_cell_renderer): Removed
	(gtk_tree_view_column_set_alignment): xalign = CLAMP (xalign, 0.0, 1.0);  Fixes 61012.

	* gtk/gtktreestore.c (gtk_tree_store_sort_helper): Fixed #61012
	Patch from Detlef Reichl
2001-09-25 19:38:18 +00:00
Owen Taylor
540f15dcce Add a compat macro that got lost.
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.)
2001-09-24 16:54:41 +00:00
Jonathan Blandford
fc8304b134 Rename interface signals to make them more clear. Also, change
Wed Sep 12 19:01:05 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreemodel.h (struct _GtkTreeModelIface): Rename interface
	signals to make them more clear.  Also, change ::range_changed to
	::row_changed.
	* gtk/gtktreemodel.c: Adjust to interface change
	* gtk/gtktreemodel.h: ditto
	* gtk/gtktreemodelsort.c: ditto
	* gtk/gtktreestore.c: ditto
	* gtk/gtkliststore.c: ditto
	* gtk/gtktreeview.c: ditto
	* tests/testtreecolumns.c: ditto
	* gtk/gtkmarshal.list: Actually remove a marshaller!
2001-09-12 23:16:18 +00:00
Padraig O'Briain
63a9502159 Fix looping in gtk_tree_store_init() waiting for zero random int.
* gtk/gtktreestore.c:
Fix looping in gtk_tree_store_init() waiting for zero random int.
2001-09-10 15:37:03 +00:00
Jonathan Blandford
9e1fc3a7ba Write documentation Write documentation
Sat Sep  8 14:19:49 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkliststore.c: Write documentation
	* gtk/gtktreestore.c: Write documentation

Quick Documentation cleanup pass.
2001-09-08 18:23:47 +00:00
Jonathan Blandford
93d8c11ef7 fix initial val for sort column.
Tue Sep  4 18:13:43 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkliststore.c (gtk_list_store_init): fix initial val for
	sort column.

	* gtk/gtktreestore.c (gtk_list_store_init): ditto

	* gtk/gtktreesortable.c: add docs.
2001-09-04 22:15:18 +00:00
Jonathan Blandford
43405a3d77 handle default sort feature
Mon Sep  3 18:03:56 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_set_default_sort_func):
	handle default sort feature

	* gtk/gtktreesortable.c (gtk_tree_sortable_set_default_sort_func):
	new function to handle default sort.
	(gtk_tree_sortable_has_default_sort_func): check if default sort
	is set.

	* gtk/gtkliststore.c (gtk_list_store_set_default_sort_func):
	handle default sort feature
2001-09-03 23:37:39 +00:00
Kristian Rietveld
7cfc56dbd3 use GtkSortType instead of GtkTreeSortOrder. (#59173).
Thu Aug 23 20:01:41 2001  Kristian Rietveld  <kristian@planet.nl>

        * gtk/gtktreemodelsort.[ch], gtk/gtktreesortable.[ch],
        gtk/gtktreestore.[ch], gtk/gtktreeviewcolumn.[ch],
        gtk/gtkliststore.[ch]: use GtkSortType instead of GtkTreeSortOrder.
        (#59173).
2001-08-23 18:33:37 +00:00
Matthias Clasen
d146290c53 gtk/gtktreestore.c (gtk_tree_store_iter_n_children): Don't
fail if iter is NULL. (#58347)
2001-08-08 07:42:21 +00:00
Jonathan Blandford
09e97cbb7a Fix part of #57714.
Mon Jul 30 01:16:02 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_real_collapse_row): Fix part of
	#57714.
2001-07-30 05:34:55 +00:00
Owen Taylor
4e2b60ac4d Patch from Matthias Clasen to remove remove all instances of
Wed Jul 18 19:28:46 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/*.c: Patch from Matthias Clasen to remove remove
	all instances of g_return_if_fail (foo != NULL); that are
	immediately before a g_return_if_fail (GTK_IS_FOO (foo));
	since the second check catches the NULL anyways.
2001-07-18 23:39:26 +00:00
Jonathan Blandford
a4a7652d09 remove gtk_tree_model_get_first in favor of gtk_tree_model_get_iter_root.
Mon Jul  9 12:50:51 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreemodel.c: remove gtk_tree_model_get_first in favor of
	gtk_tree_model_get_iter_root.

	* gtk/gtkliststore.c: Add a bunch of g_return statements.
	(gtk_list_store_iter_n_children): Fix up.

	* gtk/gtktreestore.c: Add a bunch of g_return statements.
2001-07-09 17:09:35 +00:00
Jonathan Blandford
95cd4d8e66 New function for language bindings.
Sat Jun 30 17:13:51 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkliststore.c (gtk_list_store_newv): New function for
 	language bindings.

	* gtk/gtkteststore.c (gtk_test_store_newv): New function for
 	language bindings.
2001-06-30 21:15:27 +00:00
Jonathan Blandford
ee5ff7ddc2 changed new_with_types to just plain new, fixing the number of columns,
Fri Jun 29 22:13:28 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_new): changed new_with_types
	to just plain new, fixing the number of columns, and column types
	at creation time.

	* gtk/gtkliststore.c (gtk_list_store_new): ditto.

	* gtk/gtkcellrenderertext.c
	(gtk_cell_renderer_text_set_fixed_height_from_font): FIX the
	height to a specific font.

	* gtk/gtktreeview.c (gtk_tree_view_is_expander_column): fix brokenness.

	* tests/*c: change to work with new store models.
2001-06-30 02:38:17 +00:00
Jonathan Blandford
10f3b34911 clean up (gtk_tree_view_move_cursor_page_up_down): implement.
Wed Jun 20 19:19:15 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_move_cursor_up_down): clean up
	(gtk_tree_view_move_cursor_page_up_down): implement.
2001-06-20 23:21:46 +00:00
Jonathan Blandford
8413ee73e5 New functions to clear a model.
Tue Jun 19 19:13:19 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkliststore.c (gtk_list_store_clear):
	* gtk/gtktreestore.c (gtk_tree_store_clear): New functions to
	clear a model.
2001-06-19 23:15:22 +00:00
Jonathan Blandford
67f8b5bd46 Rename gtk_tree_sortable_sort_column_id_set_func. It's much shorter now.
Fri Jun 15 18:53:48 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreesortable.c (gtk_tree_sortable_set_sort_func): Rename
	gtk_tree_sortable_sort_column_id_set_func.  It's much shorter now.
	* gtk/gtktreeview.c (gtk_tree_view_sort_iter_changed): WOOO!!!
	Now I can really reorder/sort all Store widgets.  treesorttest
	seems to just work now.
	* gtk/gtklistview.c (gtk_list_store_iter_changed): Whoops.
	testtreesort worked through a big coincidence all this time.
	* gtk/gtkrbtree.c (_gtk_rbtree_reorder): Nasty bug fix in nasty
	code.
	* tests/testtreecolumns.c: Big 'ol warning at the top letting
	people know that this code should never ever ever be copied.

HA!

While everyone else was busy flaming eash other over configuration
engines, I secretly got sorting completely working with store widgets
and GtkTreeView.  GtkTreeModelSort, here I come!!!!!
2001-06-15 23:03:27 +00:00
Jonathan Blandford
426ac9c6fe Whoops. Forgot this a couple months ago. Now GtkTreeStore sort of sorts.
Thu Jun 14 19:21:27 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_sort_helper): Whoops.  Forgot
	this a couple months ago.  Now GtkTreeStore sort of sorts.  I'll
	finish it off tonight, though it basically works now when it's a
	list.  Also, I have a sinking feeling neither GtkTreeStore or
	GtkListStore actually resort when adding a new item.  I'll look
	into it.
2001-06-14 23:25:52 +00:00
Jonathan Blandford
59444d85e3 Now it's a GObject instead of a GtkObject. The
Thu Jun  7 18:25:42 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeselection.c: Now it's a GObject instead of a
	GtkObject.  The GtkTreeSelection::selection_changed signal is now
	the GtkTreeSelection::changed signal.

	* gtk/gtktreeview.c: Modified to deal with new GtkTreeSelection
	object.

	* tests/gtktree*.c: Modified to deal with new GtkTreeSelection
	object.
2001-06-07 22:33:14 +00:00
Jonathan Blandford
31210813cb fix a fixme.
Sun Apr  8 05:36:06 2001  Jonathan Blandford  <jrb@webwynk.net>

        * gtk/gtktextview.c (gtk_text_view_class_init): fix a fixme.

        * gtk/gtkcellrendertoggle.c: change GTK_TYPE_POINTER to
        GTK_TYPE_STRING.

        * gtk/gtktreeview.c: New functions to allow initial column
        dragging work.

        * gtk/gtktreeviewcolumn.c: Initial column dragging support.

        * tests/testtreefocus.c: give dave some love.

        * tests/testtreesort.c: Modify test to check really long samples.
2001-04-12 16:11:54 +00:00
Jonathan Blandford
461216d45b Bug fix to make trees work again when not sorted.
Mon Apr  2 19:36:57 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_init):  Bug fix to make trees
	work again when not sorted.

	* gtk/gtktreeview.c (gtk_tree_view_class_init): Add "collapse_row"
	and "expand_row" signal, closing bug 52578.

	* gtk/gtktreeview.c (gtk_tree_view_expand_row): Add signal
	support.

	* gtk/gtktreeview.c (gtk_tree_view_collapse_row): Add signal
	support.
2001-04-02 23:38:54 +00:00
Jonathan Blandford
29985af0fa BOXED,BOXED,BOXED,BOXED): new marshaller.
Mon Apr  2 16:56:15 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkmarshal.list (VOID:BOXED,BOXED,BOXED,BOXED): new
	marshaller.

	* gtk/gtktreemodel.c (gtk_tree_model_range_changed): change
	"changed" signal to "range_changed".

	* gtk/gtktreeview.c (gtk_tree_view_set_model): fix small bug where
	removing a tree from one model would remove all trees from that
	model.
	* gtk/gtktreeview.c (gtk_tree_view_range_changed): use range
	changed signal instead.
2001-04-02 20:56:55 +00:00
Jonathan Blandford
270e4f1802 for (i = 0; i < 100; i ++) g_print ("I will confirm it compile before
Sun Apr  1 01:02:54 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_sort_iter_changed):
	for (i = 0; i < 100; i ++)
	  g_print ("I will confirm it compile before committing\n");
2001-04-01 06:02:09 +00:00
Jonathan Blandford
98605f95bf Initial work on implementing the GtkTreeSortable interface. Basicaly a big
Sun Apr  1 00:52:06 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.c: Initial work on implementing the
	GtkTreeSortable interface.  Basicaly a big cut'n'paste job.
2001-04-01 05:52:23 +00:00
Jonathan Blandford
b572436d35 Forgot to namespace this.
Fri Mar 23 16:13:43 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeviewcolumn.h (GtkCellDataFunc): Forgot to namespace
	this.

	* gtk/gtktreestore.c (gtk_tree_store_set_value): change from
	set_cell to set_value

	* gtk/gtkliststore.c (gtk_list_store_set_value): change from
	set_cell to set_value
2001-03-23 21:12:33 +00:00
Jonathan Blandford
21fd434c5f fix braino. New interface to add cleanup sortable support.
Thu Mar 22 19:27:34 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
	fix braino.
	* gtk/gtktreesortable.[ch]: New interface to add cleanup sortable
	support.

	* gtk/gtktreeview.c: Addition of initial sortable support.

	* gtk/gtktreestore.c: Addition of initial sortable support.

	* gtk/gtkliststore.c: Addition of initial sortable support.

	* gtk/gtkmarshal.list: yet another marshaller.

	* gtk/gtktreedatallist.[ch]: shared code between the store models
	for handling sorting headers.
2001-03-23 00:35:19 +00:00
Jonathan Blandford
cf89a05f07 Fix up focus code a lot.
Mon Mar 12 21:02:08 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_header_focus): Fix up focus
	code a lot.

	* gtk/gtktreedatalist.c (_gtk_tree_data_list_free): use
	g_mem_chunk.
	(_gtk_tree_data_list_alloc): use g_mem_chunk.
	(_gtk_tree_data_list_node_to_value): Fix to switch on
	G_TYPE_FUNDAMENTAL.
	(_gtk_tree_data_list_value_to_node): Fix to switch on
	G_TYPE_FUNDAMENTAL.
	(_gtk_tree_data_list_node_copy): Fix to switch on
	G_TYPE_FUNDAMENTAL.
2001-03-13 02:00:37 +00:00
Jonathan Blandford
d9582bd3e4 Fix a stupid typo. (gtk_list_store_set_cell): Fix a stupid typo.
Sat Mar 10 12:15:31 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_set_cell): Fix a stupid typo.
	(gtk_list_store_set_cell): Fix a stupid typo.
2001-03-10 17:13:46 +00:00
Jonathan Blandford
351052e166 Make select_all not work if you're in SINGLE mode (it doesn't make that
Fri Mar  9 20:36:21 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeselection.c (gtk_tree_selection_select_all): Make
	select_all not work if you're in SINGLE mode (it doesn't make that
	much sense, anyway.)

	* gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
	handle types more sanely.
	(_gtk_tree_data_list_value_to_node): handle types more sanely.
	(_gtk_tree_data_list_node_copy): handle types more sanely.

	* gtk/gtkliststore.c (gtk_list_store_set_cell): fix to work with
	GValue better. Converts the type as well.

	* gtk/gtktreestore.c (gtk_tree_store_set_cell): fix to work with
	GValue better. Converts the type as well.
2001-03-10 01:34:48 +00:00
Jonathan Blandford
3b2ffda1f5 renamed "child_toggled" to "has_child_toggled".
Mon Mar  5 14:38:54 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreemodel.c: renamed "child_toggled" to
	"has_child_toggled".

	* gtk/gtktreeview.c: Handle removing columns better.  Updated to
	handle new signal name.

	* gtk/gtktreestore.c: Updated to handle new signal name.
	* gtk/gtklisttore.c: Updated to handle new signal name.
	* gtk/gtktreemodelsort.c: Updated to handle new signal name.
2001-03-05 19:43:24 +00:00
Jonathan Blandford
851bd821a1 add functions for signal emission.
Wed Feb 21 20:56:50 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreemodel.h: add functions for signal emission.

	* gtk/gtktreestore.c: move to use above functions instead of
	g_signal_emit.

	* gtk/gtkliststore.c: ditto
2001-02-22 01:56:08 +00:00
Jonathan Blandford
ef084e87e5 removed signals. Moved to inherit from GObject instead of GtkObject.
Wed Feb 21 15:41:34 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.c: removed signals.  Moved to inherit from
	GObject instead of GtkObject.

	* gtk/gtkliststore.c: ditto.

	* gtk/gtktreemodelsort.c: ditto.

	* gtk/gtktreemodel.c (gtk_tree_model_base_init): moved signals to
	GtkTreeModelIface, instead of in each model.
2001-02-21 23:49:22 +00:00
Tim Janik
ca26902c65 default initialize the generated ENTER_NOTIFY event with 0, otherwise not
Sat Feb 17 06:47:27 2001  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenu.c (gtk_menu_motion_notify): default initialize the
        generated ENTER_NOTIFY event with 0, otherwise not explicitely
        setup fields contain garbage (e.g. subwindow, breaking
        gdk_drawable_ref() upon event copy).
        (gtk_menu_stop_navigating_submenu_cb): same here.

        * gtk/gtklist.c (gtk_list_vertical_timeout):
        * gtk/gtklist.c (gtk_list_horizontal_timeout):
        * gtk/gtkclist.c (vertical_timeout):
        * gtk/gtkclist.c (horizontal_timeout): change direct assignment
        default-zero-intialization for unions to memset(,0,), as unions are
        not fully default-zero-initialized by compilers (GdkEvent x = { 0, };
        has to become GdkEvent x; memset (&x, 0, sizeof (x)); )

        * gtk/gtktreeview.c (gtk_tree_view_set_rows_drag_source): scratch
        g_closure_sink() warning.

        * gtk/gtktreemodel.c (gtk_tree_model_get_valist):
        * gtk/gtktreestore.c (gtk_tree_store_set_valist):
        * gtk/gtkliststore.c (gtk_list_store_set_valist):
        fix G_VALUE_COLLECT() and G_VALUE_LCOPY() calls.
2001-02-17 06:04:40 +00:00
Jonathan Blandford
b10825d537 removed gtk_*_store_get, and moved to GtkTreeModel.
Fri Feb 16 17:49:59 2001  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreestore.[hc], gtk/gtkliststore.[ch]: removed
	gtk_*_store_get, and moved to GtkTreeModel.

	* gtk/gtktreemodel.h (gtk_tree_model_set{v,}): Added

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_finalize): added.

	* gtk/Makefile.am: remove gtktreemodelmapping.[ch]

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_func): let you
	set the func.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
	freeze/thaw notify between setting all the properties for a cell.

	* gtk/gtk.h: remove gtktreemodelsimple.h, and gtktreemodelmapping.h
2001-02-17 00:16:08 +00:00
Havoc Pennington
4a3c8a367a remove validation idle
2001-02-08  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_destroy_layout): remove
	validation idle

	* demos/gtk-demo/main.c (create_tree): adjust to changes in text
	cell renderer

	* demos/pixbuf-demo.c (timeout): remove deprecated
	gtk_widget_draw

	* demos/testpixbuf-save.c (main): remove deprecated
	gtk_drawing_area_size

	* gtk/gtktreeview.c (gtk_tree_view_size_allocate): allocate
	buttons even if the model isn't setup. gtk_tree_view_check_dirty()
	at the start of the allocation.
	(gtk_tree_view_check_dirty): handle column->button == NULL, handle
	unsetup or NULL model.

	* gtk/gtkstyle.c (gtk_default_draw_flat_box): drawing for the
	even/odd/sorted cells in the tree view.

	* gtk/gtktreeselection.c (gtk_tree_selection_real_unselect_all):
	bugfixes

	* gtk/gtktreeview.c: assorted bugfixy stuff. Draw the row
	backgrounds with draw_flat_box using different detail for even/odd
	rows.

	* gtk/gtkrbtree.c, gtkrbtree.h: Keep track of the parity of each
	row, so we can draw the alternating colors thing

	* gtk/gtktexttag.c (gtk_text_tag_set_property): if we change a
	property from a synonym property, notify for the synonym.
	Also, nuke the background_gdk_set and foreground_gdk_set synonyms
	(gtk_text_tag_get_property): Always return the font, even if
	all its fields aren't set

	* gtk/gtkcellrenderertext.h (struct _GtkCellRendererText): don't
	store the attr list; it leaves us with no way to change attributes
	in _render according to the render flags, and no way to implement
	get_property. Instead store all the specific text attributes.
	Separate whether an attribute is enabled from its value. Sync all
	properties with GtkTextTag, make them all consistent, etc.

	* gtk/gtkcellrenderer.h: Add a flag GTK_CELL_RENDERER_SORTED so
	renderers can highlight the sort row/column

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_get_property): use
	accessor functions to get values; this has the side effect of
	showing up which accessor functions were missing. Added those.

	* gtk/gtktreeviewcolumn.h: Replace set_justification with
	set_alignment, to be consistent with GtkLabel, GtkMisc

	* gtk/gtktreeviewcolumn.c: Added code to display sort indicator
	arrow.

	* gtk/Makefile.am (gtk_public_h_sources): add gtktreesortable.h

	* gtk/gtktreesortable.h: updates in here
2001-02-08 23:36:53 +00:00
Havoc Pennington
5cd2993201 fix bug in here where prev pointer was set to the wrong thing
2001-01-30  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkliststore.c (gtk_list_store_insert_before): fix bug in
	here where prev pointer was set to the wrong thing

	* gtk/gtktreemodel.c (gtk_tree_path_is_ancestor): new function
	(gtk_tree_path_is_descendant): new function

	* gtk/gtkliststore.c (gtk_list_store_iter_n_children): return
	cached length
	(gtk_list_store_get_iter): don't modify iter if we can't get the
	path.

	* gtk/gtkliststore.h (struct _GtkListStore): cache the length

	* gtk/gtktreednd.h: add virtual function row_drop_possible() to
	GtkTreeDragDest

	* gtk/gtktreestore.c (copy_node_data): fix varargs type error that
	was causing segfault

	* gtk/gtktreedatalist.c (_gtk_tree_data_list_node_copy): set next
	pointer to NULL

	* gtk/gtktreestore.c (gtk_tree_store_append): fix memleak

	* gtk/gtkliststore.c (gtk_list_store_iter_next): don't modify iter
	on returning FALSE
	(gtk_list_store_iter_children): ditto
	(gtk_list_store_iter_nth_child): ditto
	(gtk_list_store_iter_nth_child): ditto
	(gtk_list_store_iter_parent): ditto

	* gtk/gtktreestore.c (gtk_tree_store_get_path): g_return_if_fail
	on iter->user_data != NULL instead of silently accepting it.
	(gtk_tree_store_iter_next): ditto. Also, don't modify iter unless
	we are returning TRUE.
	(gtk_tree_store_iter_children): ditto
	(gtk_tree_store_iter_nth_child): ditto
	(gtk_tree_store_iter_parent): ditto
	(gtk_tree_store_insert): remove handling of parent->user_data ==
	NULL, replace with parent == NULL

	* gtk/gtktreemodel.c (inserted_callback): put some fixes in here,
	and a comment explaining things

	* gtk/gtktreestore.c: add GtkTreeDragSource/GtkTreeDragDest
	interface support to GtkTreeStore.

	* gtk/gtktreemodel.c (gtk_tree_path_prev): didn't properly return
	FALSE if no prev, fix

	* gtk/gtktreeview.c (set_source_row): use a row reference
	(set_dest_row): use a row reference
2001-01-31 00:57:49 +00:00
Havoc Pennington
740ee8ef94 handle case where sibling == iter (gtk_tree_store_insert_after): handle
2001-01-10  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
	where sibling == iter
	(gtk_tree_store_insert_after): handle sibling == iter
	(gtk_tree_store_prepend): remove stamp checks
	(gtk_tree_store_insert_before): ditto
	(gtk_tree_store_append): ditto
	(gtk_tree_store_get_path): ditto
	(gtk_tree_store_get_value): ditto
	(gtk_tree_store_iter_has_child): ditto
	(gtk_tree_store_iter_n_children): ditto
	(gtk_tree_store_iter_nth_child): ditto
	(gtk_tree_store_insert_after): ditto
	(gtk_tree_store_is_ancestor): ditto
	(gtk_tree_store_iter_depth): ditto
	(gtk_tree_store_insert_before): assert that sibling's parent is
	the same as the passed-in parent
	(gtk_tree_store_insert_after): assert that sibling's parent is
	the same as the passed-in parent


	* gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience
	function to get the first iterator in a model

	* gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
	conventionally the "root" in this sense is just NULL afaict.

	* gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
	where sibling == iter
	(gtk_list_store_insert_after): handle case where sibling == iter

	* tests/testtreeview.c (run_automated_tests): fairly lame basic
	automated tests for ListStore, TreeStore

        * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
	(gtk_list_store_insert): update tail pointer, and fix it to work
	(gtk_list_store_insert_before): update tail pointer, and fix it to work
	(gtk_list_store_append): use tail to be faster
	(gtk_list_store_prepend): fix it, update tail pointer
	(gtk_list_store_insert_after): fix it, update tail pointer

	* gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for
	the list
2001-01-10 23:44:22 +00:00
Havoc Pennington
157cfa27ca hack on this some
2001-01-08  Havoc Pennington  <hp@redhat.com>

	* tests/testtreeview.c: hack on this some

	* gtk/gtktreestore.c (gtk_tree_store_setv): rename
	gtk_tree_store_set_valist, v is for arrays, valist for varargs
	list
	(gtk_tree_store_getv): rename gtk_tree_store_get_valist

	* gtk/gtkliststore.h: Add varargs set() and get() convenience
	functions
2001-01-08 18:26:05 +00:00