Commit Graph

636 Commits

Author SHA1 Message Date
Tim Janik
3c90c2cd53 replaced some gtk_object_data_force_id with g_quark_from_static_string
Fri Jun 19 03:29:04 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkaccelgroup.c:
        * gtk/gtkbindings.c:
        * gtk/gtkcontainer.c:
        * gtk/gtkitemfactory.c:
        * gtk/gtkobject.c:
        * gtk/gtksignal.c:
        * gtk/gtkwidget.c: replaced some gtk_object_data_force_id with
        g_quark_from_static_string calls to save memory.

        * gtk/gtkobject.c (gtk_object_set_data_by_id_full): invoke the destroy
        function _after_ the new data has been setup.
        minor changes to object data functions to feature the GQuark type.
1998-06-19 02:07:47 +00:00
Owen Taylor
913831b26f Remove --g-fatal-warnings flag from argv.
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.
1998-06-19 01:26:24 +00:00
Federico Mena Quintero
25bd56b995 Use pointer<->int conversion macros to avoid warnings.
1998-06-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkfontsel.c: Use pointer<->int conversion macros to avoid warnings.

	* gtk/gtkaccellabel.c (gtk_accel_label_accelerator_width): Use
	g_return_val_if_fail, because the function *does* return a value.
1998-06-18 22:32:36 +00:00
Tim Janik
f83d57e91b yeppers, accelerator changes to fix the gimp. commit message dedicated to
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.
1998-06-18 03:22:09 +00:00
Stefan Jeske
7cb2ce4d11 Changed GtkSpinButtonUpdatePolicy enum, added keyboard
acceleration, new API gtk_spin_button_set_snap_to_ticks.
1998-06-17 20:07:31 +00:00
Tim Janik
7d0331a679 new function gdk_window_at_pointer() to retrive the current GdkWindow the
Wed Jun 17 03:47:40 1998  Tim Janik  <timj@gtk.org>

        * gdk/gdk.h:
        * gdk/gdkwindow.c: new function gdk_window_at_pointer() to retrive
        the current GdkWindow the pointer is on if there is any.

        * gtk/gtktable.c (gtk_table_init): preallocate a table with one row
        and one column, so we don't construction logic at all. changed a few
        (x < y - 1) to (x + 1 < y), to avoid failing evaluations due to
        unsigned int wraps.

        * gtk/gtkwidget.c (gtk_widget_set_parent): removed left over code
        portion, added an additional check for parent != widget.

        * more GtkType and macro fixups.
1998-06-17 08:48:22 +00:00
Elliot Lee
7bb4d7d961 Fixed functions with no arguments 1998-06-17 05:12:27 +00:00
Federico Mena Quintero
ed1e531c36 Now accepts an extra "clip" parameter, which is the clipping rectangle to
1998-06-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkhandlebox.c (draw_textured_frame): Now accepts an extra
	"clip" parameter, which is the clipping rectangle to use.  This
	eliminates the extremely annoying flicker when exposing parts of
	the handlebox.
1998-06-17 03:34:22 +00:00
Manish Singh
b7f7f3d98d fix from TimJ for off-by-one error in table resizing
-Yosh
1998-06-16 21:09:24 +00:00
Tim Janik
742d01908f boy! did i really modify that many files?
anyways, here go the child args and a lot of cleanups ;)
you wouldn't want me to put the ChangeLog entry in here, would you?
1998-06-16 05:20:05 +00:00
Owen Taylor
d36df18dee Moved font lists from the klass structure to a static structure in
Mon Jun 15 23:39:44 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkfontsel.[ch] (gtk_font_selection_dialog_init): Moved font
	lists from the klass structure to a static structure
	in gtkfontsel.c; cleans up global the namespace.

Mon Jun 15 22:16:10 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/makeenums.pl (parse_entries): Fix (untriggered)
	bug with /*< skip >*/ and remove warning.
1998-06-16 03:40:04 +00:00
Manish Singh
406fd3362c Added maintainer-rule autogened files
-Yosh
1998-06-16 01:17:43 +00:00
Owen Taylor
2ee01439f0 Made the gtkmarshal.* generation rules maintainer-only.
Mon Jun 15 20:14:09 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/Makefile.am: Made the gtkmarshal.* generation
	rules maintainer-only.

Really add makeenums.pl (this is getting to be a bad habit)
1998-06-16 00:13:04 +00:00
Owen Taylor
4079c878ca Actually add in the files... 1998-06-15 23:29:27 +00:00
Owen Taylor
48a9f44f31 gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h gtk/Makefile.am gtk/makenums.pl
Mon Jun 15 16:29:45 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdktypes.h gdk/gdkprivate.h gtk/gtk*.h
	  gtk/Makefile.am gtk/makenums.pl

	Removed out the G_ENUM/FLAGS mechanism in favor
	of a perl script that parses the standard headers
	(with occasional /*< nick=foo >*/ style overrides)
	and extracts the enumerations.

	  gtk/maketypes.awk: Small improvments to the
	  translation of names. (Avoid splitting gc into
	  g_c_.)

Mon Jun 15 16:25:44 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/Makefile.am gtk/gtk.h gtk/gtkfontsel.[ch] gtk/testgtk.c:
	Damon Chaplin's <DAChaplin@email.msn.com> Font selection widget,
        and a simple example for testgtk.

Mon Jun 15 15:58:34 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkentry.c:
	- Restored gtk_entry_adjust_scroll to static
	- Changed text positioning code so that we always
	  display as large a portion of the text as possible.

Mon Jun 15 15:42:12 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktext.c (gtk_text_finalize): Free internal
	structures of text widget. Also, unreference pixmaps
	when unrealizing.

Sat Jun 13 19:14:39 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkinputcommon.h (gdk_input_device_new): Change
	3.3.1 bug workaround to number keys starting at 1.

Sat Jun 13 11:56:57 1998  Owen Taylor  <otaylor@gtk.org>

	* docs/gtk_tut.sgml: Fixed urls for complete example
	source for scribble+widget-writing examples.
1998-06-15 21:27:17 +00:00
Elliot Lee
e144ff2bb5 Redo (and complete) movement of all pointer types into pointer_data in the GtkArg union 1998-06-14 16:59:42 +00:00
Elliot Lee
f57e0ba8b1 Reformat two function prototypes for cosmetics 1998-06-14 16:50:48 +00:00
Tim Janik
c390a6ec47 reverting changes that depend on other code which i'm going to
commit later this night (so gtk at least compiles for people).
1998-06-14 15:02:05 +00:00
Tim Janik
b8368a54a2 heal gtk. ;) 1998-06-14 14:37:39 +00:00
Elliot Lee
208057b914 s/string_data/pointer_data/ as needed to match GtkArg
s/string_data/pointer_data/ as needed to match GtkArg
1998-06-14 07:58:02 +00:00
Stefan Jeske
b39687aac8 New API to set the shadow type of the arrow panel. 1998-06-13 08:56:27 +00:00
Owen Taylor
92270f8620 Removed code for drawing the child in two places at once. Unfortunately,
Fri Jun 12 21:20:42 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkoptionmenu.c (gtk_option_menu_expose): Removed
	code for drawing the child in two places at once. Unfortunately,
	not only does it not work anymore (because reparenting has
	been fixed), but it also triggers reparent/expose loops
	in some cases.

	* gtk/gtkoptionmenu.c (gtk_option_menu_remove_contents): Removed
	an unecessary unrealize.
1998-06-13 01:36:28 +00:00
Tim Janik
1dc1b050b2 renamed enum GtkAnchor and GtkSide to GtkAnchorType and GtkSideType, to be
Fri Jun 12 09:24:47 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkpacker.h:
        * gtk/gtkpacker.c: renamed enum GtkAnchor and GtkSide to GtkAnchorType
        and GtkSideType, to be consistent with the rest of Gtk's enum
        definitions. wrapped the enum definitions with the G_ eunm wrappers.
        spelled out the GTK_ANCHOR_* enum values, since single letters don't
        work out corectly as nick-names (left the old values as aliases).
        some signdness corrections (border-width, spacing), could stand more.
1998-06-12 08:10:29 +00:00
CDT 1998 Shawn T. Amundson
cab220ee8b Added gtkpacker
Thu Jun 11 14:38:33 CDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * gtk/gtkpacker.c, gtk/gtkpacker.h, gtk/gtk.h, gtk/Makefile.am:
          Added gtkpacker

        * examples/packer/pack.c, examples/packer/Makefile: Added
          gtkpacker example
1998-06-12 00:49:11 +00:00
Owen Taylor
dbcf64a3f2 Fixed broken list-removal code.
Thu Jun 11 13:09:00 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktext.c (remove_cache_line): Fixed broken
	list-removal code.

	* gtk/gtktext.c: (gtk_text_delete_(forward/backward)_cahr)
	Check bounds before deleting.
1998-06-11 17:52:12 +00:00
Manish Singh
07d3d46f08 #define GTK_HAVE_ACCEL_GROUP
-Yosh
1998-06-11 01:45:22 +00:00
Owen Taylor
7086e475e3 glib/* Moved to glib module
Wed Jun 10 19:36:35 1998  Owen Taylor  <otaylor@gtk.org>

	* glib/* Moved to glib module

	* INSTALL Makefile.am acconfig.h autogen.sh configure.in
	  gtk-config.in gtk.m4 gdk/Makefile.am gtk/Makefile.am

	  configuration changes for the above:

	  - Use AM_PATH_GLIB by default to find glib; also accept
	    a --with-glib option for using an uninstalled glib.

	  - Put --enable-debug information into config.h so
	    that we rebuild when it changes. (was in glibconfig.h)
1998-06-10 23:44:55 +00:00
Lars Hamann
6b61461a40 adapted clist pixmap clipping
* gtk/gtkctree.c (draw_row): adapted clist pixmap clipping

        * gtk/gtknotebook.h (struct _GtkNotebookClass):
        * gtk/gtknotebook.c (gtk_real_notebook_switch_page):
        added missing argument (according to Joseph Coleman's bug report)

        * gtk/gtknotebook.c (gtk_notebook_set_focus_child): new class
        function to fix notebook focus handling
1998-06-10 21:48:21 +00:00
Owen Taylor
344572dc71 Renamed g_const_pointer => gconstpointer. 1998-06-10 16:59:28 +00:00
Tim Janik
b70abe38c1 prevent gdk_init() from segfaulting when invoked with (NULL, NULL); (this
Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>

        * gdk/gdk.c (gdk_init): prevent gdk_init() from segfaulting when
        invoked with (NULL, NULL); (this worked sometime ago).

        * gtk/gtktypeutils.h:
        * gtk/gtktypeutils.c: enum and flags type creation can now be done
        through gtk_type_register_enum() and gtk_type_register_flags(),
        which allow to specify the enum value arrays directly.
        the NULL terminated value arrays can be retrived through
        gtk_type_enum_get_values() and gtk_type_flags_get_values();
        (gtk_type_children_types): new function to query derived types.
1998-06-10 07:32:52 +00:00
Tim Janik
6430ad631a enum and flags type creation can now be done through
Wed Jun 10 06:25:17 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.h:
        * gtk/gtktypeutils.c: enum and flags type creation can now be done
        through gtk_type_register_enum() and gtk_type_register_flags(),
        which allow to specify the enum value arrays directly.
        the NULL terminated value arrays can be retrived through
        gtk_type_enum_get_values() and gtk_type_flags_get_values();
1998-06-10 04:55:22 +00:00
Raja R Harinath
c486540935 Thinko... The ChangeLog entry still stands. 1998-06-10 02:15:50 +00:00
Raja R Harinath
602a038747 Add $(srcdir) where needed (in the rule), and removed it where not needed
1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>

	* gtk/Makefile.am (gtk.defs,gtktypebuiltins*): Add $(srcdir)
	where needed (in the rule), and removed it where not needed
	(in the dependencies).
1998-06-10 02:10:23 +00:00
Raja R Harinath
d292dd9b27 Pass $srcdir in environment to genmarshal.pl. Look for `gtkmarshal.list'
1998-06-09  Raja R Harinath  <harinath@cs.umn.edu>

	* gtk/Makefile.am (gtkmarshal.c gtkmarshal.h): Pass $srcdir in
	environment to genmarshal.pl.
	* gtk/genmarshal.pl: Look for `gtkmarshal.list' in $srcdir.
1998-06-10 01:04:46 +00:00
Tim Janik
5ab6b7e020 more const pointer corrections. 1998-06-10 00:54:54 +00:00
Owen Taylor
2cabeeb1c3 Removed g_object_pointer_hash, which was just g_direct_hash.
Tue Jun  9 18:44:57 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkobject.c: Removed g_object_pointer_hash, which
	was just g_direct_hash.

Mon May 25 19:54:20 1998  Owen Taylor  <otaylor@gtk.org>

	* configure.in: x_libs=, not $x_libs=. Enough said.
          (Case only hit for --disable-xshm)

Mon May 25 12:08:14 1998  Owen Taylor  <otaylor@gtk.org>

	* configure.in (LDFLAGS): Add to $CFLAGS and $LDFLAGS
	  when testing for X libraries, don't replace them. Because
	  the user might have specified the path to the X libraries
	  themself before running configure.

	* examples/**.c: Changed all gpointer * to gpointer

Sat May 23 21:54:05 1998  Owen Taylor  <otaylor@gtk.org>

	* configure.in (LDFLAGS): Bomb out with a moderately
	  helpful message if detection of X libraries fails.

Sat May 23 18:57:06 1998  Owen Taylor  <otaylor@gtk.org>

  [ Combination of:
     gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
     gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]

	* gdk/gdk.h gdk/gdkcc.c gdk/gdkfont.c gtk/gtkmain.c
	  gtk/gtksignal.c gtk/gtktext.c:

	  Fixups for warnings from adding const to type of GHashFunc,
	  GCompareFunc

	* gtk/gtkcombo.c (gtk_combo_entry_key_press): Minor style/
	  ansi-warnings fixups.

Tue Jun  9 17:47:33 1998  Owen Taylor  <otaylor@gtk.org>

	* glib.h: Remove #error - HP/UX.

Sat May 23 19:00:01 1998  Owen Taylor  <otaylor@gtk.org>
  [ Combination of:
     gtk-rrh-980412-0.patch (Raja R Harinath <harinath@cs.umn.edu>)
     gtk-jbuhler-980516-0 (Jeremy Buhler <jbuhler@cs.washington.edu>) ]

	* glib.h ghash.c gstring.c gdataset.c gutils.c:
	- Added new typedef g_const_pointer; expunged all incorrect
	  uses of 'const gpointer'.
	- Fixed up warnings that that created,
	- Changed GHashFunc and GCompareFunc to take g_const_pointer
	  arguments. (Necessary, but will cause warnings in existing
	  code until fixed)
	- Added other new const in harmless positions.
1998-06-09 23:18:11 +00:00
Federico Mena Quintero
a1fe6d0337 Removed the fleur_cursor field. Now the cursor is created/destroyed on
1998-06-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkhandlebox.h (struct _GtkHandleBox): Removed the
	fleur_cursor field.  Now the cursor is created/destroyed on demand
	by the routines that need it.

	* gtk/gtkhandlebox.c (gtk_handle_box_button_changed):
	(gtk_handle_box_motion): The fleur cursor is created and destroyed
	only when needed.
1998-06-09 21:01:45 +00:00
Manish Singh
bd1e56dd83 Warning cleanups.. cvsignore stuff
-Yosh
1998-06-09 10:33:56 +00:00
Tim Janik
cd34fdd047 renamed the newly created gtk_enum_get_values and gtk_enum_set_values to
Tue Jun  9 09:57:09 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.h:
        * gtk/gtktypeutils.c: renamed the newly created gtk_enum_get_values and
        gtk_enum_set_values to gtk_type_enum_get_values and
        gtk_type_enum_set_values respectively, since they are actually type
        system features.

        * gtk/gtktypebuiltins_evals.c: oops, screwed the NULL termination with
        my last commit. ;)
1998-06-09 08:21:20 +00:00
Tim Janik
b377b2dc47 removed some bogus commas. 1998-06-09 07:14:34 +00:00
Tim Janik
a21d063ef8 new functions gtk_selection_data_copy and gtk_selection_data_free.
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.
1998-06-09 07:11:55 +00:00
Tim Janik
207eecc424 wrapped enum definitions with glib macros.
Mon Jun  8 02:52:37 1998  Tim Janik  <timj@gtk.org>

        * gdk/gdkprivate.h:
        * gdk/gdktypes.h:
        * gtk/gtkprivate.h:
        * gtk/gtkwidget.h:
        * gtk/gtkobject.h: wrapped enum definitions with glib macros.

        * reworked enum value array generation code. gtk.defs is a generated
        file now.
1998-06-08 03:38:24 +00:00
Elliot Lee
1e32cc3d63 Start of marshalling centralization.
Start of marshalling centralization.

Please check this over for sanity. I think the perl script and Makefile might
need fixing up to allow builddir != srcdir

I will start converting all the widgets to use this scheme if no problems
arise.
1998-06-08 01:37:27 +00:00
Manish Singh
db0c8b158c hrm.. extra #pragma..
-Yosh
1998-06-07 23:43:00 +00:00
Manish Singh
c1665b1441 silly typo
-Yosh
1998-06-07 23:22:42 +00:00
Tim Janik
8102e79daf feature check menu items in the compatibility code (this required me to
Sun Jun  7 14:34:31 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkitemfactory.c (gtk_item_factory_create_menu_entries): feature
        check menu items in the compatibility code (this required me to remove
        the "<check>" part from the menu item name, grrr).
1998-06-07 13:44:34 +00:00
Tim Janik
50a9ba1f26 further additions to fit the gimp's code. additions to the dumping code to
Sun Jun  7 10:53:02 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkitemfactory.h:
        * gtk/gtkitemfactory.c: further additions to fit the gimp's code.
        additions to the dumping code to feature GtkPatternSpec.
        even found a bug to fix in the original code ;)
1998-06-07 12:22:45 +00:00
Tim Janik
210cb3f5a0 support different types of callbacks, to maintain existing code.
Sun Jun  7 09:36:04 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkitemfactory.h:
        * gtk/gtkitemfactory.c: support different types of callbacks, to
        maintain existing code.


... changes to the item factory to ease support of the gimp's code...
1998-06-07 07:52:26 +00:00
Tim Janik
cd8e439b9b remove these files, we got gtkaccelgroup.[ch] now. 1998-06-07 07:05:12 +00:00
Tim Janik
a391196ba5 fixed an assertment.
Sat Jun  6 06:01:24 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c (gtk_signal_emitv): fixed an assertment.

        * gtk/makeenums.awk: a script to generate the GtkEnumValue arrays from,
        this should eventually be done by gentypeinfo.el somewhen.
        * gtk/gtkenumvalues.c: new generated file to hold GtkEnumValue arrays.

        * gtk/gtktypeutils.h: new function gtk_enum_values() to retrive all the
        enum values of an enum type.

        * gtk/gtk.defs:
        * gtk/gtkcurve.h:
        * gtk/gtkobject.h:
        * gtk/gtkprivate.h:
        * gtk/gtkwidget.h:
        * gtk/gtkenums.h:
        brought enum/flags definitions in sync, added a few more enum
        definitions for bindings and pattern matching.

        * some more macro and GtkType fixups in various places.

        * gdk/gdktypes.h (enum): added a new value GDK_AFTER_MASK, which is used
        as a key-release modifier for the binding system.

Fri Jun  5 06:06:06 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenu.h (struct _GtkMenu): removed GList*children, since it
        was a stale list pointer that is already present in GtkMenuShell.

        * gtk/gtkmenushell.h (struct _GtkMenuShellClass): added a signal
        GtkMenuShell::selection_done which is emitted after the menu shell
        poped down again and all possible menu items have been activated.

Thu Jun  4 02:20:42 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenushell.c (gtk_menu_shell_button_release): flush the x-queue
        before activation of the menuitem, so the menu is actually taken off the
        screen prior to any menu item activation.

        * gtk/gtkctree.c (gtk_ctree_get_row_data): allow function invokation
        for NULL nodes.

        * gtk/gtkwidget.h:
        * gtk/gtkwidget.c: new function gtk_widget_stop_accelerator to stop
        the emission of the "add-accelerator" signal on a widget. this is
        usefull to prevent accelerator installation on certain widgets.

        * gtk/gtknotebook.c (gtk_notebook_menu_item_create): keep the menu
        labels left justified, by setting their alignment. stop accelerator
        installation for the menu items, since we use dynamic menus.

Wed Jun  3 06:41:22 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmenufactory.c: adaptions to use the new accel groups. people
        should *really* use GtkItemFactory. this is only for preserving source
        compatibility where possible, use of GtkMenuFactory is deprecated as of
        now.

        * gtk/gtkobject.h (gtk_object_class_add_user_signal): new function
        to create user signals of type GTK_RUN_NO_RECURSE. don't know why i
        missed this possibility when i added gtk_object_class_add_user_signal
        in late january.

        * gtk/gtkmain.c (gtk_init): ignore subsequent function calls.

Sun May 31 07:31:09 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkaccelgroup.h:
        * gtk/gtkaccelgroup.c: new implementation of the accelerator concept.

        * gtk/gtkaccellabel.h:
        * gtk/gtkaccellabel.c: new widget derived from GtkLabel whitch features
        display of the accelerators associated with a certain widget.

        * gtk/gtkitemfactory.h:
        * gtk/gtkitemfactory.c: new widget, item factory with automatic rc
        parsing and accelerator handling.

        * gtk/gtkmenu.c (gtk_menu_reposition): new function to care for
        positioning a menu.
        (gtk_menu_map): removed the allocation code.
        (gtk_menu_size_allocate): care for redrawing of children and resize
        our widget->window correctly.
        (gtk_menu_key_press): feature the new accelerator groups.

        * gtk/gtkmenuitem.c (gtk_menu_item_size_allocate): reposition the
        submenu if neccessary.

        * gtk/gtkmenuitem.c:
        * gtk/gtkcheckmenuitem.c:
        * gtk/gtkradiomenuitem.c: use GtkAccelLabel in the *_new_with_label()
        function variants.

        * gdk/gdk.c:
        (gdk_keyval_from_name):
        (gdk_keyval_name): new functions for keyval<->key-name associations.
        (gdk_keyval_to_upper):
        (gdk_keyval_to_lower):
        (gdk_keyval_is_upper):
        (gdk_keyval_is_lower): new functions to check/translate keyvalues with
        regards to their cases.

Wed May 27 00:48:10 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_class_path): new function to calculate a
        widget's class path.
        (gtk_widget_path): new function to calculate a widget's name path.

        * gtk/gtkrc.c: newly introduced GtkPatternSpec structures to speed up
        pattern matching, features reversed pattern matches.
1998-06-07 06:48:56 +00:00
Manish Singh
f522f36dd1 Commented out the MEM_PROFILE and MEM_CHECK from gmem.c, causing problems
with GdkImages.

Updates some .cvsignores

-Yosh
1998-06-06 21:16:57 +00:00
Lars Hamann
7c8ae8a5f5 reversed test sequence for GTK_WIDGET_CAN_FOCUS and GTK_IS_CONTAINER 1998-06-02 19:32:33 +00:00
Jay Painter
57967d9a98 Added function gtk_clist_swap to swap two rows in a clist; I also have
finally fixed pixmap clipping so pixmaps are always cliped to the row.
1998-06-02 02:51:46 +00:00
Elliot Lee
bd191b6537 Revert, as per Owen's request 1998-05-25 02:41:36 +00:00
Elliot Lee
ab37cadbfe Make GtkEditable use signals instead of calling klass->... for stuff. Could someone look at the get_chars routine to see how to return the value properly? 1998-05-24 20:56:35 +00:00
Owen Taylor
53d06396b8 Locate child at (border_width,border_width), not
Sat May 23 17:48:58 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkeventbox.c (gtk_event_box_size_allocate):
        Locate child at (border_width,border_width), not
	(2*border_width,2*border_width). [ The border is _outside_
	widget->window ]

	* gdk/gdk.[ch]: added gdk_screen_width_mm/gdk_screen_height_mm
	  functions. [From: Alexander Larsson <alla@lysator.liu.se> ]
1998-05-23 21:55:40 +00:00
Arturo Espinosa
fdd65ddef3 Oops. Commited a file I should not have. Revert change 1998-05-22 23:48:02 +00:00
Miguel de Icaza
d0f3668232 Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be used in gnome-libs
1998-05-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* gtk/gtkfeatures.h.in: Define GTK_HAVE_RC_SET_IMAGE_LOADER, to be
	used in gnome-libs
1998-05-22 23:43:03 +00:00
Elliot Lee
63596d22ae Fix size_allocate to pass on to the child even if child isn't visible.
Fix size_allocate to pass on to the child even if child isn't visible.
Also locate child at (border_width, border_width) not (0,0)
1998-05-22 21:33:44 +00:00
Owen Taylor
579856439b Added style_set handler.
Fri May 22 03:02:40 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkhandlebox.c: Added style_set handler.

Fri May 22 02:55:57 1998  Owen Taylor  <otaylor@gtk.org>
 [ From: Chris Lahey  <clahey@umich.edu> ]

	* gtk/gtkeditable.c, gtk/gtkeditable.h,
	  gtk/gtktext.c, gtk/gtkentry.c: Added get_position,
	  and set_position functions to get and set the cursor position.

        * gtk/gtkeditable.c: Restored "insert_text" and "delete_text" to
	  signal status. Make GtkText do user-controlled insertion
	  and deletion through the Editable widget so that these
	  signals are properly emitted.

	* gtk/gtkentry.c: Changed gtk_entry_set_visibility to
	  display asterisks instead of empty space when visible = FALSE)
1998-05-22 07:07:11 +00:00
CEST 1998 Paolo Molaro
bf874e967e use GTK_TYPE_GDK_EVENT in (un)?select_row signal.
Fri May 22 08:51:10 CEST 1998  Paolo Molaro <lupus@debian.org>

	* gtk/gtkclist.c: use GTK_TYPE_GDK_EVENT in (un)?select_row
	signal.
1998-05-22 06:55:20 +00:00
Elliot Lee
47c47914d6 I should have named it gtk_rc_set_image_loader() initially - fixed 1998-05-21 19:26:19 +00:00
Elliot Lee
cefd52f52f Allow user to set a custom image loading routine for loading bg_pixmap's
Allow user to set a custom image loading routine for loading bg_pixmap's specified in the
gtkrc's.
1998-05-21 19:24:01 +00:00
Paolo Molaro
4d3f6feb37 Tue, 19 May 1998 11:51:02 +0200 Paolo Molaro <lupus@debian.org>
* added generic functions for completion in glib.
	* used the above functions in the gtkcombo widget.
1998-05-19 10:17:31 +00:00
Elliot Lee
67baa4b4a6 Allow GTK_DEBUG=signals - VERY useful ;-)
Allow GTK_DEBUG=signals - VERY useful ;-)
1998-05-18 22:34:43 +00:00
Tim Janik
c174981e0b changed "proximity-in-event", "drop-data-available-event",
Mon May 18 04:01:41 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_class_init): changed "proximity-in-event",
        "drop-data-available-event", "drop-enter-event" and "drop-leave-event"
        to be of runtype GTK_RUN_LAST.

        * gtk/gtkcontainer.c (gtk_container_class_init): likewise for
        "need-resize".

        * gtk/gtktipsquery.c (gtk_tips_query_class_init): likewise for
        "widget-selected".
1998-05-18 04:31:03 +00:00
Tim Janik
5aa450f97b g_strdup() the text retrived from GtkEntry. only intercept the Tab key if
Sat May 16 09:04:32 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkfilesel.c (gtk_file_selection_key_press): g_strdup() the
        text retrived from GtkEntry. only intercept the Tab key if there
        was some text to complete.
1998-05-16 07:22:00 +00:00
Owen Taylor
dc93f21ffe Basic thread-awareness:
Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>

	Basic thread-awareness:

	* acconfig.h configure.in: New option --with-threads=[yes/posix/no]

	* gdk/Makefile.am gdk/gdkthreads.c: Added new functions
	gdk_threads_[init/enter/leave] for applications, plus
	gdk_threads_wake to wake the mainloop thread out of
	the select().

	* gtk/Makefile.am: gtk/testthreads.c: Test program for threads
1998-05-16 02:14:09 +00:00
Owen Taylor
457148333e Basic thread-awareness:
Fri May 15 21:16:54 1998  Owen Taylor  <otaylor@gtk.org>

	Basic thread-awareness:

	* acconfig.h configure.in: New option --with-threads=[yes/posix/no]

	* gdk/Makefile.am gdk/gdkthreads.c: Added new functions
	gdk_threads_[init/enter/leave] for applications, plus
	gdk_threads_wake to wake the mainloop thread out of
	the select().

	* gtk/Makefile.am: gtk/testthreads.c: Test program for threads

Fri May 15 12:08:48 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/testgtk.c (list_clear): Account for the fact
	that gtk_list_clear_items is not inclusive. (Clears
	[start, end))
1998-05-16 02:13:12 +00:00
Manish Singh
123e299bcf ignore furry autogened files
-Yosh
1998-05-16 01:56:43 +00:00
Manish Singh
c71c5f6a9e bye bye autogenerated file
-Yosh
1998-05-15 23:07:59 +00:00
Tim Janik
152ff34893 [binray incompatibility]
[binray incompatibility]


Fri May 15 00:56:59 1998  Tim Janik  <timj@gtk.org>

        * glib.h: further support for gcc function attributes: G_GNUC_FORMAT,
        G_GNUC_NORETURN and G_GNUC_CONST.

        * gscanner.c (g_scanner_stat_mode): changed stat() to lstat().
        (g_scanner_msg_handler): "\n" at end of line!
        (g_scanner_foreach_symbol): new function to iterate over the symbol
        table (GScanner does value-wrapping).

Fri May 15 09:44:10 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.h (struct _GtkWidgetClass): corrected returntype of
        the visibility_notify_event method and changed method order.
1998-05-15 08:09:18 +00:00
Tim Janik
004f0982e1 typedef gint gboolean; this is needed to provide portability with
Thu May 14 04:14:12 1998  Tim Janik  <timj@gtk.org>

        * glib.h: typedef gint gboolean;
        this is needed to provide portability with big-endian platforms (e.g.
        try sizeof(bool) for c++ on big-endians - it's 4).
        this is also needed to maintain some_union.d_gint==some_union.d_gboolean.
        plus, gint to gboolean casts and vice versa need to be possible without
        loss.

Thu May 14 03:04:43 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.c (gtk_type_free): new function to take care about
        freeing types.
        (gtk_type_set_chunk_alloc): new function to allow allocation of new
        types from a mem_chunk of certain size (n_chunks==0 indicates allocation
        thorugh g_malloc).

        * gtk/gtkobject.c (gtk_object_finalize): free an object through
        gtk_type_free().

        * gtk/gtkbutton.c (gtk_button_get_type): set chunk preallocation for
        GtkButtons to 16.
        * gtk/gtkmenuitem.c (gtk_menu_item_get_type): likewise (16).
        * gtk/gtklabel.c (gtk_label_get_type): likewise (32).
1998-05-14 21:13:18 +00:00
4
344a271704 gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget
1998-05-14    <sopwith@moebuis.labs.redhat.com>

        * gtk/gtkwidget.[ch] Added visibility_notify_event to GtkWidget

Can you say "binary incompatible"? :-)
1998-05-14 18:01:35 +00:00
Owen Taylor
4283c9de4f A few more GPOINTER_TO_UINT fixes.
Wed May 13 00:53:52 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktypeutils.c gtk/gtksignal.c: A few more
	  GPOINTER_TO_UINT fixes.

	* gtk/gtksignal.c: Include <string.h> for memset.

Tue May 12 23:10:53 1998  Owen Taylor  <otaylor@gtk.org>
	(Maximilian Bisani <bisani@kawo2.rwth-aachen.de>: gtk-bisani-980320-0)

	* gtk/gtkvruler.c gtk/gtkhruler.c gtk/gtkruler.h:
	Cleanups, comments and the ability to have rulers with
	a reversed direction.
1998-05-13 04:59:38 +00:00
Owen Taylor
43dfe74c56 Fixed up a stat() that Sopwith missed when changing stat => lstat.
Tue May 12 19:37:55 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkrc.c (gtk_rc_parse_file): Fixed up a stat()
	that Sopwith missed when changing stat => lstat.

Tue May 12 19:19:29 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkinputdialog.c gtk/gtkgamma.c gtk/gtkrc.c
	  gtk/gtkcolorsel.c gtk/gtkclist.c gtk/testgtk.c: Use
	GPOINTER_TO_INT/GINT_TO_POINTER macros where appropriate.

	* gdk/gdk.c: Print sizeof() results
	as g_print("%ld", (glong)sizeof(foo)), to deal with
	sizeof() being long on Alpha's.

	* gtk/testgtk.c: include <string.h> for strlen

Tue May 12 19:22:58 1998  Owen Taylor  <otaylor@gtk.org>

 	* glib/glib.h: Added macros G[U]INT_TO_POINTER() and
	GPOINTER_TO_[U]INT for storing small integers integers
	inside pointers.

	* glib/testglib.c: Print sizeof() results
	as g_print("%ld", (glong)sizeof(foo)), to deal with
	size_t being long on Alpha's.
1998-05-13 00:24:57 +00:00
Elliot Lee
eae7b32f85 Use lstat() to tell when an rc file was modified, not stat(), because we
Use lstat() to tell when an rc file was modified, not stat(), because we
could be pointing symlinks around.
1998-05-12 22:11:56 +00:00
Owen Taylor
c9e78a1094 (James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)
Tue May 12 16:54:15 1998  Owen Taylor  <otaylor@gtk.org>
	(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)

	* glib.h gstring.c gmessages.c: Added some missing
	const to arguments.

	* gutils.c (g_strsignal.c): Added missing return statements.

Tue May 12 16:56:35 1998  Owen Taylor  <otaylor@gtk.org>
	(James A <jamesa@demon.net> : gtk-jamesa-980511-4.patch)

	* gtk/gtkbbox.h gtk/gtkcolorsel.h gtk/gtkvbbox.h:
	Changed #include "gtkfoo.h" to #include <gtk/gtkfoo.h>

	* gtk/gtkwindow.[ch]: Added const to gtk_window_set_wmclass

Tue May 12 15:16:10 1998  Owen Taylor  <otaylor@gtk.org>
	(From: Christopher James Lahey <clahey@umich.edu>)

	* gtk/gtkbutton.[ch] gtk/gtkenums.h gtk/gtktoolbar.[ch]
	  gtk/testgtk.c:

	Added 'relief' for buttons - they can be either GTK_RELIEF_NORMAL
	(old style), or GTK_RELIEF_NONE - no relief in the NORMAL
	state. Added gtk_toolbar_{set,get}_button_relief, which set/get
	the default relief for the toolbars buttons. Added an
	toggle for the toolbar test in testgtk.c.
1998-05-12 21:30:52 +00:00
Federico Mena Quintero
2fa59370f7 The commit to the stable branch is on its way...
1998-05-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkpreview.c (gtk_preview_realize): Create the window using
	GtkPreview's visual and colormap, otherwise things can BadMatch.

	* gtk/testgtk.c (create_color_preview):
	(create_gray_preview): Removed pushing/popping of visual/colormap
	now that GtkPreview does things correctly.

	* gtk/gtkcolorsel.c (gtk_color_selection_draw_wheel_frame):
	(gtk_color_selection_draw_wheel): Pick the style from the correct
	place (the colorsel->wheel_area widget) so that the GCs will match
	with where we are going to paint to.

	* gtk/testgtk.c (create_color_selection): Removed pushing/popping
	of visual/colormap now that GtkColorSelection does things the
	right way.
1998-05-12 03:15:45 +00:00
Owen Taylor
962386fb82 Use the previously unused window->need_resize flag to mark if a window's
Mon May 11 21:04:51 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkwindow.c (gtk_real_window_move_resize): Use the
	previously unused window->need_resize flag to mark if a window's
	descendents changed size while the window was not visible. In this
	case, when the window becomes visible, we reallocate everything,
	since we didn't keep track of what actually changed.

	(Fixes bug where changing the popdown strings of a
	combo to something of the same length caused them to
	blank out, as reported by Todd Dukes <tdukes@ibmoto.com>)
1998-05-12 01:02:22 +00:00
Tim Janik
075cb4320d [security audit by Alan Cox]
Tue May 12 02:31:57 1998  Tim Janik  <timj@gtk.org>

        [security audit by Alan Cox]

        * gtk/gtkobject.c (gtk_object_get_arg_type): check for arg_name to not
        exceed maximum assumed size.

        * gtk/gtkmenufactory.c (gtk_menu_factory_create): check that `path' does
        not exceed maximum assumed size.
        (gtk_menu_factory_remove): likewise.
        (gtk_menu_factory_find_recurse): likewise.
1998-05-12 00:34:28 +00:00
Tim Janik
f15bd558ab queue the idle_sizer with GTK_PRIORITY_INTERNAL - 1, so widgets get first
Tue May 12 00:21:33 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_queue_resize): queue the idle_sizer with
        GTK_PRIORITY_INTERNAL - 1, so widgets get first resized and then
        redrawn if that is still neccessary. don't allow queueing of already
        destructed objects.
        (gtk_widget_idle_sizer): proccess the resize queue in a save manner, so
        widgets which are in the queue can be destroyed savely, handle
        requeueing properly.
        (gtk_widget_idle_draw): proccess the redraw queue in a save manner, so
        widgets which are in the queue can be destroyed/unrealized savely.
1998-05-11 22:32:52 +00:00
Tim Janik
ad137948b9 compilation fixups 1998-05-11 15:30:05 +00:00
Tim Janik
e8df8ce17b preserve automake CFLAGS.
Mon May 11 09:56:45 1998  Tim Janik  <timj@gtk.org>

        * configure.in (cflags_set): preserve automake CFLAGS.

        * Makefile.am: fully rename the created libraries to libgtk-1.1.la
        and libgdk-1.1.la. this means we need to change certain portions of
        the Makefile.am on major/minor version bumps.

        * ltmain.sh: the -release option is not required anymore.

        * gtk/gtkobject.h (gtk_trace_referencing): compile time check the type
        of the first argument to be of type GtkObject. unconditionally compile
        this function. removed __GNUC__ dependancy of the gtk_object_ref and
        gtk_object_unref macro wrappers for this function.

Mon May 11 09:53:43 1998  Tim Janik  <timj@gtk.org>

        * configure.in: preserve automake CFLAGS.

        * Makefile.am: fully rename the created library to libglib-1.1.la.
        this means we need to change certain portions of the Makefile.am on
        major/minor version bumps.

        * ltmain.sh: the -release option is not required anymore.

        * glib.h: provide G_GNUC_FUNCTION and G_GNUC_PRETTY_FUNCTION to
        avoid conditionals. unconditionally define NULL, TRUE, FALSE, MAX,
        MIN, ABS and CLAMP, these macros might be screwed from other headers.
1998-05-11 08:31:16 +00:00
Tim Janik
01003779e9 new file, gdatasets implement the object data mechanism from GtkObject. a
Mon May 11 01:44:10 1998  Tim Janik  <timj@gtk.org>

        * gdataset.c: new file, gdatasets implement the object data
        mechanism from GtkObject. a generic data pointer is associated with
        a certain location and a key id.

Mon May 11 02:31:19 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkobject.h:
        * gtk/gtkobject.c:
        (gtk_object_data_try_key):
        (gtk_object_data_force_id): these are now macros substituting the old
        functions. we just use the corresponding g_dataset_* functions for
        key->id associations. (this is to assure unique key<->id associations).
1998-05-11 00:48:44 +00:00
Stefan Jeske
cb12593d57 Started documentation of GtkCTree. 1998-05-10 17:05:39 +00:00
Tim Janik
86be352e82 bugfixes, cleanups and macro reduction, nothing major though ;) 1998-05-10 07:44:43 +00:00
Tim Janik
315affdfcb minor cleanups and merges 1998-05-10 05:19:00 +00:00
Owen Taylor
f75d8b0c23 Try to figure out if this is Digital Unix and we need -std1 to get the
Sat May  9 20:11:20 1998  Owen Taylor  <otaylor@gtk.org>

	* configure.in (LIBS): Try to figure out if this
	is Digital Unix and we need -std1 to get the
	right prototypes.

Sat May  9 20:08:12 1998  Owen Taylor  <otaylor@gtk.org>

	* glib/gmem.c: Experimentally restore GMemChunk
	to its primeval state - where mem areas are
	freed incrementally instead of searching the tree
	every time a mem area is completely empty. Also,
	always keep one mem chunk around. (Reduced calls
	to malloc() a lot, but doesn't really improve
	performance significiantly)

Fri May  8 21:31:50 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkwidget.c (gtk_widget_queue_draw): Free the
	draw-queue when we are done.

	(gtk_widget_queue_draw/_queu_resize): Always return
	FALSE and avoid having two idles at the same time.

Fri May  8 21:04:00 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktext.c: Various fixes to make sure cache
	lines are freed if line_start_cache doesn't point to the
	beginning of the cache.

Thu May  7 09:44:22 1998  Owen Taylor  <otaylor@gtk.org>

	* style_set improvements for GtkText and GtkEntry

Tue May  5 19:49:27 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkpixmap.c: Patches from Gordon Matzigkeit
	to speed things up and remove code duplication.

	Reintegrated buffer overflow patches, and added
	some extra paranoia.

Tue May  5 17:04:14 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdk.c (gdk_event_translate): A guint * was
	being passed where X expected a Keysym *, and
	keysyms are long's on Alpha Linux. This was causing
	segfaults in Xlib, apparently because of alignment.
	(Bug located by Juergen Haas <haas@forwiss.uni-passau.de>)

Tue May  5 19:11:27 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkdrawingarea.c (gtk_drawing_area_realize): Always
	set GDK_EXPOSURE_MASK for DrawingAreas

Tue May  5 14:32:37 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkwidget.[ch]: removed gtk_widge_propagate_default_style
	(superceded by RC file reparsing capabilities)

	* gtk/gtkwindow.c: Add handling for _GDK_READ_RFCILES client
	events. (Shouldn't be sent to the InputOnly leader, which
	it is now by gdk_event_send_clientmessage_toall

	* gtk/testgtk.c: Added extra button to rcfiles test
	to send out _GDK_READ_RCFILES events.

Tue May  5 11:03:00 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkselection.c (gtk_selection_clear): Fixed
	reversed conditionals that caused segfault on some
	platforms.

Tue May  5 00:44:47 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkcontainer.c (gtk_container_set_focus_[hv]adjustment):
	cast to GTK_OBJECT for gtk_object_ref.
1998-05-10 02:46:20 +00:00
Tim Janik
9775962a96 new file used as template for new file to define macros indicating newly
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.
1998-05-09 01:17:03 +00:00
Tim Janik
142c848308 reflect the presence of signal connections through unsetting
Sat May  9 00:03:12 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c (gtk_signal_handler_unref): reflect the presence of
        signal connections through unsetting GTK_CONNECTED.
        (gtk_signal_handler_insert): reflect the presence of signal connections
        through setting GTK_CONNECTED.
        (gtk_signal_real_emit): only check for handler emissions if the object
        has the GTK_CONNECTED flag set.
        (gtk_signal_handler_pending): don't check for pending handlers if the
        GTK_CONNECTED flag is not set for this object.

        * gtk/gtkobject.h (enum): new flag GTK_CONNECTED to indicate whether
        a GtkObject has signal handler connections.

        * gtk/gtkobject.c (gtk_object_real_destroy): only if GTK_CONNECTED is
        set for this object call gtk_signal_handlers_destroy().

        * gtk/gtktypeutils.h (GTK_TYPE_IS_A): deprecated macro, since it caused
        multiple processing of macro args.

        * gtk/gtktypeutils.c:
        * gtk/gtkobject.c:
        * gtk/gtkwidget.c:
        * gtk/gtksignal.c: reverted GTK_TYPE_IS_A back to gtk_type_is_a.
1998-05-08 23:20:48 +00:00
Tim Janik
1f455e53c0 asure that the type system has been initialized.
Thu May  7 19:03:50 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktypeutils.c (gtk_type_unique): asure that the type system has
                been initialized.
1998-05-07 17:08:58 +00:00
Tim Janik
2934f4f58c allocate object data chunks through a global object data structure list.
Thu May  7 12:52:45 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkobject.c (gtk_object_set_data_by_id_full): allocate object
                data chunks through a global object data structure list. unlink
                        object data before invoking its destroy function.
                                (gtk_object_finalize): slight modification to allow usage of object
                                        data during object finalization.
1998-05-07 11:12:57 +00:00
Tim Janik
8460f39363 speedups speedups speedups....
this one is actually noticable on widget destruction.

Thu May  7 10:29:24 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtksignal.c (gtk_signal_newv): suport middle dashes ('-') in
        signal names, e.g. "signal-name" is now an alias for "signal_name".
        (gtk_signal_handler_new): allocate handlers through a global handler
        structure list, that's faster than memchunks.
        (gtk_emission_new): allocate emissions through a global emission
        structure list, that's faster than memchunks.
1998-05-07 09:23:50 +00:00
Tim Janik
39ff37dc74 postfix -lg* libraries with LT_RELEASE.
Thu May  7 05:14:19 1998  Tim Janik  <timj@gtk.org>

        * gtk-config.in (--libs): postfix -lg* libraries with LT_RELEASE.

        * ltmain.sh: added a new commandline flag -postfix similar to -release,
        but will immediately change the library name.

        * gdk/Makefile.am:
        * gtk/Makefile.am: specify -postfix and -version-info

        * configure.in: version bump to 1.1.0. added GTK_INTERFACE_AGE and
        GTK_BINARY_AGE. calculate LT_* variables for libtool.
1998-05-07 04:04:15 +00:00
Arturo Espinosa
513a06e966 ChangeLog 1998-05-06 23:38:10 +00:00
Stefan Jeske
1afc96a702 Removed code that caused an endless loop.
* gtk/testgtk.c (unselect_all): Removed code that caused an
	endless loop.
1998-05-06 08:22:31 +00:00
Tim Janik
518a8a9c4e reimplemented the signal storage system to use a linear array rather than
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.
1998-05-06 01:43:56 +00:00
Stefan Jeske
c3e04d86ec New function to wrap XSetDashes; modified gtkctree.c to use it.
* gdk/gdkgc.c gdk/gdk.h gtk/gtkctree.c (gdk_gc_set_dashes):
	New function to wrap XSetDashes; modified gtkctree.c to use it.
1998-05-05 15:00:12 +00:00
Stefan Jeske
a92832509d New function (just like gtk_clist_moveto).
* gtk/gtkctree.[ch] (gtk_ctree_scroll_to): New function (just like gtk_clist_moveto).
1998-05-04 09:40:35 +00:00
Owen Taylor
2780a82a0e One or two trivial changes from the gtk-1-0 branch. 1998-05-04 02:59:52 +00:00
Owen Taylor
d142827b34 Merges from the gtk-1-0 branch
Sun May  3 14:55:34 1998  Owen Taylor  <otaylor@gtk.org>

	* docs/gtkfaq.sgml (CPPFLAGS): Added a FAQ entry about
	"glibconfig.h" and another about writing another IRC
	client.

Sat May  2 00:14:05 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkpreview.c (gtk_trim_cmap): Make sure the
	parameters to log are doubles. Digital Unix apparently
	is missing the argument in its prototype.

Sun May  3 19:04:46 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtklabel.c (gtk_label_state_changed): Don't
	force a clear until the widget is actually on
	screen.

Hopefully nothing else though CVS think there are a whole
bunch more changed files.
1998-05-04 02:10:36 +00:00
Owen Taylor
4851efe296 configure.in acheader.h gdk/gdkwindow.c Check for Shape extension both on
Sun May  3 13:38:22 1998  Owen Taylor  <otaylor@gtk.org>

	* configure.in acheader.h gdk/gdkwindow.c
	Check for Shape extension both on the client and server
	side. (And, more importantly, check for the shape extension
	so we may include -lXext even when compiling with --disable-xshm)

	Don't set override_redirect on all shaped windows. It isn't
	necessary.

	* gdk/gdkwindow.c: Set ->colormap to NULL for root
	and foreign windows. Use this to check if we
	need to get the colormap from X.

Fri May  1 22:32:47 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkbutton.c (gtk_button_paint): Draw the areas
	between the default and the button always in GTK_STATE_NORMAL.

	* gtk/gtkrange.c (gtk_range_style_set): Added a style_set
	callback.

Fri May  1 16:40:57 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkpixmap.c (gdk_pixmap_colormap_create_from_xpmp[_d]):
	  Fix a buffer overflow on pixmaps that claim to have
	  more than 31 characters per pixel.

	  (gdk_pixmap_read_string): Don't wrap around strings longer
 	  than half of address space ;-)

	* gtk/gtk[vh]ruler.c gtk/gtkinputdialog.c: Expand some buffers
	that were used for printing integers.

	* */* (almost):

	Style: All
	  int foo () { ... }
	changed to
	  int foo (void) { ... }

^^^^^^^ This is why some many files changed

	Even where there were proper prototypes elsewhere.

	* gdk/gxid.c (handle_claim_device): Some extra checks.
	It isn't safe against being fed bad X id's, but at
	least it should be safe against deleting all your
	files.
1998-05-03 22:41:32 +00:00
Tim Janik
c0b9232351 hmmmm, corrections? 1998-05-03 20:48:15 +00:00
Tim Janik
5c9af6b5aa new function to set the adjustments value without causing a current
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.
1998-05-03 19:13:24 +00:00
Tim Janik
19bbe0557f new function to set the current focus_child of a container, does proper
Sun May  3 16:55:43 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkcontainer.c (gtk_container_set_focus_child): new function to
                set the current focus_child of a container, does proper referencing and
                        adjusts the vadjustment/hadjustment associated with the focus widget.

                                * gtk/gtkwidget.c (gtk_widget_grab_focus): set the focused child on
                                        containers via gtk_container_set_focus_child.

                                                * gtk/gtknotebook.c: modifications to use gtk_container_set_focus_child
                                                        where appropriate.

                                                                * gtk/gtkcontainer.c (gtk_container_remove): removed unsetting of focus
                                                                        child since not every child removal goes through this function (this
                                                                                showed up after gtk_container_set_focus_child() started to reference the
                                                                                        focus_child of a container).

                                                                                                * gtk/gtkwidget.c (gtk_widget_unparent): moved unsetting the focus_child
                                                                                                        of a container from gtk_container_remove into this place.
1998-05-03 15:45:08 +00:00
Tim Janik
2ca03393f5 added new functions to operate on intermediate function pointers.
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
1998-05-02 20:48:49 +00:00
Owen Taylor
864a386300 merging owen's bug fix
Fri May  1 22:45:55 1998  Owen Taylor  <otaylor@gtk.org>

        * gtk/gtkscrolledwindow.c (gtk_scrolled_window_size_allocate):
                Always show the scrollbars when the policy is
                        GTK_POLICY_ALWAYS...
1998-05-02 19:01:33 +00:00
Tim Janik
d466bcb7a0 only emit "value_changed" if we really passed a new value.
Sat May  2 20:19:03 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkadjustment.c (gtk_adjustment_set_value): only emit
                "value_changed" if we really passed a new value.
                        (gtk_adjustment_changed): new function to emit the "changed" signal.
                                (gtk_adjustment_set_value): new function to emit the "value_changed"
                                        signal.
1998-05-02 18:35:23 +00:00
Tim Janik
998ac31096 do not just return if the combo-list is empty since that will cause the
Fri May  1 20:25:29 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkcombo.c (gtk_combo_popup_list): do not just return if
                the combo-list is empty since that will cause the combo to operate
                        on a non existing GtkList window.
                                (gtk_combo_get_pos): provide the combo list with a usfull default
                                        height if empty.
                                                (gtk_combo_popup_button_press): grab the focus.
                                                        (gtk_combo_activate): grab the focus.
1998-05-02 04:20:55 +00:00
Lars Hamann
67c79cda67 removed unneeded GtkCTree::draw_lines (gtk_ctree_get_node_info): New
* gtkctree.[ch]: removed unneeded GtkCTree::draw_lines
(gtk_ctree_get_node_info): New funtion to get data of ctree row.
(draw_row): changed drawing order of tree lines, draw triangles
in case of GTK_CTREE_LINES_NONE.
1998-05-01 23:45:18 +00:00
Owen Taylor
b0a28fdadd Further changes to the way the window is popped up so that it will be
Fri May  1 12:28:35 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkcombo.c: Further changes to the way the window
	is popped up so that it will be compatible with
	auto-scrolling in the future.
1998-05-01 19:39:27 +00:00
Owen Taylor
de210bbdec New function to reset the RC styles for a heirarchy
Fri May  1 12:06:43 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkwindow.[ch] (gtk_widget_reset_rc_styles): New
	function to reset the RC styles for a heirarchy

        Clear the window background if necessary in
	gtk_window_style_set.

	* gtk/gtkrc.[ch]: New function gtk_rc_reparse_all() which
	rereads all previously read RC files.

	* gdk/gdkwindow.c gdk/gdk.h: New function gdk_window_get_toplevels().
	(Should it just be called gdk_get_toplevels?)

	* gtk/testgtk.c: New test to reload RC files.
1998-05-01 16:15:39 +00:00
Tim Janik
61554862e6 ctree import 1998-05-01 13:20:55 +00:00
Tim Janik
befef270ab prefixed all clist flags with GTK_ to avoid name clashes. redefined
Fri May  1 13:57:36 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkclist.h:
                * gtk/gtkclist.c: prefixed all clist flags with GTK_ to avoid name
                        clashes. redefined GTK_CLIST_SET_FLAGS and GTK_CLIST_UNSET_FLAGS as
                                GTK_CLIST_SET_FLAG and GTK_CLIST_UNSET_FLAG to automatically add
                                        the GTK_ prefix (this solution involved less changes in the
                                                gtkclist.c code). added a GTK_CLIST_CONSTRUCTED flag to substitute
                                                        the mem_chunk==NULL test in gtk_clist_construct. merged in changes
                                                                from lars & stefan to support the derivation of GtkCtree.

                                                                        * gtkctree.h:
                                                                                * gtkctree.c:
                                                                                        initial import of a tree widget derived from gtkclist, courtesy
                                                                                                of Lars Hamann <lars@gtk.org> and Stefan Jeske <jeske@gtk.org>,
                                                                                                        it just damn rocks!


Fri May  1 10:05:44 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtklist.c (gtk_list_add): let gtk_list_append_items do the work
        for us.
        (gtk_list_insert_items):
        (gtk_list_remove_items_internal):
        (gtk_list_clear_items):
        remove a possible pointer grab, we might get thrown into a loop
        otherwise.
        (gtk_list_button_press): grab the pointer *before* selecting the child,
        because selection of items may cause the lists children to change,
        resulting in a grab release.
        (gtk_list_clear_items): use gtk_list_unselect_child() for unselection of
        children.
        (gtk_list_shutdown): remove all children from the list.
        (gtk_real_list_unselect_child):
        (gtk_real_list_select_child): *always* put our internal structures into
        sane state *before* signal emisions (i.e. list->selection updates prior
        to gtk_list_item_[de]select() calls).

        * gtk/gtkcombo.c (gtk_combo_init): adjust the scrollbar if the lists
        focused child walks out of the window.
        removed CAN_FOCUS for the combo arrow's button since it doesn't react
        to keyboard events ("clicked" connection is missing).
1998-05-01 13:16:49 +00:00
Owen Taylor
05bc6a5b36 Merged changes from gtk-1-0. Check ChangeLog for details. 1998-05-01 04:23:59 +00:00
Owen Taylor
8850ce814d Allow the user to use the popup list like a menu.
Thu Apr 30 11:18:00 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtkcombo.[ch]: Allow the user to use the popup list
	like a menu.

	* gtk/gtkmenuitem.c gtk/gtkitem.c: Moved enter/leave handlers
	to gtkitem.c so dragging can also work in lists.

	* gtk/gtklist.[ch]: Track child enter events and use
	those to allow dragging the selection.

Thu Apr 30 11:16:06 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktext.c: Try enabling background pixmaps for editable text
	widgets.  There is a bit of flashing, but not too bad. If you
	don't want the flashing, you can always not set a background
	pixmap.

Wed Apr 29 15:46:13 1998  Owen Taylor  <otaylor@gtk.org>

	* gtk/gtktext.c: Fixed a bug where the drawn level
	was being messed up when the text was scrolled
	during a deletion.
1998-04-30 15:18:19 +00:00
Owen Taylor
5647eeecf3 merging changes from owen:
Wed Apr 15 20:42:46 1998  Owen Taylor  <otaylor@gtk.org>

        * gtk/gtkpreview.c (gtk_preview_get_visuals): Make sure
        that when we are running with a non-installed colormap,
        in 8-bit pseudo-color, we actually are using the system
        visual. (Fixes *Bad Match* errors on Digital Unix machines
        with multiple 8-bit pseudo-color visuals)

-r HEAD and -r gtk-1-0 are in sync now!
1998-04-24 01:03:32 +00:00
Tim Janik
3e3c14e9ef changed ref_count field to be of type guint. added check for ref_count>0;
Fri Apr 24 01:29:04 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkaccelerator.h (struct _GtkAcceleratorTable): changed ref_count
                field to be of type guint.
                        * gtk/gtkaccelerator.c (gtk_accelerator_table_unref): added check for
                                ref_count>0;
                                        (gtk_accelerator_table_install): keep a per object list of accelerator
                                                tables that refer to this object.
                                                        (gtk_accelerator_table_remove): remove the accelerator table from the
                                                                per object list.
                                                                        (gtk_accelerator_table_clean): warn if there are any object references
                                                                                left in an accelerator table upon destruction.
                                                                                        (gtk_accelerator_tables_delete): new function to delete object
                                                                                                references from the accelerator tables associated with this object.

                                                                                                        * gtk/gtkwidget.c (gtk_widget_class_init): changed emission of
                                                                                                                GtkWidget::install_accelerator to GTK_RUN_LAST so the installation
                                                                                                                        of an accelerator can be prevented by gtk_signal_emit_stop().
                                                                                                                                (gtk_widget_real_destroy): call gtk_accelerator_tables_delete (),
                                                                                                                                        so there are no stale pointers in accelerator tables left.



this change is binary compatible, so just touch gtkaccelerator.h -r gtkwidget.h
1998-04-24 00:26:01 +00:00
Federico Mena Quintero
9546a9dc14 Remember whether the widget was visible before we unparent it.
1998-04-22  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkbin.c (gtk_bin_remove): Remember whether the widget was
	visible before we unparent it.
1998-04-23 04:26:20 +00:00
Tim Janik
f83adda582 ts ts ts, GList structures have a ->prev field as well!!! 1998-04-22 12:11:26 +00:00
Tim Janik
0dc21c5690 prepend the running_timeouts list with the tmp_list link itself, not with
Wed Apr 22 04:15:26 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_handle_current_timeouts): prepend the
                running_timeouts list with the tmp_list link itself, not with a new
                        GList structure pointing to our link. that would fill up memory and
                                causes the GList.data fields of the running_timeouts list to point to
                                        GList structures and not GtkTimeoutFunction structures which is a
                                                *really* bad thing.
                                                        (gtk_handle_current_idles): likewise (exchange "timout" with "idle" in
                                                                the above entry ;).
1998-04-22 02:20:50 +00:00
Tim Janik
57703d0170 new function ala gtk_radio_button_set_group. (gtk_radio_menu_item_init):
Sat Apr 18 22:18:12 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkradiomenuitem.h:
                * gtk/gtkradiomenuitem.c (gtk_radio_menu_item_set_group): new function
                        ala gtk_radio_button_set_group.
                                (gtk_radio_menu_item_init): assure that we always have at least a group
                                        that points to self.

                                                * gtk/gtkradiobutton.c (gtk_radio_button_set_group): few cleanups and
                                                        added g_return_if_fail() statements.
                                                                (gtk_radio_button_init): assure that we always have at least a group
                                                                        that points to self.
1998-04-18 20:33:35 +00:00
Tim Janik
c7c0e3d58d corrected a brace position (Damon Chaplin), which i got wrong when
Wed Apr 15 05:13:09 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtklabel.c (gtk_label_size_request): corrected a brace position
                (Damon Chaplin), which i got wrong when applying Damon's patch the last
                        time.
1998-04-15 04:00:45 +00:00
Owen Taylor
385164d6f9 Don't read the character past the end of the text.
Mon Apr 13 21:40:14 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtktext.c (find_char_width): Don't read the
	character past the end of the text.

	* gtk/gtkrange.c (gtk_real_range_timer): If the mouse
	button has been released before the timer is activated,
	don't keep on scrolling.

	* gdk/gdk.c (gdk_event_translate): Filter subsequent configure
	events after we discard the first. Removed obsolete and
	sometimes very slow GdkOtherEvent. (Left in gdktypes.h
	with signal in GTK)
1998-04-14 01:39:40 +00:00
Michael K. Johnson
1d6172102d removed duplicate call to gtk_widget_set_policy.
Mon Apr 13 15:04:26 1998  Michael K. Johnson <johnsonm@redhat.com>

        * gtk/testgtk.c (create_clist): removed duplicate call to
        gtk_widget_set_policy.
1998-04-13 19:09:00 +00:00
Tim Janik
18dfa1ae90 check for accelerator table to be != NULL.
Mon Apr 13 05:03:11 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwindow.c (gtk_window_add_accelerator_table): check for
                accelerator table to be != NULL.
                        (gtk_window_remove_accelerator_table): likewise.
1998-04-13 04:42:11 +00:00
Owen Taylor
a3ee7a9416 An old allocation error.
Sun Apr 12 22:43:22 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmenuitem.c (gtk_menu_item_size_allocate):
	An old allocation error.

	* gtk/gtkviewport.c (gtk_viewport_add): Don't map
	when adding a not-VISIBLE widget to a VISIBLE
	viewport.
1998-04-13 02:45:25 +00:00
PDT 1998 Shawn T. Amundson
92006c8e78 Changed LGPL address for FSF in all .h and .c files
Sun Apr 12 18:54:29 PDT 1998 Shawn T. Amundson <amundson@gtk.org>

        * Changed LGPL address for FSF in all .h and .c files
1998-04-13 02:02:47 +00:00
Owen Taylor
e6af5d49ae Set a flag so instead of clearing the area in advance. That looked
Sun Apr 12 20:09:40 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtklabel.[ch] (gtk_label_expose): Set a flag so
	instead of clearing the area in advance. That looked
	_really_ bad.

	* gtk/gtkcontainer.c (gtk_container_class_init): Changed
	"focus" to RUN_LAST.

	* gtk/gtkentry.c (gtk_entry_realize): Fixed place
	where allocation was used where requisition was meant.
	(Found by David J N Begley <david@avarice.nepean.uws.edu.au>)

	* gtk/gtkwindow.c (gtk_window_set_default): Fixed
	assertion in when setting default to NULL>
	("Damon Chaplin" <DAChaplin@email.msn.com>)

	* gtk/gtkwidget.c (gtk_widget_unparent): Unset the
	default widget on the toplevel, if necessary.

Sun Apr 12 02:04:21 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkpreview.c: Removed unecessary and harmful
	htons/ntohs when storing properties. (X does the byte
	swapping itself)
1998-04-13 00:20:17 +00:00
Owen Taylor
0dfc14aa8b Removed incorrect part of assertion that was causing failures for
Sat Apr 11 02:01:31 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtktext.c (scroll_down): Removed incorrect part of
	assertion that was causing failures for scrolling a single
	line very short text widget.
1998-04-11 06:06:51 +00:00
Owen Taylor
6114e5b813 Fixed a sign problem (typedef gint guint!). Added some checks to make sure
Sat Apr 11 01:41:55 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtktext.c (expose_text): Fixed a sign problem
	(typedef gint guint!). Added some checks to make sure things
	are positive.
1998-04-11 05:50:16 +00:00
Tim Janik
9c585e9210 don't shut down the tooltip on expose events.
Sat Apr 11 05:51:22 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtktooltips.c (gtk_tooltips_event_handler): don't shut down the
                tooltip on expose events.

                        * gtk/testgtk.c (create_progress_bar): add an example tooltip.
1998-04-11 03:54:34 +00:00
Owen Taylor
3a02948170 Picky --enable-ansi cleanups.
Thu Apr  9 18:36:31 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmisc.c gdk/gdkwindow gtk/gtkentry.c gtk/testgtk.c:
	Picky --enable-ansi cleanups.

	* gtk/gtkstatusbar.c (gtk_statusbar_pop): Pop top message
	off _belonging_to_this_context_. (gtk-d4bjorn-980409-0)

	From "Damon Chaplin" <DAChaplin@email.msn.com>

	* gtk/gtktable.c (gtk_table_size_request_pass3): Small fix to size
	requisition code.

	* gtk/gtknotebook.c: Make sure not to do things to page->tab_label
	if it doesn't exist.
1998-04-10 00:44:35 +00:00
Owen Taylor
26df647a0f (Found by Mattias.Gronlund" <Mattias.Gronlund@sa.erisoft.se>)
Thu Apr  9 14:24:35 1998  Owen Taylor  <owt1@cornell.edu>

	(Found by Mattias.Gronlund" <Mattias.Gronlund@sa.erisoft.se>)

	* gtk/gtkcurve.c (gtk_curve_interpolate): Added a
	missing g_free.

	* gtk/gtkcurve.c (gtk_curve_graph_events): Limits
	were off by one, resulting in writing past array
	bounds. Removed some unused code.

	* gdk/gdk.c (gdk_dnd_drag_begin): The event structure
	used for gdk_event_put should be a GdkEvent, not a
	subtype, since it will all be copied.

	* gtk/gtkcolorsel.c: Added a unrealize handler that
	unref's the GC's that were created.

	* gtk/testgtk.c (clist_warning_test): ref and sink
	child because it may never be added to anything.
1998-04-09 19:12:12 +00:00
Elliot Lee
2a2323d64e Combobulator fixes..... ....
Combobulator fixes.....
....

.....


......



.......



........

April fools! ;-)
1998-04-09 02:55:46 +00:00
Owen Taylor
3a1eebe683 Removed unsed variables (gtk-jbuhler-980408-0)
Wed Apr  8 20:50:02 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkwindow.c (gtk_window_set_hints): Removed unsed
	variables (gtk-jbuhler-980408-0)
1998-04-09 00:50:20 +00:00
Owen Taylor
520fd17eca Make sure widgets get removed from the resize queue before the connection
Wed Apr  8 17:27:40 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkwidget.c (gtk_widget_unparent): Make sure
	widgets get removed from the resize queue before the
	connection between them and the resize queue is broken
	by unparenting their parent.
1998-04-08 21:40:45 +00:00
Owen Taylor
0d1eb423a1 Handle border width correctly on realize after allocate.
Wed Apr  8 01:33:58 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkviewport.c (gtk_viewport_realize): Handle border
	width correctly on realize after allocate.
1998-04-08 05:41:40 +00:00
Owen Taylor
1c77b5f926 Removed, because that's what a NULL comparison function means. And it
Tue Apr  7 19:36:48 1998  Owen Taylor  <owt1@cornell.edu>

	* gutils.c (g_direct_compare): Removed, because that's what
	a NULL comparison function means. And it wasn't 64 bit safe.

Tue Apr  7 19:14:03 1998  Owen Taylor  <owt1@cornell.edu>

	* gdk/gdkpixmap.c: Added maximum field widths to prevent
	possible '%s' scanf overflows. Replaced scanf("%c")
	with getc(), Don't interpret /*/ as a full comment. Use
	g_realloc/g_new.

	* gtk/gtkwidget.h gtk/gtkprivate.h: Changed all flag
	tests to check for ((GTK_WIDGET_FLAGS(widget) & FLAG) != 0)
	instead of (GTK_WIDGET_FLAGS(widget) & FLAG)

	* gtk/gtkfilesel.c: Use getwd() instead of getcwd() on
	SunOS, because getcwd() hangs up in a wait4().
	(Found by David Monniaux <monniaux@clipper.ens.fr>)

	- Check device/inode/mtime not just inode/mtime, when
	caching scanned directories.
	(From: scottk@ig.utexas.edu (Scott Kempf))

	* gdk/gdkpixmap.c: Check for 0 width/height when
	creating pixmaps.

	* gtk/*.c: Global substitution of recently introduced
	"MAX (0," for allocations to "MAX (1,", since
	creating a backing pixmap with a zero width or height
	fails.

	* gdk/gdkwindow.c (gdk_window_new): Don't set all the
	WM properties for child windows. Don't set the base
	size, since the value we set will be taken as a minimum
	size.
1998-04-07 23:59:25 +00:00
Tim Janik
13de9dc34f don't take '\n' into account for size computation (Damon Chaplin).
Wed Apr  8 00:00:48 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtklabel.c (gtk_label_expose): don't take '\n' into account for
                size computation (Damon Chaplin).

                        * gtk/gtkvscale.c (gtk_vscale_draw_value): adjusted static snprintf()
                                buffer size to 32 characters (Damon Chaplin).
                                        * gtk/gtkhscale.c (gtk_hscale_draw_value): likewise.

                                                * gtk/gtkmain.c (gtk_main_iteration_do): gdk_flush() the X-queue if
                                                        iteration_done==TRUE since we will most likely not get invoked again
                                                                (Marius Vollmer).
1998-04-07 23:29:04 +00:00
Elliot Lee
39a05c0b55 gtk_button_remove(): When removing a child widget from a button, we don't
gtk_button_remove():
	When removing a child widget from a button, we don't want to check
	the child's visibility after removal (for the purpose of knowing
	whether a queue_resize is needed), we want to check it *before*,
	because the child may be destroyed during the
	gtk_widget_unparent()

	The diff is clearer than this stupid log message. :)
1998-04-07 19:51:06 +00:00
Owen Taylor
8051b9d2bc Set the window hints on every map so that GTK_WIN_POS_MOUSE works
Mon Apr  6 23:48:29 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkwindow.c (gtk_window_realize): Set the
	window hints on every map so that GTK_WIN_POS_MOUSE
	works correctly.
1998-04-07 04:17:27 +00:00
Federico Mena Quintero
30533f0397 Added function to set the homogeneous flag of the table (needed by derived
1998-04-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtktable.h:
	* gtk/gtktable.c (gtk_table_set_homogeneous): Added function to
	set the homogeneous flag of the table (needed by derived widgets
	and such).

1998-04-03  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* gtk/gtkradiobutton.h: Add prototype for gtk_radio_button_new_with_label_from_widget.
1998-04-06 22:33:32 +00:00
Owen Taylor
0f9fe89727 Take border in account properly.
Mon Apr  6 08:05:23 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkbutton.c (gtk_button_paint): Take border in
	account properly.

	* gtk/gtktext.c (gtk_text_realize): Don't recompute
	geometry when creating with initial 1x1 geometry,
	since our calculations can't handle that. Leave
	text->line_start_cache NULL as sign we don't have
	a real geometry yet.

	* gtk/gtkentry.c (gtk_entry_motion_notify): Use the x
	value we get from gdk_window_get_pointer, not from
	event->x - since we always specify OwnerGrabButtonMask
	(why???), event->x can refer to another window.
1998-04-06 12:59:06 +00:00
Owen Taylor
61ca241924 Make tab key move in reading order (left-to-right top to bottom) - which
Mon Apr  6 00:28:28 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkcontainer.c (gtk_container_focus_tab): Make
	tab key move in reading order (left-to-right top
	to bottom) - which might have been the original intended
	behavior modulo sorting bugs.

	* gtk-config.in: Never output -I/usr/include from --cflags
1998-04-06 04:31:15 +00:00
Owen Taylor
79d880ccb7 Fixed bug where right justified menu would overlap last left justified
Sun Apr  5 21:47:12 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmenubar.c: Fixed bug where right justified
	menu would overlap last left justified item.
1998-04-06 02:00:48 +00:00
Owen Taylor
20fee708a3 Fixed assignment of adjustment->value to negative values. Moved a few
Sun Apr  5 19:30:23 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkclist.c: Fixed assignment of adjustment->value
	to negative values. Moved a few other allocation type things
	around in ways that may or may matter. Fixed some allocation
	errors (scrollbars were overlapping main window).

	* gtk/gtkbutton.c (gtk_real_button_released): Small hack to keep
	button labels from vanishing when the invoked operation blocks.

	* gtk/gtkbox.c (gtk_box_remove): Assigning GTK_WIDGET_VISIBLE (widget)
	to a gboolean (char) is _bad_. GTK_VISIBLE == 256.
1998-04-05 23:30:26 +00:00
Owen Taylor
1a099c2ced Reverted broken implementation of removing the current timeout/idle.
Sun Apr  5 15:08:25 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmain.c: Reverted broken implementation of removing
	the current timeout/idle. Substituted a (hopefully) functional one.
1998-04-05 19:23:38 +00:00
Tim Janik
ab7989217a take expired timeouts into account, otherwise things like e.g.
Sun Apr  5 09:35:55 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_events_pending): take expired timeouts into
                account, otherwise things like e.g. spin-buttons don't work.
                        also, count gtk_main_quit() as an event.
1998-04-05 09:18:08 +00:00