Commit Graph

220 Commits

Author SHA1 Message Date
Owen Taylor
84335371b1 Count idle handlers at internal priority as pending events.
Sun Feb 22 14:28:43 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmain.c (gtk_events_pending): Count idle handlers
	at internal priority as pending events.
1998-02-22 19:26:46 +00:00
Tim Janik
9a0687a673 don't perform gdk operations on size allocation
if the notebook isn't realized.
yosh: this fixes the iwarp problem.
-timj
1998-02-22 12:16:01 +00:00
Tim Janik
06d19fb68d renamed signal GtkWidget::set_parent to GtkWidget::parent_set. since it's
Sat Feb 21 15:33:20 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkwidget.h:
        * gtk/gtkwidget.c: renamed signal GtkWidget::set_parent to
        GtkWidget::parent_set. since it's purpose is pure notification,
        it should have been named this way in the first place.
1998-02-22 02:18:29 +00:00
scott
75a8405430 Added a NULL test in gtk_entry_set_text. (Fielded a report on #gimp
that a NULL argument caused a core dump.)
--sg
1998-02-21 17:12:15 +00:00
Tim Janik
800afc55d7 gtk_object_query_args takes an additional pointer now which if supplied
Sat Feb 21 14:49:17 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkobject.h:
        * gtk/gtkobject.c: gtk_object_query_args takes an additional pointer
        now which if supplied will point to an array holding the sequential
        argument ids.

        * gtk/gtktree.c: fix emission of selection_changed signal, supplied
        by Bolliet Jerome.

        * gtk/gtktreeitem.c: inline the plus and minus pixmaps, supplied by
        Bolliet Jerome.

        * gtk/gtknotebook.c: do a resize when a page is removed and don't
        refer to the removed page on the switch signal, supplied by Lars Hamann
        and Stefan Jeske.

        * gtk/gtktoolbar.h:
        * gtk/gtktoolbar.c:
        gtk_toolbar_append_item, gtk_toolbar_prepend_item,
        gtk_toolbar_insert_item, gtk_toolbar_append_widget,
        gtk_toolbar_prepend_widget, gtk_toolbar_insert_widget: take an additional
        gchar *tooltip_private_text as argument to fully support the underlying
        call to gtk_tooltip_set_tip.


(made the ChangeLog catch up with my last commits).
1998-02-21 14:11:40 +00:00
Tim Janik
a8d6f14c2d added the sequential argument number to gtk_object_query_args.
-timj
1998-02-21 13:33:20 +00:00
Tim Janik
f97dd05d5a removed #define gtk_tooltips_set_tips
-timj
1998-02-21 04:47:35 +00:00
Tim Janik
782dcc834b api changes to GtkToolBar to support the private tooltips text also.
-guess who ;)
1998-02-21 04:46:21 +00:00
Tim Janik
53a595f448 New widget GtkTipsQuery for letting the user query tooltips of widgets.
Fri Feb 20 06:40:00 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtktipsquery.h:
        * gtk/gtktipsquery.c:
        New widget GtkTipsQuery for letting the user query tooltips of widgets.

        * gtk/testgtk.c: add example for GtkTipsQuery.

        * gtk/gtk.h: include gtk/gtktipsquery.h.

        * gtk/gtklabel.c: enable default constructing.
1998-02-20 05:46:48 +00:00
Jay Painter
005f39e02e moved widget creation to gtk_clist_construct for the gtk-- folks. 1998-02-20 05:29:03 +00:00
Federico Mena Quintero
6ff27c34f1 Added M-p and M-n key equivalents for up and down keys. Just for us Emacs
1998-02-19  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkcombo.c (gtk_combo_entry_key_press): Added M-p and M-n
	key equivalents for up and down keys.  Just for us Emacs weenies :-)
1998-02-19 20:22:51 +00:00
Owen Taylor
22a9a454af Use POINTER_MOTION_HINT when dragging shapes around. (gtk-wille-980203-0
Thu Feb 19 12:18:24 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/testgtk.c : Use POINTER_MOTION_HINT when dragging
	shapes around.
	(gtk-wille-980203-0
	 Stefan Wille  <1wille@vsys1.informatik.uni-hamburg.de>)

	* gtk/gtktext.c : Fixes to inserting and deleting characters
	on line breaks.
	(gtk-magnus-980210-0 Magnus Hulthen <magnus@axiom.se>)
1998-02-19 18:06:29 +00:00
Owen Taylor
62dba86c81 the value of ---enable_debug is written into glibconfig.h so everything is
Thu Feb 19 12:18:24 1998  Owen Taylor  <owt1@cornell.edu>

	* glib/configure.in glib/glibconfig.h.in: the value of
	---enable_debug is written into glibconfig.h so everything
	is recompiled when it changes. (HACK)

	* gtk/gtkmain.c gdk/gdk.c docs/debugging.txt:
	Added --gdk-no-debug and --gtk-no-debug switches. Effect
	of switches is no cumulative.
1998-02-19 18:02:03 +00:00
Tim Janik
10474e6a73 more debugging fixes.
hey yosh, you beated me at gdk.c ;)
-timj
1998-02-19 08:14:03 +00:00
Tim Janik
0ef453b82c present the argument access masks on their announcement.
Thu Feb 19 06:56:52 1998  Tim Janik  <timj@gimp.org>

        * gtkbox.c:
        * gtkbutton.c:
        * gtkcontainer.c:
        * gtkframe.c:
        * gtklabel.c:
        * gtkobject.c:
        * gtkwidget.c:
        * gtkwindow.c:
        present the argument access masks on their announcement.

        * gtk/gtkobject.h:
        * gtk/gtkobject.c:
        (gtk_object_add_arg_type): take an additional argument describing
        the access mask of the new arg. this can be of GTK_ARG_READABLE,
        GTK_ARG_WRITABLE or GTK_ARG_READWRITE (the latter is an alias for
        the two previous ones).
        (gtk_object_query_args): provide an access_mask array if desired.

        * gtk/gtkwidget.c (gtk_widget_real_realize):
        realized the assumtion that widget is a NO_WINDOW widget
        in actuall code.

        * gtkwindow.c:
        slight changes to gtk_window_configure_event that will make
        the resizing behaviour a little less odd.
        sigh, for some (buggy) reason, there are still container resizes
        triggered by manual resizing to very small window sizes.
        the cointainer resizes will cause gtk_real_window_move_resize to
        be invoked, which makes the app look like it wants to fight the users
        resizing action. ;(
1998-02-19 07:18:42 +00:00
Owen Taylor
a4b322cccc missed one. 1998-02-19 06:21:49 +00:00
Owen Taylor
fc7e845c8f configure.in gdk/gdk.[ch] gdk/gdkcc.c gdk/gdkglobals.c
Thu Feb 19 01:11:48 1998  Owen Taylor  <owt1@cornell.edu>

	* configure.in         gdk/gdk.[ch]         gdk/gdkcc.c
	  gdk/gdkglobals.c     gdk/gdkinputcommon.h gdk/gdkprivate.h
	  gdk/gdkvisual.c      glib/configure.in    glib/glib.h
	  glib/gutils.c        gtk/Makefile.am      gtk/gtkmain.c
	  gtk/gtkobject.[ch]   gtk/gtkdebug.h       docs/debugging.txt

	New system for controlling debugging:

	* --enable-debug=[no/yes/minimum]
	* G_DISABLE_ASSERT and G_DISABLE_CHECKS for glib
	* G_NO_CHECK_CASTS to control cast checking
	* G_ENABLE_DEBUG enables run time checking which controls:
	    Object tracing
	    Showing events
	    Miscellaneous g_print's in GDK
	  And is controlled by --gdk-debug/GDK_DEBUG, --gtk-debug/GTK_DEBUG
        * debug_level and show_events are gone from GTK

	See docs/debugging.txt for details.

	And some fixups to the configure.in's so '-g' can be
	overriden on the command line for --enable-debug
1998-02-19 06:21:27 +00:00
Tim Janik
3d4cc2f904 applied gtk-hamann_jeske-980218-0.patch.gz, a patch from Lars Hamann and
Thu Feb 19 05:40:51 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtknotebook.h:
        * gtk/gtknotebook.c:
        applied gtk-hamann_jeske-980218-0.patch.gz, a patch from
        Lars Hamann and Stefan Jeske which introduces major
        usability improvements.
        fixed bugs are:
        - container border_width>0 does now work correctly for show_tabs==TRUE
          and for tab_pos=GTK_POS_BOTTOM/GTK_POS_RIGHT.
        - toggleing visibility of the tab labels works now.
        - emission of GtkNotebook:switch_page and all page changes
        also the signature for the GtkNotebook:switch_page signal changed,
        callbacks should now look like:
        gint notebook_switch_page (GtkWidget *widget,   GtkNotebookPage *page,
                                   gint       page_num, gpointer         data);
1998-02-19 05:13:46 +00:00
Jay Painter
8923d60dba CList signal revert (right back at you! *ouch*) 1998-02-19 02:59:55 +00:00
Jay Painter
9ad922290c A couple of compiler warning fixes, GtkCList signal changes, changed
fileselect to work with new CList signals, and enhanced testgtk's clist
example to show pixmaps and signal results. -Jay Painter
1998-02-18 10:03:54 +00:00
Tim Janik
7e3692b99f new signal GtkWidget::set_parent. this signal will be emitted once a
Wed Feb 18 04:38:24 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkwidget.h:
        * gtk/gtkwidget.c:
          new signal GtkWidget::set_parent. this signal will be emitted once a
          widget gets a new/no parent assigned (i.e. from gtk_widget_unparent
          and gtk_widget_set_parent).
1998-02-18 04:09:13 +00:00
Tim Janik
83e3008d35 new functions gtk_tooltips_data_get and gtk_tooltips_set_tip,
Wed Feb 18 02:58:50 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtktooltips.h:
          new functions gtk_tooltips_data_get and
          gtk_tooltips_set_tip, gtk_tooltips_set_tips is discouraged now.
        (_GtkTooltips): removed some fields that were never used.
          changed boolean fields to one bit size, to pack together with
          the delay field.
        (_GtkTooltipsData): added tip_private, renamed tips_text to
          tip_text.
        * gtk/gtktooltips.c:
          (gtk_tooltips_data_get): new function to retrive the
          _GtkTooltipsData structure of a widget.
        (gtk_tooltips_set_tip): new function for more extensible tooltips
          settings than gtk_tooltips_set_tips which is discuraged now.
          removed a bug that caused a stale object_data key to a
          _GtkTooltipsData structure.
          removed a bug that caused tips falsly to come up for a grab widget
          on widgets where events were grabbed from.
1998-02-18 02:40:08 +00:00
Tim Janik
b5cb66dc35 invoke gtk_entry_grow_text already in this place, so the application will
Tue Feb 17 05:41:31 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkentry.c (gtk_entry_init): invoke gtk_entry_grow_text already
          in this place, so the application will never see entry->text==NULL.
          (see also ChangeLog entry from Tue Feb 11 1997 on this).


also i added some blurb about recent changes to the NEWS file,
and updated the TODO.
1998-02-17 08:32:55 +00:00
Tim Janik
a303493882 applied patch to fix draw_indicator behaviour from Lars Hamann and Stefan
Tue Feb 17 05:41:31 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkcheckbutton.c:
        * gtk/gtkradiobutton.c:
        * gtk/gtktogglebutton.c:
          applied patch to fix draw_indicator behaviour from Lars Hamann
          and Stefan Jeske.

        * gtk/gtkmain.h:
        * gtk/gtkmain.c (gtk_grab_get_current): new function
          that returns the current grab widget or NULL.

        * gdk/gdkwindow.c (gdk_window_shape_combine_mask): remove
          shape mask if mask==NULL (provided by Stefan Wille).
1998-02-17 06:03:40 +00:00
Owen Taylor
9f96d18eb1 From Patrice Fortier <Patrice.Fortier@aquarel.fr>
Tue Feb 17 00:06:26 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkpaned.c, gtk/gtk[hv]paned.c: (gtk-fortier-980215-0)
	  From Patrice Fortier <Patrice.Fortier@aquarel.fr>

	  Add a widget->window for paned windows, so they
	  can be reparented properly.
1998-02-17 05:07:51 +00:00
Owen Taylor
7b399a225c From Patrice Fortier <Patrice.Fortier@aquarel.fr>
Mon Feb 16 23:47:09 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkviewport.c: (gtk-fortier-980130-0)
	  From Patrice Fortier <Patrice.Fortier@aquarel.fr>

	  Eliminate some extra expose events for viewports.
	  (To be conservative, I set the user's event mask for
	   both widget->window, and viewport->bin_window  -owt)
1998-02-17 04:48:50 +00:00
Owen Taylor
d91da80871 Make timeout and idle insertion code use g_list_insert_sorted().
Mon Feb 16 23:12:14 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmain.c: Make timeout and idle insertion code
	  use g_list_insert_sorted().
1998-02-17 04:39:47 +00:00
Tim Janik
afcc0ad3b2 \n 1998-02-17 02:19:30 +00:00
Owen Taylor
27575aa216 Use gtk_signal_default_marshaller, for expand/collapse signals.
Mon Feb 16 17:35:17 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtktreeitem.c: Use gtk_signal_default_marshaller,
	  for expand/collapse signals.
1998-02-16 22:34:30 +00:00
Elliot Lee
fa10f1361f D&D fixes 1998-02-16 22:04:52 +00:00
Tim Janik
a589338a7f gtkmain forgot a return value.
few fixes with resizing behaviour and non opaque moves
where configure events would exceed te number of calls
to gdk_window_resize.
-timj
1998-02-14 05:37:53 +00:00
Tim Janik
3c7f5af2a5 check for clist !REALIZED. (draw_rows): bail out if the widget isn't
Fri Feb 13 19:08:51 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkclist.c (check_exposures): check for clist !REALIZED.
        (draw_rows): bail out if the widget isn't drawable.
        (hadjustment_value_changed):
        (vadjustment_value_changed): bail out if clist isn't drawable.

        * gdk/gdk.c (graphics_expose_predicate): check for private != NULL.
        (gdk_event_get_graphics_expose): check for window != NULL.
1998-02-13 18:41:18 +00:00
Owen Taylor
c3fc26bb9d Realize window before creating xpm so it gets the right colormap/visual,
Fri Feb 13 00:33:26 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/testgtk.c (shape_create_icon): Realize window before
	  creating xpm so it gets the right colormap/visual,
	  instead of the default one.
1998-02-13 05:33:17 +00:00
Owen Taylor
041983a776 Change style->white to style->base[] where appropriate. Change the default
* gtk/gtkentry.c gtk/gtkinputdialog.c gtk/gtklist.c
	  gtk/gtklistitem.c gtktree.c gtk/gtktreeitem.c testgtkrc:

	  Change style->white to style->base[] where appropriate.
	  Change the default style to make this apparent. (Yes, it's
	  ugly... it can be removed later)
1998-02-13 05:26:33 +00:00
Owen Taylor
888470ee29 gtk/gtksignal.[ch] gtk/gtkmain.[ch] gtk/gtkcontainer.[ch]
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.
1998-02-13 05:19:06 +00:00
Owen Taylor
dd07df15c1 Add a DestroyNotify field, and gtk_object_set_data_full() to match.
Tue Feb 10 15:01:44 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkobject.c gtk/gtkobject.h: Add a DestroyNotify
	field, and gtk_object_set_data_full() to match.

	* gtk/gtkobject.c (gtk_object_finalize): ObjectData structures
	were being added to a free list, then forgotten about. Just
	rely on GMemChunk instead.
1998-02-13 05:11:16 +00:00
Federico Mena Quintero
9dee8ee4e4 Fixed unrealize handler to comply with the documentation (which mentions
2018-02-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkclist.c:
	* gtk/gtkentry.c:
	* gtk/gtkfixed.c:
	* gtk/gtkhandlebox.c:
	* gtk/gtknotebook.c:
	* gtk/gtkpaned.c:
	* gtk/gtkpreview.c:
	* gtk/gtkrange.c:
	* gtk/gtkruler.c:
	* gtk/gtktext.c:
	* gtk/gtkviewport.c:
	Fixed unrealize handler to comply with the
	documentation (which mentions the right thing to do).
1998-02-12 03:02:14 +00:00
Tim Janik
c305397fca small fixup, so that the clist doesn't draw if it is
not realized.
-timj
1998-02-11 05:07:36 +00:00
Tim Janik
2090cc650c new function gtk_signal_handler_pending() returning the id of the next
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.
1998-02-10 23:49:15 +00:00
Tim Janik
6898536a02 ok, there have been several severe bugs in the signal handler referencing
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 ;)
1998-02-10 06:53:08 +00:00
Owen Taylor
f98686da85 Check for the RESIZE_NEEDED flag and remove the widget from the list.
Mon Feb  9 23:08:16 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkwidget.c (gtk_widget_unparent): Check for
	  the RESIZE_NEEDED flag and remove the widget from the list.
	  Remove the check from gtk_widget_destroy (no longer needed).

	* Unrealize widget _before_ calling "destroy" signal, and
	  unset VISIBLE flag.

	* Unrealize child widgets _after_ unrealizing parent to improve
	  visual appearance.
1998-02-10 04:17:10 +00:00
Miguel de Icaza
6246db9288 no longer a private routine; gtksignal.h: export gtk_signal_get_handlers
Mon Feb  9 16:42:21 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gtk/gtksignal.c (gtk_signal_get_handlers): no longer a private
	routine;
	gtksignal.h: export gtk_signal_get_handlers and GtkHandlers type.
1998-02-09 22:44:34 +00:00
Tim Janik
38fac1be63 new fundtion to return the widget that the menu is attached to.
Sun Feb  8 07:06:54 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkmenu.c (gtk_menu_get_attach_widget): new fundtion to return
          the widget that the menu is attached to.
1998-02-08 19:00:01 +00:00
Jay Painter
7a3af96d84 New API functions: gtk_clist_get_cell_type gtk_clist_get_text
New API functions:
  gtk_clist_get_cell_type
  gtk_clist_get_text
  gtk_clist_get_pixmap
  gtk_clist_get_pixtext
  gtk_clist_find_row_from_data
1998-02-08 07:55:11 +00:00
Tom Tromey
dca018206e Here's a small patch that corrects a prototype in gtkvpaned.h.
From: Tom Tromey <tromey@creche.cygnus.com>
Here's a small patch that corrects a prototype in gtkvpaned.h.

                                        -owt
1998-02-07 16:10:01 +00:00
Tim Janik
89107cb751 clean ups. -timj
clean ups.
-timj
1998-02-07 04:59:23 +00:00
Jay Painter
5b597c65c7 A little cosmetic cleanup 1998-02-05 08:40:06 +00:00
scott
d3c3333735 Menufactory now refs&sinks its children.
--sg
1998-02-05 04:10:43 +00:00
Tim Janik
9258a7aecb new function to perform the same actions as gtk_list_remove_items, but
Thu Feb  5 02:13:08 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtklist.h:
        * gtk/gtklist.c (gtk_list_remove_items_no_unref): new function
          to perform the same actions as gtk_list_remove_items, but
          supply the removed widgets with an additional reference count.

        * gtk/gtkmain.c (gtk_main_iteration_do): ignore events
          with event_widget == NULL, since they are bogus events
          from destroyed GdkWindows, exept for the case where
          event->type==GDK_PROPERTY_NOTIFY. Always handle expired
          timeout functions when returning from this function.

        * gtk/gtkwidget.c (gtk_widget_event): ignore GDK_EXPOSE events
          if event->window == NULL. Also, if this function couldn't handle
          the event for any reason (including failing assumptions), make
          the return value to look as if the event had been handled to
          avoid further processing (and warnings).

        * gtk/gtkwidget.h:
        * gtk/gtkwidget.c: remove gtk_widget_sink, because there is
          no point in providing such a function.

        * gdk/gdk.c (gdk_init): changed options `-name' and `-class'
          to `--name' and `--class', because the old names would
          confuse getopt(). these arguments have been introduced in the
          changes from gtk+970916 to gtk+970925 without a ChangeLog entry,
          changing argument names is painful, it would be nice if people
          would care about compatibility and consistency in the first place!
1998-02-05 03:53:41 +00:00
Tim Janik
4b86717650 documentation. -timj
documentation.
-timj
1998-02-04 03:18:53 +00:00