1. 10 Jan, 2001 1 commit
    • Havoc Pennington's avatar
      handle case where sibling == iter (gtk_tree_store_insert_after): handle · 740ee8ef
      Havoc Pennington authored
      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
      740ee8ef
  2. 09 Jan, 2001 1 commit
    • Havoc Pennington's avatar
      handle case where there are no rows in the model · 637c61da
      Havoc Pennington authored
      2001-01-09  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
      	there are no rows in the model
      
      	* gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
      	NULL, then return the start of the list
      
      	* gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
      	if we can't get any rows from an empty model
      
      	* gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
      	extraneous * after function pointer typedef usage
      
      	* Makefile.am: don't specify full path to cp and rm
      
      	* gtk/gtkcellrenderertextpixbuf.c
      	(gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
      	NULL before dereferencing, fixes a segfault that happened from
      	time to time
      
      	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
      	use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
      	and reindent the function
      	(gtk_cell_renderer_pixbuf_get_size): indentation
      
      	* gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
      	we quit it
      	(gtk_dialog_add_buttons_valist): add g_return_if_fail
      	(gtk_dialog_set_default_response): New function, to set default
      	button
      	(gtk_dialog_set_response_sensitive): New function, to set
      	sensitivity of buttons
      
      	* gtk/gtkcellrendererpixbuf.c
      	(gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
      	(gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf
      
      	* gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
      	handle any G_TYPE_OBJECT subclass, not just the base class, and
      	also boxed types.
      	(_gtk_tree_data_list_value_to_node): ditto
      
      	* gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if
      	--gtk-debug=tree
      
      	* gtk/gtkmain.c: add GTK_DEBUG_TREE
      
      	* gtk/gtkdebug.h: add GTK_DEBUG_TREE
      637c61da
  3. 08 Jan, 2001 1 commit
    • Havoc Pennington's avatar
      hack on this some · 157cfa27
      Havoc Pennington authored
      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
      157cfa27
  4. 04 Jan, 2001 1 commit
    • Havoc Pennington's avatar
      add this · ae89b1e1
      Havoc Pennington authored
      2001-01-04  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtktreeselection.c (gtk_tree_selection_get_tree_view): add
      	this
      
      	* gtk/gtktreemodel.h (struct _GtkTreeIter): rename fields to
      	user_data instead of tree_node
      
      	* gtk/gtktreeprivate.h (TREE_VIEW_COLUMN_WIDTH): rename from
      	TREE_VIEW_COLUMN_SIZE
      
      	* gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): rename
      	"size" field to "width" finishes bug 40061
      
      	* gtk/gtkcellrenderer.h: Use GtkCellRendererState instead of guint
      	for bitfields, bug 40268
      ae89b1e1
  5. 13 Dec, 2000 1 commit
    • Tim Janik's avatar
      doh, this was broken beyond believe. · 2c9eb3a5
      Tim Janik authored
      Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
      
      	* gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
      
      	* gtk/gtkbox.c: change property types from (u)long to (u)int for
      	::position and ::padding.
      
      	* gtk/gtkcontainer.c: make ::border_width an INT property.
      
      	* gtk/gtkpacker.c: make ::position an INT property.
      
      	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
      	guard against NULL h/v scrollbars, since this is used at construction
      	time.
      
      	* gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
      	internal gtk_clist_constructor().
      
      	* gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
      	gtk_ctree_constructor().
      
      	* gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
      	::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
      
      	* docs/reference/Makefile.am: fun stuff, disabled docs generation
      	again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
      
      	* gtk/gtkwidget.[hc]:
      	removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
      	and gtk_widget_get().
      	(gtk_widget_new): use g_object_new_valist().
      	(gtk_widget_set): use g_object_set_valist().
      
      	* gtk/gtkobject.[hc]:
      	removed gtk_object_arg_get_info(), gtk_object_getv(),
      	gtk_object_query_args(), gtk_object_newv(),
      	gtk_object_class_add_signals(),
      	gtk_object_class_user_signal_new(),
      	gtk_object_class_user_signal_newv(),
      	gtk_object_arg_set(), gtk_object_arg_get(),
      	gtk_object_args_collect(),
      	gtk_object_default_construct(),
      	gtk_object_constructed(),
      	GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
      	removed nsignals, signals and n_args members from GtkObjectClass.
      	(gtk_object_new): use g_object_new_valist().
      	(gtk_object_set): use g_object_set_valist().
      	(gtk_object_get): use g_object_get_valist().
      
      	* gtk/gtkcompat.h: define gtk_object_default_construct().
      
      	* gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
      	g_object_new().
      
      	* gtk/*.c: removed gtk_object_class_add_signals() from class_init()
      	fucntions, cleaned up method assignments (make sure your structures
      	are setup properly before calling out). removed all GTK_CONSTRUCTED
      	hacks ;)
      2c9eb3a5
  6. 18 Nov, 2000 1 commit
    • Jonathan Blandford's avatar
      Changed to have the list become non-italic when the demo window is · c9e39436
      Jonathan Blandford authored
      Sat Nov 18 18:00:17 2000  Jonathan Blandford  <jrb@redhat.com>
      
      	* demos/gtk-demo/main.c: Changed to have the list become
      	non-italic when the demo window is destroyed through an external
      	event (like a close button).  Doing so found three bugs in the
      	widget.
      
      	* demos/gtk-demo/*.c (do_*): Changed to return the toplevel window.
      
      	* gtk/gtkliststore.c (gtk_list_store_set_cell): emit "change" when
      	we actually set the cell.
      
      	* gtk/gtktreestore.c (gtk_tree_store_set_cell): ditto
      
      	* gtk/gtktreeselection.c (gtk_tree_selection_real_select_node):
      	free a leaked path.  Thanks memprof.
      c9e39436
  7. 10 Nov, 2000 1 commit
    • Jonathan Blandford's avatar
      use the new BOXED marshallers. · f8faec45
      Jonathan Blandford authored
      Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>
      
      	* gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
      	BOXED marshallers.
      
      	* gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
      	(gtk_list_store_class_init): use the new BOXED marshallers.
      
      	* gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
      	new_with_values to new_with_types.
      	(gtk_tree_store_get_column_type): add this.
      	(gtk_tree_store_class_init): use the new BOXED marshallers.
      
      	* gtk/gtkmarshal.list: Added a number of BOXED marshallers to
      	mirror some POINTER marshallers.
      f8faec45
  8. 09 Nov, 2000 1 commit
    • Jonathan Blandford's avatar
      added more fields to allow more interesting iterators. Also, made the · c97d57eb
      Jonathan Blandford authored
      Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>
      
      	* gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
      	allow more interesting iterators.  Also, made the lifecycle of
      	iterators more explicit.
      
      	* gtk/gtktreemodelsort.[ch]: New model for sorting.
      
      	* gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
      	types.
      c97d57eb
  9. 27 Oct, 2000 1 commit
  10. 26 Oct, 2000 1 commit
    • Jonathan Blandford's avatar
      Got rid of GtkTreeNode, and changed it to GtkTreeIter. Added iterators · ef7b510f
      Jonathan Blandford authored
      Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>
      
      	* gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
      	GtkTreeIter.  Added iterators everywhere.
      
      	* gtk/gtktreeviewcolumn.c: Changed to use the iterators.
      
      	* gtk/gtktreeviewselection.c: Changed to use the iterators.
      
      	* gtk/gtktreestore.c: Changed to use the iterators.
      
      	* gtk/gtkliststore.c: Commented out the code.  Will convert to
      	iterators tomorrow.
      
      	* gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
      	iterators tomorrow.
      
      	* gtk/treestoretest.c: Changed to use iterators.
      
      	* demos/testgtk/main.c: Moved to use the new iterator system.
      ef7b510f
  11. 25 Oct, 2000 1 commit
    • Tim Janik's avatar
      urg, removed implementation of gtk_marshal_VOID__INT_INT_INT_INT. if · d69496c0
      Tim Janik authored
      Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
      
              * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
              implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
              couldn't they at least give it a non-standard name?
      
              * gtk/gtktextlayout.c: arg! yet another implementation of
              gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
      
              * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
              gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
              home. now i know this _is_ a conspiracy.
      
              * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
              ::state-changed.
      
              * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove):
              (gtk_accel_group_create_add): marshaller signature fixups.
      
              * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
              pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
      
              * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
              anymore.
      
      Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
      
              * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
              due to the signal system changes, it wouldn't build currently. to
              be fixed soon.
      
              * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
      
              * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
              so it needs gtk_marshal_VOID__ENUM() instead of
              gtk_marshal_NONE__UINT().
      
              * gdk/gdk*.c: adapted type registration functions.
      
              * gtk/gtkbindings.c:
              * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
              gone.
      
              * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
      
              * gtk/gtkobject.c:
              (gtk_object_destroy):
              (gtk_object_shutdown): fixed recursion guards. basically we have to
              catch the case where any of GObject.shutdown() or gtk_object_destroy()
              is called during ::destroy, and avoid recursion there.
      
              * gtk/gtktypeutils.c:
              * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
              boxed_copy/boxed_free. this needs a more general solution based on a
              publically installed code-generator utility.
      
              * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
              glib's gobject has support for that now.
              define GtkSignalMarshaller in terms of GSignalCMarshaller.
      
      
      Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.[hc]:
              * gtk/gtkmarshal.[hc]:
              * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
              compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
              removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
              care of that.
      
              * *.c: marshaller name fixups.
      
              * gtk/gtkmarshal.list: added a comment briefing the format.
      
      Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
              compatibility macros here now. more specifically, most of
              the API is preserved (yes, _most_, nonwithstanding the
              following exceptions listed, the API is stil lHUGE ;)
              things that got removed completely:
              GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
              gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
              gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
              gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
              gtk_signal_remove_emission_hook().
              non-functional functions variants:
              gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
              the GtkCallbackMarshal argument to gtk_signal_connect_full() is
              not supported anymore.
              (gtk_signal_compat_matched): new internal function to aid
              implementation of the compatibility macros, it  provides
              functionality to block/unblock/disconnect handlers based
              on func/data.
      
              * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
      
              * *.c: adaptions to new type registration API signatures.
      
      
      Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
      
              * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
      d69496c0
  12. 16 Oct, 2000 1 commit
  13. 15 Oct, 2000 1 commit
    • 5's avatar
      Fix GtkTreeNode *node ->GtkTreeNode node issue. · e6b9f291
      5 authored
      2000-10-15    <jrb@redhat.com>
      
      	* gtk/gtktreeview.c, gtk/gtktreeview.h, gtk/gtktreestore.h,
      	gtk/gtktreestore.c, gtk/gtkliststore.h, gtk/gtkliststore.c,
      	gtk/gtkmodelsimple.c, gtk/gtkmodelsimple.h, gtk/gtktreedatalist.c,
      	gtk/gtktreemodel.h, gtk/gtktreeselection.c,
      	gtk/gtktreeselection.h: Fix GtkTreeNode *node ->GtkTreeNode node
      	issue.
      e6b9f291
  14. 05 Oct, 2000 1 commit