1. 14 May, 2002 1 commit
    • Owen Taylor's avatar
      Fix prepending at the start of the list. (#56349, Thomas Leonard.) · 390ad328
      Owen Taylor authored
      Tue May 14 18:13:10 2002  Owen Taylor  <otaylor@redhat.com>
      
              * gdk/x11/gdkdnd-x11.c (gdk_window_cache_filter): Fix
              prepending at the start of the list. (#56349,
              Thomas Leonard.)
      
              * gtk/gtksignal.h (gtk_signal_disconnect_by_func): Add
              explicit casts to GSignalMatchType for C++ compatibility.
              (#77601)
      390ad328
  2. 04 Feb, 2002 1 commit
  3. 17 Nov, 2001 1 commit
    • Owen Taylor's avatar
      Make gtkmarshal.list/gtkmarshal.h only for compatibility with GTK+-1.2; · a036c6e5
      Owen Taylor authored
      Sat Nov 17 18:26:45 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* gtk/Makefile.am gtk/gtkmarshal.list gtk/gtkmarshalers.list
      	gtk/*.c gtk/gtksignal.h: Make gtkmarshal.list/gtkmarshal.h
      	only for compatibility with GTK+-1.2; and deprecate it;
      	put all marshalers we actually use into gtkmarshalers.list
      	and use the _gtk_marshal_ prefix for these marshalers.
      a036c6e5
  4. 22 Oct, 2001 1 commit
    • Owen Taylor's avatar
      Deprecate gtk_entry_set_editable. (#58768, Vitaly Tishkov) · 0c6a8f53
      Owen Taylor authored
      Sat Oct 20 18:58:25 2001  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtkentry.h: Deprecate gtk_entry_set_editable.
              (#58768, Vitaly Tishkov)
      
              * gtk/gtkobject.h: Deprecate with abandon.
              (#61942, Vitaly Tishkov, Matthias Clasen)
      
              * gtk/gtksignal.h: Deprecate everything.
      
              * gtk/gtkmain.h (GTK_PRIORITY_INTERNAL): Deprecate
              all GTK_PRIORITY_* defines other than GKT_PRIORITY_RESIZE>
              (#61942, Matthias Clasen)
      
              * gtk/gtkstyle.h: Deprecate gtk_draw_*. (#61140,
              Havoc Pennington)
      
              * gtk/gtkitemfactory.h: Deprecate compat functions
              for GtkMenuFactory code. (#62071)
      
              * gdk/gdkdrawable.h: Deprecate gdk_draw_string,
              gdk_draw_text,gdk_draw_text_wc. (#62071)
      
              * gtk/{gtkentry.c,gtklabel.c,gtkoldeditable.c,gtktextview.c}:
              Use GDK_SELECTION_CLIPBOARD instead of GDK_NONE in calls
              to gtk_clipboard_get().
      0c6a8f53
  5. 30 Jul, 2001 1 commit
  6. 27 May, 2001 1 commit
  7. 17 Apr, 2001 1 commit
    • Owen Taylor's avatar
      Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS · eced7172
      Owen Taylor authored
      Tue Apr 17 13:47:12 2001  Owen Taylor  <otaylor@redhat.com>
      
      	* configure.in: Don't put -lgthread in GLIB_LIBS, GLIB_DEPLIBS
      
      	* gtk/gtktypeutils.h gtk/gtksignals.h: Restore proper parameter
      	names to compatibility #defines so docs work.
      
      	* gtk/gtkenums.h: Remove GtkMenuFactoryType
      
      	* gtk/gtkwindow.c gtk/gtkdnd.c: Docs cleanups.
      
      	* configure.in: Don't include -lgthread in GLIB_LIBS, GLIB_DEPLIBS
      
      	* tests/testgtkrc: No magenta cursors, please.
      
      	* README.in INSTALL.in HACKING README.cvs-commits: Updated.
      
      	* gtk/gtkenums.h (enum): Remove left over GtkMenuFactoryType.
      eced7172
  8. 07 Mar, 2001 1 commit
    • Tim Janik's avatar
      removed old emission hook API. · 7ae2326a
      Tim Janik authored
      Thu Mar  8 00:18:29 2001  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.[hc]: removed old emission hook API.
      
              * docs/Changes-2.0.txt: fixed sections.
      
              * gtk/gtktextbuffer.c: signal arg fixups.
      7ae2326a
  9. 04 Feb, 2001 1 commit
    • Tim Janik's avatar
      removed gtk_signal_init() compat define. · 89a0a894
      Tim Janik authored
      Sun Feb  4 07:55:17 2001  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.h: removed gtk_signal_init() compat define.
      
              * gtk/gtktypeutils.[hc]: gtk_tpye_init() take an additional argument
              GTypeDebugFlags debug_flags and pass it on to g_type_init ();
              deprecated this function.
      
              * gdk/gdk.c (gdk_init_check): call g_type_init () with 0 as
              argument.
      
      Sun Feb  4 07:45:45 2001  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkdebug.h: nuke GTK_DEBUG_OBJECTS and GTK_DEBUG_SIGNALS.
      
      Sun Feb  4 07:59:57 2001  Tim Janik  <timj@gtk.org>
      
              * gdk-pixbuf.h: DOH! don't include glib/gobject.h but glib-object.h,
              we finally need the gobject->gruntime rename.
      
              * *.c: scratched calls to g_type_init(), there's simply no point in
              doing that, use gtk_init().
      89a0a894
  10. 27 Oct, 2000 1 commit
  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. 30 Aug, 2000 1 commit
  13. 26 Jul, 2000 1 commit
  14. 24 Feb, 1999 2 commits
    • Tim Janik's avatar
      added function to check if a specific signal handler connection exists · 6333998d
      Tim Janik authored
      Thu Feb 24 23:58:44 1999  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.c (gtk_signal_handler_pending_by_id): added function
              to check if a specific signal handler connection exists (similar to
              gtk_signal_handler_pending_by_func). and yes, this is a neccessary
              addition, since without this function, signal handlers can not be
              (un)blocked or disconnected in a generic fashion without producing
              g_warnings().
              made gtk_signal_get_handlers() an inline function since it's used in
              a lot of places, especially within signal emission.
      6333998d
    • CST 1999 Shawn T. Amundson's avatar
      Added notice to look in AUTHORS and ChangeLog files for a list of changes. · 279e878b
      CST 1999 Shawn T. Amundson authored
      Wed Feb 24 01:22:39 CST 1999 Shawn T. Amundson <amundson@gtk.org>
      
              * *.[ch]: Added notice to look in AUTHORS and ChangeLog files
      	  for a list of changes.
      279e878b
  15. 19 Feb, 1999 1 commit
    • Tim Janik's avatar
      grouped function names into application-level, widget-level and · 03d9f983
      Tim Janik authored
      Fri Feb 19 17:52:28 1999  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.h: grouped function names into application-level,
              widget-level and non-public.
      
              * gtk/gtktreeitem.c (gtk_tree_item_size_request): use auto
              pix_requisition instead of item->pixmaps_box->requisition.
      03d9f983
  16. 20 Dec, 1998 1 commit
    • Tim Janik's avatar
      export the priority at which events are processed. · af2c3bd1
      Tim Janik authored
      Sun Dec 20 04:48:59 1998  Tim Janik  <timj@gtk.org>
      
              * gdk/gdk.h (GDK_PRIORITY_EVENTS): export the priority at which
              events are processed.
      
              * gtk/gtk[main|signal|container].[ch]: removed deprecated _interp
              variants: gtk_container_foreach_interp, gtk_idle_add_interp,
              gtk_timeout_add_interp, gtk_signal_connect_interp.
      af2c3bd1
  17. 08 Dec, 1998 1 commit
    • Tim Janik's avatar
      added gtk_type_query() which returns a newly allocated structure holding · 9806d64e
      Tim Janik authored
      Wed Dec  9 00:49:12 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtktypeutils.h:
              * gtk/gtktypeutils.c: added gtk_type_query() which returns a newly
              allocated structure holding certain type specific informations.
              fixed the big bunch of `discards const' warnings with the
              initialization of enum/flags values.
      9806d64e
  18. 07 Dec, 1998 1 commit
    • Tim Janik's avatar
      reverted marius change to expose the type systems internal type info data · 33447a38
      Tim Janik authored
      Mon Dec  7 03:08:39 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtktypeutils.h:
              * gtk/gtktypeutils.c: reverted marius change to expose the type systems
              internal type info data to the user. if such functionality is required
              we should provide wrapped accessors, ala gtk_signal_query().
      
              * gtk/gtksignal.c (gtk_signal_connect_by_type): reverted marius change,
              since it destroys the possibility to implement automatic marshaller
              lookups some day, and it also disables third party code's ability to
              connect to any signal. also the GtkTypeInfo structures are dynamically
              allocated memory portions, so only the type system is really allowed
              to access that stuff.
      
      Mon Dec  7 01:32:18 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkfilesel.c (gtk_file_selection_key_press): always intercept the
              Tab key on the entry. the focus shouldn't get lost even if completion
              is attempted from an empty entry, since an empty entry string does
              indeed have a valid completion meaning (complete all).
              (gtk_file_selection_init): cast the gchar array parameter in calls to
              gtk_clist_new_with_titles() to quit compiler warnings.
              (check_dir): the no_stat_dirs struct must not be const, since we do
              indeed modify its contents.
      
              * gtk/testgtk.c (event_watcher): adapted prototype to fit new emission
              hook semantics.
      
              * gtk/gtksignal.h:
              * gtk/gtksignal.c:
              changed emission allocation, so we don't use a doubly linked list
              but link ourselfs (singly linked).
              changed emission hooks, they get the emision parameters passed as
              well now and are emitted during the actuall signal emission (after
              the RUN_FIRST class method, but prior to RUN_FIRST handlers).
              the existing restrictions do still apply to signal emission hooks,
              i.e. an emission may not be stopped or restarted from an emission hook.
              due to possibly huge perfomance impacts, frequent use of emision hooks
              is also not recommended.
              (gtk_signal_next_and_invalidate): added an
              assertments which explicits what the code assumes anyways: a
              maximum amount of 65535 signals.
      
              * gtk/gtkcontainer.h: deprecated gtk_container_foreach_interp(),
              gtk_container_foreach_full() should be used instead.
      
              * gtk/gtkmain.h:
              deprecated gtk_timeout_add_interp and gtk_idle_add_interp, since
              we provide _full variants.
      
              * gtk/gtksignal.h: deprecated gtk_signal_connect_interp(), we provide
              gtk_signal_connect_full() for long enough now.
      33447a38
  19. 30 Nov, 1998 1 commit
    • Tim Janik's avatar
      added an event watcher for enter/leave based on signal emission hooks. · 2c0fc39e
      Tim Janik authored
      Mon Nov 30 06:20:36 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/testgtk.c: added an event watcher for enter/leave based on
              signal emission hooks.
      
              * gtk/gtkobject.c (gtk_object_class_init): made GtkObject::destroy a
              GTK_RUN_NO_HOOKS signal.
      
              * gtk/gtksignal.h:
              * gtk/gtksignal.c: implemented emission hooks, new hooks can be added
              to a signal with gtk_signal_add_emission_hook or
              gtk_signal_add_emission_hook_full, and can be removed again with
              gtk_signal_remove_emission_hook.
      
              * gtk/gtkenums.h: remove GTK_RUN_MASK, since it doesn't represent
              an appropriate mask for signal runtypes for a long time now.
              added GTK_RUN_NO_HOOKS value, which is used to flag signals
              that do not allow the running of signal hooks.
      2c0fc39e
  20. 07 Oct, 1998 1 commit
    • Tim Janik's avatar
      removed all occourances of #pragma } and #pragma { which were in place to · 3322a264
      Tim Janik authored
      Wed Oct  7 05:15:36 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtk*.h:
              * gdk/gdk.h: removed all occourances of #pragma } and #pragma {
              which were in place to fixup emacs' cc-mode indentation.
              putting (c-set-offset 'inextern-lang 0) into ~/.emacs is the
              proper way to achive this and doesn't produce problems for
              stupid pragma-related compiler bugs. ;)
      3322a264
  21. 21 Jul, 1998 1 commit
  22. 09 Jul, 1998 1 commit
    • Tim Janik's avatar
      deleted most of the argument handling code, since that is now implemented · 347efc33
      Tim Janik authored
      Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtkcontainer.h:
      	* gtk/gtkcontainer.c: deleted most of the argument handling code, since
      	that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
      	we now export a new function gtk_container_child_args_collect().
      	for consistency with the object arguments, a few functions got renamed:
      	gtk_container_child_arg_get -> gtk_container_child_get,
      	gtk_container_child_arg_set -> gtk_container_child_set,
      	gtk_container_child_arg_getv -> gtk_container_child_getv,
      	gtk_container_child_arg_setv -> gtk_container_child_setv,
      	gtk_container_add_with_argv -> gtk_container_addv.
      	note, gtk_container_add_with_args() remained, because its equivalent
      	would be gtk_container_add(,, ...) which would break all existing code.
      	(gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
      	we expect the `arg_name' argument to be a const static string now.
      	(gtk_container_get_child_arg_type): function removed.
      
      Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>
      
      	* gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
      	this is a static inline function that collects command line arguments
      	from a va_list. this file can just be included in all places that
      	need this functionality.
      
      	* gtk/gtkarg.h:
      	* gtk/gtkarg.c: new files which implement most of the argument
      	handling stuff from gtkobject.c. also collected a few more
      	gtk_arg_* utility functions from else places.
      
      	* gtk/gtkobject.h:
      	* gtk/gtkobject.c: moved most of the argument handling code into
       	gtkarg.c. we now export gtk_object_args_collect() as a non-public
      	method with a blind va_list pointer.
      	(gtk_object_add_arg_type): the `arg_name' argument is required to be a
      	const static string now.
      	(gtk_object_get_arg_type): function got removed.
      
      	* gtk/gtkwidget.c:
      	(gtk_widget_set):
      	(gtk_widget_new): adaptions for gtk_object_args_collect().
      
      	* gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
       	fundamental type name so as to have a valid prefix, e.g. "bool"->
      	"gboolean", "string"->"GtkString" and somesuch, left "void" as is,
      	though that should probably be something like GtkNone since the
      	type itself is called GTK_TYPE_NONE.
      	even the internal type names need to avoid name clashes and must live
      	in their own namespace, several code portions rely on that.
      	we should relly have typedefs such as typedef gchar* GtkString; so the
      	fundamental type names can be used for code dumpers just like with all
      	the Gtk/Gdk types.
      347efc33
  23. 19 Jun, 1998 1 commit
    • Owen Taylor's avatar
      Remove --g-fatal-warnings flag from argv. · 913831b2
      Owen Taylor authored
      Thu Jun 18 21:13:54 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkmain.c (gtk_init): Remove --g-fatal-warnings flag
      	  from argv.
      
      Thu Jun 18 20:22:28 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/genmarshal.pl: Modified to be more idiomatic Perl,
      	  to be more readable perl, to spit out stuff that looks
      	  more like readable C, and to pipe output through indent
      	  so output looks a lot like readable C. No functional
      	  changes.
      
      Thu Jun 18 17:43:31 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkpixmap.[ch] (gtk_pixmap_set): Clear the background if
      	  necessary when switching to a masked pixmap. (Based on a patch
      	  from Ullrich Hafner <hafner@informatik.uni-wuerzburg.de>)
      
      Thu Jun 18 16:18:10 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkeditable.[ch]: Added action signals for keyboard
         	  bindings. (move_cursor, kill_word, etc, etc, etc).
      
                removed the time argument from
      	  gtk_editable_cut/copy/paste_clipboard (source but not
                binary incompatible...) Instead get time from
      	  gtk_get_current_event ().
      
      	* gtk/gtktext.c gtk/gtkentry.c: Support the new editable
      	  signals.
      
      Thu Jun 18 02:52:09 1998  Owen Taylor  <otaylor@gtk.org>
      
      	Patches from Damon Chaplin <DAChaplin@email.msn.com>:
      
              gtk/gtkfontsel.h: Fixed GtkFontSelectionClass - I forgot to change
      	     parent class to GtkNotebookClass when splitting the widget in
      	     two.  Also updated some comments.
      
              gtk/gtkfontsel.c: Fixed bug when toggling 'Allow scaled bitmaps'
                     button without a font selected.
      
                   Fixed bug in set_font_name - I hadn't updated the code to
                     search for the style in the font_style clist - it was
                     still assuming the style row was equal to its index,
                     but it isn't any more.
      
                   Changed 'Reset' button on filter page to 'Clear Filter'.
                   Deleted old code relating to the old 'Filter Fonts' toggle
                   Updated some comments.
                   Cleared 'Actual Fontname' if no font is set.
      
              gtk/testgtk.c: Fixed problem when 'OK' button is pressed - it was
      	     destroying the GtkFontSelection instead of the
                   GtkFontSelectionDialog.
      
      Thu Jun 18 02:15:31 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkmain.c (gtk_init): Added --g-fatal-warnings
      	  flag to make all warnings fatal errors.
      
      	* gtk/testthreads.c: moved <pthreads.h> include inside
      	  #ifdef USE_PTHREADS
      
      Thu Jun 18 01:37:31 1998  Owen Taylor  <otaylor@gtk.org>
      
      	* gtk/gtkenums.h gtk/gtkcontainer.[ch] gtk/gtkwidget.c
      	  gtk/gtkmenu.c gtk/gtkviewport.c gtk/gtkwindow.c:
      
      	- Added new function gtk_container_set_resize_mode() for
      	  fine-grained control of where resize-queueing is done.
      
      	- Removed GtkContainer::need_resize and GtkWindow::move_resize
      	- Added GtkContainer::check_resize to replace need_resize.
      
      	- Added function gtk_container_check_resize() to trigger
      	  queued resizes, and gtk_container_resize_children() to
      	  Figure which children need to be size-allocated. (logic
      	  moved from gtkwindow.c)
      
      	- Reorganized code in gtkwindow.c
      
      	- Set the resize-mode for viewports so that resizes within
      	  a viewport don't propagate out of it.
      913831b2
  24. 18 Jun, 1998 1 commit
    • Tim Janik's avatar
      yeppers, accelerator changes to fix the gimp. commit message dedicated to · f83d57e9
      Tim Janik authored
      
      yeppers, accelerator changes to fix the gimp.
      commit message dedicated to sopwith ;)
      
      Thu Jun 18 03:30:06 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkaccellabel.h:
              * gtk/gtkaccellabel.c: new function gtk_accel_label_accelerator_width to
              request the size of the accelerator portion of an accel label.
              (gtk_accel_label_size_request): don't request for the accelerators size.
              (gtk_accel_label_expose_event): only draw the accelerator if we got
              enough extra space.
      
              * gtk/gtkmenuitem.c (gtk_menu_item_size_request): request accelerator
              width from children.
      
              * gtk/gtkmenu.c (gtk_menu_key_press): when adding an accelerator to an
              object (after removal has been requested) check if there is still an
              accelerator remaining to avoid adding two accelerators on an object.
              this can happen for locked accelerators (or accelerator-frozen widgets).
              (gtk_menu_size_request): feature childrens accelerator width in size
              requests.
      
              * gtk/gtknotebook.c (gtk_notebook_menu_item_create): use
              gtk_widget_freeze_accelerators() for dynamically created menu items.
      
              * gtk/gtksignal.h:
              * gtk/gtksignal.c: new function gtk_signal_handler_pending_by_func()
              which will return a handler_id > 0 if the specified function is pending
              for `signal_id'.
      
              * gtk/gtkwidget.h:
              * gtk/gtkwidget.c: remove gtk_widget_stop_accelerator, which was just
              a signal handler function to stop accelerator addition.
              added gtk_widget_freeze_accelerators and gtk_widget_thaw_accelerators
              which will prevent (undo) any accelerators from being added to or
              removed from a widget.
      f83d57e9
  25. 09 Jun, 1998 1 commit
    • Tim Janik's avatar
      new functions gtk_selection_data_copy and gtk_selection_data_free. · a21d063e
      Tim Janik authored
      Tue Jun  9 01:57:23 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkselection.h:
              * gtk/gtkselection.c: new functions gtk_selection_data_copy and
              gtk_selection_data_free.
      
              * gtk/gtkwidget.c (gtk_widget_class_init): fixed gtk_signal_new() call
              for "selection_received", which was completely bogus.
              * other fixups to gtk_signal_new() calls all over the place.
      
              * gtk/gtktypebuiltins.h: types as variables (formerly macros).
              * gtk/gtktypebuiltins_vars.c: type variable implementations.
              * gtk/gtktypebuiltins_ids.c: array entries for builtin type
              declarations.
              * gtk/gtktypebuiltins_evals.c: enum value arrays.
              * gtk/gtk-boxed.defs: gtk and gdk structure definitions, used to build
              gtk.defs.
              * gtk/gtk.defs: generated file with scheme syntax for type definitions
              of gtk and gdk structures and enums.
              * gtk/gtktypeutils.h:
              * gtk/gtktypeutils.c: reworked type ids, so they are variables not
              macros anymore (this fixes binary incompatibility with new enum
              definitions).
      
              * gtk/gtkwidget.c (gtk_widget_real_key_press_event): proccess possible
              key bindings for this widget.
              * gtk/gtkwindow.c (gtk_window_key_press_event): chain parent class'
              handler.
      
              * gtk/gtkobject.h:
              * gtk/gtkobject.c: removed gtk_object_class_new_user_signal_no_recurse()
              again. new functions gtk_object_class_user_signal_new () and
              gtk_object_class_user_signal_newv (), to feature the GtkSignalRunType
              flag on the signal creation.
      Mon Jun  8 20:52:21 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkcontainer.h: new signal GtkContainer::set_focus_child.
      a21d063e
  26. 09 May, 1998 1 commit
    • Tim Janik's avatar
      new file used as template for new file to define macros indicating newly · 9775962a
      Tim Janik authored
      Sat May  9 02:34:41 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkfeatures.h.in: new file used as template for
              * gtk/gtkfeatures.h: new file to define macros indicating newly
              introduced features, such as GTK_HAVE_SIGNAL_INIT.
      
              * gtk/gtksignal.c:
              (gtk_signal_emitv_by_name):
              (gtk_signal_emitv):
              new functions to emit signals with an already provided parameter set.
              (provided by Kenneth Albanowski <kjahds@kjahds.com>).
              (gtk_signal_real_emit): prototype changes, so this functions always
              gets its parameters and signal structure as arguments.
              (gtk_signal_emit): provide the signal structure and parameter list for
              gtk_signal_real_emit.
              (gtk_signal_emit_by_name): likewise.
      9775962a
  27. 06 May, 1998 1 commit
    • Tim Janik's avatar
      reimplemented the signal storage system to use a linear array rather than · 518a8a9c
      Tim Janik authored
      Wed May  6 02:16:34 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.c: reimplemented the signal storage system to use a
              linear array rather than a hash table.
              be carefull *not* to keep any GtkSignal pointers across invokations
              of gtk_signal_next_and_invalidate() and therefore gtk_signal_new[v]().
              general code cleanups, made all allocations through memchunks.
              (gtk_signal_lookup): we now do the lookup of signals through a key_id
              for the signal names to avoid multiple hashing of the signal name on
              lookups for the several hirarchy levels of an object.
      
      Tue May  5 15:33:27 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkmain.c (gtk_init): added gtk_signal_init() to avoid repeatedly
              checking for signal initialization in gtksignal.c.
      
              * gtk/gtktypeutils.c (TYPE_NODES_BLOCK_SIZE): reseted this to 200 after
              a long debugging period ;)
      
      Mon May  4 00:30:11 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtktypeutils.h (GTK_TYPE_IS_A): new macro to speedup
              gtk_type_is_a().
              * gtk/gtktypeutils.c: reimplemented the type storage system to use a
              linear array rather than a hash table. it actually speeded up testgtk
              for a *considerable* amount. be carefull *not* to keep any GtkTypeNode
              pointers across invokations of gtk_type_node_next_and_invalidate() and
              therefore gtk_type_unique()!
      
              * gtk/gtkobject.h (GTK_IS_OBJECT_CLASS): new macro to test for the
              inheritance of a class pointer.
              (GTK_OBJECT): modifications for speedups.
              (GTK_IS_OBJECT): likewise.
              (GTK_OBJECT_CLASS): likewise.
              (suggested by owen).
      
              * gtk/gtkcontainer.h (GTK_IS_CONTAINER_CLASS): new macro.
      
              * gtk/gtkwidget.h (GTK_IS_WIDGET_CLASS): new macro.
      
              * gtk/gtk.defs (GtkTooltips): define GtkTooltips as object not as boxed,
              since its derivation changed 4 month ago ;(. showed up with the unique
              type name checking code in gtk_type_unique().
      
              * random guint->GtkType and macro fixups.
      518a8a9c
  28. 03 May, 1998 1 commit
    • Tim Janik's avatar
      new function to set the adjustments value without causing a current · 5c9af6b5
      Tim Janik authored
      Sun May  3 19:45:09 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtkadjustment.c (gtk_adjustment_assimilate_value): new function
                      to set the adjustments value without causing a current emission of
                              "value_changed" to be restarted.
      
                                      * gtk/gtksignal.c: added new functions to retrive the number of
                                              existing emissions for a certain signal.
                                                      (gtk_signal_n_emissions): new function.
                                                              (gtk_signal_n_emissions_by_name): new function.
      5c9af6b5
  29. 02 May, 1998 1 commit
    • Tim Janik's avatar
      added new functions to operate on intermediate function pointers. · 2ca03393
      Tim Janik authored
      Sat May  2 22:33:45 1998  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.c: added new functions to operate on intermediate
                      function pointers. implemented incremental blocking.
                              (gtk_signal_disconnect_by_func): new function.
                                      (gtk_signal_handler_block_by_func): new function.
                                              (gtk_signal_handler_unblock_by_func): new function
      2ca03393
  30. 13 Apr, 1998 1 commit
  31. 09 Mar, 1998 1 commit
    • Tim Janik's avatar
      made the <widget>_signals[] arrays of type guint rather than gint. made · d1871831
      Tim Janik authored
      Mon Mar  9 15:48:10 1998  Tim Janik  <timj@gimp.org>
      
              * Signal signedness and naming corrections, plus GtkType fixes:
      
              * gtk/gtkadjustment.c:
              * gtk/gtkbutton.c:
              * gtk/gtkcheckmenuitem.c:
              * gtk/gtkclist.c:
              * gtk/gtkcolorsel.c:
              * gtk/gtkcontainer.c:
              * gtk/gtkcurve.c:
              * gtk/gtkdata.c:
              * gtk/gtkeditable.c:
              * gtk/gtkentry.c:
              * gtk/gtkhandlebox.c:
              * gtk/gtkinputdialog.c:
              * gtk/gtkitem.c:
              * gtk/gtklist.c:
              * gtk/gtkmenuitem.c:
              * gtk/gtkmenushell.c:
              * gtk/gtknotebook.c:
              * gtk/gtkstatusbar.c:
              * gtk/gtktoolbar.c:
              * gtk/gtktree.c:
              * gtk/gtktreeitem.c:
              * gtk/gtkwidget.c:
              * gtk/gtktogglebutton.c:
              * gtk/gtkwindow.c:
              made the <widget>_signals[] arrays of type guint rather than gint.
              * gtk/gtkwidget.c (gtk_widget_get_ancestor): made widget_type a GtkType.
      
              * gtk/gtkcombo.h:
              handler ids need to be of type guint (entry_change_id, list_change_id).
      
              * gtk/gtkaccelerator.c:
              changed signal_num to signal_id and typed it guint.
      
              * gtk/gtkmain.c: made gtk_ndebug_keys a guint.
      
              * gtk/gtkmenu.h:
              * gtk/gtkmenu.c:
              (gtk_menu_popup): made button a guint.
              (gtk_menu_set_active): made index a guint.
      
              * gtk/gtkmenuitem.h:
              * gtk/gtkmenuitem.c:
              made accelerator_signal a guint.
      
              * gtk/gtkoptionmenu.h:
              * gtk/gtkoptionmenu.c:
              (gtk_option_menu_set_history): made index a guint.
      
              * gtk/gtksignal.h:
              * gtk/gtksignal.c:
              * gtk/gtkobject.h:
              * gtk/gtkobject.c: changed a bunch of prototypes to take guints rather
              than gints. also made some conversions from guint to GtkType, left over
              from when the fundamental-types system was introduced.
      
              * gtk/gtkobject.h:
              * gtk/gtkobject.c: made object_data_id_index and obj_count guints.
              made *signals and nsignals guints in GtkObjectClass.
      d1871831
  32. 13 Feb, 1998 1 commit
    • Owen Taylor's avatar
      gtk/gtksignal.[ch] gtk/gtkmain.[ch] gtk/gtkcontainer.[ch] · 888470ee
      Owen Taylor authored
      Thu Feb 12 23:59:49 1998  Owen Taylor  <owt1@cornell.edu>
      
      	* gtk/gtksignal.[ch] gtk/gtkmain.[ch] gtk/gtkcontainer.[ch]
      	  gtk/gtkselection.[ch] gdk/gdk.[ch] gtktypeutils.h
      
       	  Replaced all _interp functions with _full functions.
      	  (_interp functions left in for compatibility until 0.99.5).
      	  Difference: _full functions take _both_ a C-language callback and a
      	  marshaller, and simply ignore the C-language callback
      	  if the marshaller is present. This allows the destroy notification
      	  to be used without marshalling.
      
      	  gtk_selection_add_handler[_full]() regularized to agree
      	  with other callbacks.
      
      	  Also, added gtk_input_add_full() to the header file.
      	  (gtk_input_add_interp() was never there)
      
      	* gtk/gtkmain.[ch] gtk/gtkwidget.c: Idle functions are now prioritized.
      	  Added new function gtk_idle_add_priority to create
      	  an idle with a specified priority (default is zero)
      	  constants #defined - GTK_PRIORITY_[HIGH/INTERNAL/DEFAULT/LOW]
      	  (redraws, resizes run at GTK_PRIORITY_INTERNAL)
      
      	* gtk/gtkentry.c gtk/testselection.c: changes to keep up with change
        	  to gtkselection.c.
      888470ee
  33. 10 Feb, 1998 2 commits
    • Tim Janik's avatar
      new function gtk_signal_handler_pending() returning the id of the next · 2090cc65
      Tim Janik authored
      Wed Feb 11 00:18:31 1998  Tim Janik  <timj@gimp.org>
      
              * gtk/gtksignal.h:
              * gtk/gtksignal.c: new function gtk_signal_handler_pending() returning
                the id of the next handler pending for that signal or 0.
                put struct GtkHandler back into gtksignal.c along with
                gtk_signal_get_handlers.
      2090cc65
    • Tim Janik's avatar
      ok, there have been several severe bugs in the signal handler referencing · 6898536a
      Tim Janik authored
      Tue Feb 10 07:12:07 1998  Tim Janik  <timj@gimp.org>
      
              * gtk/gtksignal.h:
              * gtk/gtksignal.c:
              ok, there have been several severe bugs in the signal handler
              referencing and ->next connection stuff. these bugs caused
              invokations of handlers that are disconnected and - worse -
              destroyed already. invokation of *destroyd* handlers mean:
              anything can be executed , because the handler structure can just
              as well be realocated.
              at the cost of an extra ->prev field per handler we should have a
              reasonable stable system now, because of the various places that
              can cause a handler to be disconnected (*any* handler invokation can
              cause *any* or *all* handlers to be disconnected, there is no way
              around a doubly linked list, actually handler disconnection has never
              worked correctly because of this.
              handlers are connected together via a *doubly* linked list now, and it
              is *not* valid to remove a handler out of this list untill all its
              references have been droped, i.e. handler->ref_count==0.
              to prevent emissions of disconnected but still referenced handlers,
              disconnected handlers are simply marked as blocked and get an id of 0
              which is an invalid signal handler id.
              the handler->id has been changed to have 28 significant bits (using
              alignment gaps), since 65536 (old range: guint16) signal connections
              (as a total) can easily be reached by complex applications.
              this whole handler thingy is at least as tedious as writing doubly
              linked list implementations ;)
      6898536a
  34. 09 Feb, 1998 1 commit
  35. 03 Feb, 1998 1 commit
    • Tim Janik's avatar
      for the emission of AFTER signals, fetch the objects signals via · 64ca527e
      Tim Janik authored
      Tue Feb  3 15:09:55 1998  Tim Janik  <timj@gimp.org>
      
              * gtk/gtksignal.c (gtk_signal_real_emit): for the emission
                of AFTER signals, fetch the objects signals via
                gtk_signal_get_handlers again. some handlers might have
                been removed or added. not doing this would mess up the
                memchunk allocation of signal handlers (this had been
                triggered by multiple *_while_alive connections), bad, bad, bad!
                (gtk_handlers_run): do the referencing on signal handlers
                unconditionally, the invokation of AFTER handlers will now take
                care of modified lists.
      
              * gtk/gtksignal.h: added gtk_signal_connect_while_alive.
      64ca527e
  36. 02 Feb, 1998 1 commit
    • Tim Janik's avatar
      GTK_RESIZE_NEEDED is a private flag now. · eef38289
      Tim Janik authored
      Mon Feb  2 04:15:08 1998  Tim Janik  <timj@gimp.org>
      
              * gtk/gtkcontainer.h:
              * gtk/gtkcontainer.c: GTK_RESIZE_NEEDED is a private flag now.
                (gtk_container_register_toplevel): new function.
                (gtk_container_unregister_toplevel): new function.
      
              * gtk/gtkmain.c: GTK_LEAVE_PENDING is a private flag now.
      
              * gtk/gtkmenu.c: call gtk_container_register_toplevel in
                gtk_menu_class_init instead of this dirty gtk_widget_set_parent(,NULL)
                hack. new default handler gtk_menu_destroy for calling
                gtk_container_unregister_toplevel. removed GTK_ANCHORED, GTK_UNMAPPED.
      
              * gtk/gtkobject.h: macro cleanups, added GTK_DESTROYED flag.
      
              * gtk/gtkobject.c: only emit DESTROY signal if !GTK_OBJECT_DESTROYED
                (object).
      
              * gtk/gtkprivate.h: new file that will not be automatically included.
                it holds the private flags for GtkWidget along with it's SET/UNSET
                and examination macros.
      
              * gtk/gtkwidget.c: private flags: GTK_RESIZE_NEEDED, GTK_REDRAW_PENDING,
                GTK_RESIZE_PENDING, GTK_IN_REPARENT, GTK_USER_STYLE. GTK_ANCHORED is
                replaced by GTK_TOPLEVEL. added missing UNSET for GTK_IN_REPARENT.
                removed the gtk_widget_set_parent(, NULL) hack for toplevels.
                upon destroy free memory for widgets with GTK_WIDGET_HAS_SHAPE_MASK.
      
              * gtk/gtkwidget.h: split up the widget flags into a public and a private
                portion. added an extra field private_flags to GtkWidget without making
                it bigger by using an alignment gap of 16 bit. macro cleanups.
      
              * gtk/gtkwindow.c: removed GTK_ANCHORED. new function gtk_window_destroy
                for calling gtk_container_unregister_toplevel. removed the
                gtk_widget_set_parent(,NULL), call gtk_container_register_toplevel
                instead. remove GTK_UNMAPPED. GTK_RESIZE_NEEDED is private now.
      
              * gtk/gtksignal.c (gtk_signal_disconnect): removed a bug on
                removal that cut off the handler list -> living_objects == 0
                with testgtk. made some warnings more descriptive.
                new function gtk_signal_connect_object_while_alive, which
                will automatically destroy the connection once one of the objects
                is destroyed. didn't include this before removal of the above
                mentioned bug.
      
      * reflected refcounting revolution in ChangeLog
      eef38289
  37. 30 Jan, 1998 1 commit
  38. 29 Jan, 1998 1 commit