Commit Graph

213 Commits

Author SHA1 Message Date
Owen Taylor
a0ca2a7b0d New function gdk_pixmap_foreign_new(). (gtk-blizzard-981005-0. Christopher
Fri Nov 13 11:22:38 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkpixmap.c: New function gdk_pixmap_foreign_new().
	(gtk-blizzard-981005-0.
	 Christopher Blizzard <blizzard@applied-theory.com)

	* gdk/gdk.h gdk/gdkx.h: Moved gdk_window_foreign_new and
	gdk_pixmap_foreign_new to gdkx.h.

Fri Nov 13 16:06:48 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am: Added rules to generate an empty
	GTK+ theme called "Default" upon installation.

	* gtk/gtkrc.c (gtk_rc_parse_style): Fix inheritance
	of fonts and fontsets.
	(gtk-matsu-980924. Takashi Matsuda matsu@arch.comp.kyutech.ac.jp)

	* gtk/gtkmain.c: Change test to detect glibc's
	utf8 based mb* functions to be more specific.

	* gtk/gtkwindow.[ch] gtk/gtkfixed.c: Indentation
	cleanups.
1998-11-13 21:28:36 +00:00
Lars Hamann
f164436f86 added ARG_WINDOW_PLACEMENT
Wed Nov 11 19:54:58 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkscrolledwindow.c (gtk_scrolled_window_class_init)
        (gtk_scrolled_window_set_arg) (gtk_scrolled_window_get_arg):
        added ARG_WINDOW_PLACEMENT

        * gtk/gtkclist.c (size_allocate_columns): resize column if column
        button > column width and auto_resize is set
        (real_clear) (column_auto_resize) (gtk_clist_optimal_column_width):
        consider column button width of auto resized columns
        (gtk_clist_parent_set): removed

        * gtk/gtkctree.c (gtk_ctree_insert_node): call column_auto_resize.
        (auto_resize_columns): auto_resize all columns
        (real_tree_collapse) (gtk_ctree_remove_node): call auto_resize_columns
        (column_auto_resize): respect column button width of auto resized
        columns
1998-11-11 20:46:51 +00:00
Lars Hamann
6ef274c0ed new enum GtkCornerType added window_placement. new method to set
Mon Nov  9 00:39:20 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkenums.h : new enum GtkCornerType
        * gtk/gtkscrolledwindow.h (struct _GtkScrolledWindow): added
        window_placement.
        * gtk/gtkscrolledwindow.c (gtk_scrolled_window_set_placement):
        new method to set window_placement.
        (gtk_scrolled_window_viewport_allocate)
        (gtk_scrolled_window_size_allocate): few changes due to
        window_placement.
        * gtk/testgtk.c (remove_selection): fixed while loop.
1998-11-09 00:23:37 +00:00
Manish Singh
3c07b7ebbd check if column[i].button is valid before calling gtk_widget_intersect on
* gtk/gtkclist.c: check if column[i].button is valid before calling
gtk_widget_intersect on it in gtk_clist_draw

* gtk/gtkdnd.c: removed unused variable empty_bits

* gtk/gtkrc.c: we should use gslist_* functions with GSLists...

* gtk/gtktypeutils.[ch]: makes more send for gtk_type_is_a to return
a boolean (thanks to Elrond for noticing this)

-Yosh
1998-11-08 05:58:41 +00:00
Guillaume Laurent
75fff482b9 Added warning about callback on <Branch> items 1998-11-07 00:33:22 +00:00
Owen Taylor
e2a5219220 Merge from themes-2. See the ChangeLog for a somewhat detailed
history of the evolution of the changes involved. Most of this
is actually minor painting tweaks.
1998-11-06 22:05:02 +00:00
Lars Hamann
00fbbe68b0 removed vscrollbar, hscrollbar, vscrollbar_policy, hscrollbar_policy.
Thu Nov  5 16:00:32 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.h (struct _GtkCList): removed vscrollbar, hscrollbar,
 	vscrollbar_policy, hscrollbar_policy. added h/vadjustment.

	* gtk/gtkclist.c (gtk_clist_class_init): added new args types
  	"hadjustment" & "vadjustment"
 	 (gtk_clist_set_arg) (gtk_clist_get_arg): new object class
  	set/get_arg functions
 	(gtk_clist_construct): don't create/adjust scrollbars.
 	(gtk_clist_set_hadjustment) (gtk_clist_set_vadjustment): new functions
 	to set h/vadjustments
  	(gtk_clist_get_vadjustment) (gtk_clist_get_hadjustment): new functions
 	to query h/vadjustments
 	(create_scrollbars): removed.
 	(create_adjustments): replacement for create_scrollbars
 	(gtk_clist_new): call gtk_clist_new_with_titles
 	(gtk_clist_new_with_titles): don't warn on titles == NULL
 	(move_horizontal): use CLAMP instead
 	(gtk_clist_set_policy): deprecated method.
  	use gtk_scrolled_window_set_policy instead.
 	(vadjustment_value_changed): use clist->vadj.
 	(adjust_scrollbars): renamed to adjust_adjustments
 	(adjust_adjustments): former adjust_scrollbars
 	(gtk_clist_destroy): unref adjustments
 	(gtk_clist_size_allocate) (gtk_clist_map) (title_focus)
  	(gtk_clist_unmap) (gtk_clist_size_request) (gtk_clist_focus)
  	(gtk_clist_size_allocate) (gtk_clist_forall): don't use scrollbars
 	(gtk_clist_thaw) (real_insert_row) (real_remove_row)
 	(gtk_clist_set_row_height) (real_resize_column):
 	call adjust_adjustments
 	(gtk_clist_moveto): return if clist has no adjustments yet.
 	(gtk_clist_parent_set): new GtkWidget::parent_set function.
 	Autogenerate h/vadjustments if needed.
 	(move_horizontal) (move_vertical): some cleanups

	* gtk/gtkviewport.c (gtk_viewport_set_arg) (gtk_viewport_new):
  	call only gtk_viewport_set_h/vadjustment and let these functions
  	do the work.
 	(gtk_viewport_set_hadjustment) (gtk_viewport_set_vadjustment):
 	generate a new adjustment if needed

	* gtk/gtkscrolledwindow.h ((struct _GtkScrolledWindow):
  	use a guint bitfield for h/vscrollbar_policy and h/vscrollbar_visible

	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
  	queue_resize if visibility of scrollbars changes
  	(gtk_scrolled_window_remove): only call container_remove with
  	scrolled_window->viewport automatically if viewport was autogenerated
 	(gtk_scrolled_window_add): add widget as scrolled_window->viewport.
 	auto create a viewport only if widget does not take h/vadjustments.
 	(gtk_scrolled_window_construct): don't generate a viewport
  	automatically.
 	(gtk_scrolled_window_forall): call callback with viewport in any case
 	(gtk_scrolled_window_set_arg): call gtk_container_add in case of
  	ARG_VIEWPORT
 	(gtk_scrolled_window_size_allocate) (gtk_scrolled_window_size_request)
 	(gtk_scrolled_window_map) (gtk_scrolled_window_unmap): check
  	viewport != NULL

	* gtk/testgtk.c
 	(create_ctree) (export_ctree) (create_clist): use a scrolled_window
  	in conjunction with clists/ctrees

	* gtk/gtkfilesel.c (gtk_file_selection_init): use a scrolled_window
 	in conjunction with clists

	* gtk/gtkfontsel.c (gtk_font_selection_init): use a scrolled_window
 	in conjunction with clists
1998-11-05 15:44:22 +00:00
Lars Hamann
e45890a616 rearranged some functions (gtk_clist_set_column_auto_resize): new
Mon Oct 19 23:44:41 1998  Lars Hamann  <lars@gtk.org>

	* gtk/gtkclist.c: rearranged some functions
	(gtk_clist_set_column_auto_resize): new function. toggle auto_resize
 	flag of column
	(gtk_clist_set_column_resizeable): if resizeable disable auto_resize
	(gtk_clist_set_border): deprecated function, use
 	gtk_clist_set_shadow_type instead.
	(gtk_clist_set_shadow_type): replacement for gtk_clist_set_border
 	(adjust_scrollbars): some cleanups
	(select_row) (unselect_row): removed. replaced by equivalent
	gtk_signal_emit calls
	(add_style_data): removed, use gtk_clist_style_set instead
	(gtk_clist_style_set): fill in size data, after style was set.
 	(set_cell_contents) (gtk_clist_set_shift) (gtk_clist_set_row_style)
 	(gtk_clist_set_cell_style): auto_resize columns if needed
	(column_auto_resize): resize column if needed for auto_resize
	(real_clear): disable auto_resize while list destroy
	(resize_column): removed

	* gtk/gtkctree.c : (gtk_ctree_remove_node)
	(gtk_ctree_set_line_style) (gtk_ctree_set_expander_style)
	(gtk_ctree_node_set_row_style) (gtk_ctree_node_set_cell_style)
 	(set_cell_contents) (gtk_ctree_node_set_shift) (gtk_ctree_set_spacing)
	(real_tree_move) (gtk_ctree_set_indent) (gtk_ctree_insert_node)
	(real_tree_collapse) (real_tree_expand) (column_auto_resize):
 	auto_resize columns if needed
	(gtk_ctree_collapse_recursive) (gtk_ctree_collapse_to_depth)
	(real_clear): disable auto_resize while processing the tree

	* gtk/testgtk.c (create_clist) (create_ctree): set auto_resize
	for one column
1998-10-19 22:46:38 +00:00
Owen Taylor
d5129fbb3a New test program for new DND. (Old DND tests in testgtk still need to be
* gtk/testdnd.c: New test program for new DND. (Old
	DND tests in testgtk still need to be converted.)
1998-10-18 23:28:36 +00:00
Owen Taylor
f7bcb45607 Added a modular client-message-filter mechanism, that is used for the DND
Sun Oct 18 18:16:39 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdk.c gdkprivate.h: Added a modular client-message-filter
	mechanism, that is used for the DND messages.

	  Removed all the old DND code.

	* gdk/gdkcolormap.c gdk/gdkcolormap.h: Add a function to
	get the visual of a given colormap.

	* gtk/gtkcolorsel.c: Conversion to new DND, drag
	a color-swatch.

	* gdk/gdk.h gdk/gdkdnd.c: The low-level
	X oriented portions of drag and drop protocols.
	Sending and receiving client messages, and navigating
	window trees.

	* gdk/gdkimage.c: added a gdk_flush() when destroying
	SHM images to hopefully make it more likely that
        X will gracefully handle the segment being destroyed.

	* gdk/gdkprivate.h gtk/gtkdebug.h: Add new
	DND debugging flags.

	* gtk/gtkeditable.[ch]: Updates for the selection handling
	changes.

	* gtk/gtkselection.[ch]: Added GtkTargetList, a
	refcounted data structure for keeping track of lists
	of GdkAtom + information. Removed selection_handler_add
	in favor of a "drag_data_get" signal.

	* gtk/gtkdnd.[ch] gtk/gtk.h: New files - highlevel (event loop
	dependent) parts of the DND protocols, display of drag icons,
	drag-under highlighting, and the "default handlers".

	* gtk/gtkinvisible.[ch]: New widget - InputOnly offscreen
	windows that are used for reliable pointer grabs and
	selection handling in the DND code.

	* gtk/testdnd.c: New test program for new DND. (Old
	DND tests in testgtk still need to be converted.)

	* gtk/testselection.c: Use the new selection API.

	* docs/dnd_internals: Start at describing how
	all the new code works inside.

	* docs/Changes-1.2.txt: New file describing source-incompatible
	changes in GTK+-1.2.

Sat Oct 17 22:50:34 1998  Owen Taylor  <otaylor@gtk.org>

	* gdk/gdkwindow.c (gdk_window_remove_filter): Free
	the right list node.

	* gdk/gdkwindow.c (gdk_window_init): Add gdk_root_parent
	to the XID table so we can receive events on it.

Wed Oct 14 12:57:40 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c gdk/gdk.h (gdk_event_get_time): New function
	to get the timestamp from a generic event.

Fri Oct  9 13:16:04 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_add_events): Added function
	that safely adds additional events to a widget's event
	mask, even if the widget has previously been realized.
	(We can do this, but not remove events from the event
	 mask).

Fri Oct  2 17:35:35 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkproperty.c (gdk_property_get): Allow type == 0,
	for AnyPropertyType.

Fri Oct  2 10:32:21 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkproperty.c (gdk_atom_intern): Add client-local
	hashing.

Thu Sep 24 20:33:54 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c (gdk_event_send_clientmessage_toall): serial
	isn't a timestamp.

Thu Sep 17 14:23:03 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c (gdk_event_translate): Removed printing
	of unknown window lookup warnings. (Made it
	a GDK_NOTE) - they happen in many circumstances.
1998-10-18 22:51:24 +00:00
Lars Hamann
eff33964d7 change a few cell styles of inserted row (change_style): change style of
Fri Oct 16 15:59:02 1998  Lars Hamann  <lars@gtk.org>

	* gtk/testgtk.c (insert_row_clist) (create_clist): change a few cell
	styles of inserted row
	(change_style): change style of focus_row

	* gtk/gtkclist.c (gtk_clist_get_row_style) (gtk_clist_set_row_style)
	(gtk_clist_get_cell_style) (gtk_clist_set_cell_style): new functions
	to set/get row/cell styles.
	(gtk_clist_realize): attach row and cell style, allocate row colors.
	(gtk_clist_unrealize): detach row and cell styles.
	(get_cell_style): new function. get correct cell style.
	(draw_cell_pixmap): new function.
	(draw_row): draw cells with row or cell styles.
	(row_new): set cell and row styles to NULL.
	(row_delete): detach & unref cell and row styles.

	* gtk/gtkctree.c (ctree_detach_styles) (ctree_attach_styles):
	new functions to attach/detach styles and allocate colors.
	(gtk_ctree_realize) (gtk_ctree_unrealize): attach/detach cell and row
	styles of invisible nodes.
	(draw_cell_pixmap): new function.
	(get_cell_style):  new function. get correct cell style.
	(gtk_ctree_draw_expander): new function. draw tree expander.
	(gtk_ctree_draw_lines): new function.draw tree lines.
	(draw_row): draw cells with row or cell styles.
	(row_new): set cell and row styles to NULL.
	(row_delete): detach & unref cell and row styles.
	(gtk_ctree_node_get_row_style) (gtk_ctree_node_set_row_style)
	(gtk_ctree_node_get_cell_style) (gtk_ctree_node_set_cell_style):
	Analogons of GtkCList functions
	(gtk_ctree_set_spacing): new function. set spacing between
	tree expander and cell contents
	(gtk_ctree_set_expander_style): new function. set expander style
	of ctree.
	(ctree_is_hot_spot): few changes due to draw_row modifications.
1998-10-16 15:00:05 +00:00
Tim Janik
c3a163b021 use g_free to free g_malloced memory (Martin Pool
Tue Oct  6 14:05:00 1998  Tim Janik  <timj@gtk.org>

        * gtk/testgtk.c (cb_tree_destroy_event): use g_free to free g_malloced
        memory (Martin Pool <mbp@wistful.humbug.org.au>).
1998-10-06 12:36:17 +00:00
Raph Levien
ecb9ebbce3 Fixed an alpha bug. 1998-10-05 22:30:08 +00:00
Tim Janik
c961dd184b new function to get the *real* geometry position of a window, taken
Sat Sep 25 23:33:55 1998  Tim Janik  <timj@gtk.org>

        * gdk/gdkwindow.c (gdk_window_get_root_origin): new function to get
        the *real* geometry position of a window, taken possible window
        manager offsets into account.
        this has been succesfully tested with fvwm, fvwm-2, bowman, olwm,
        olvwm, twm, ctwm, mlvwm, windowmaker and enlightenment.
        it does fail though for amiwm which adds windows to a pseudo root
        window, and for icewm by a small offset because it defines the
        geometry position whithin its border.

        * gtk/testgtk.c: added "saved position" test to figure how
        gdk_window_get_root_origin() interacts with window managers (repopup
        this window to figure ;).
1998-09-25 23:04:32 +00:00
Raph Levien
6d13f0f9b3 Checking in minor changes. Now synced with 0.9.0. 1998-09-11 00:11:05 +00:00
Manish Singh
683cb5753e added -posix check for NeXTStep
* configure.in: added -posix check for NeXTStep

* gtk/testthreads.c: applied part of gtk-joke-980907-0 to use
a unique buffer for each thread.

* docs/gtk-config.1: clarified copyright

-Yosh
1998-09-09 09:51:44 +00:00
Manish Singh
f6d4cb9b99 #include <stdlib.h> for rand()
-Yosh
1998-09-06 19:36:56 +00:00
Raph Levien
1fe35dda56 Minor improvements to gdkrgb, added testrgb to the gtk directory. 1998-09-01 05:29:45 +00:00
Manish Singh
f2322ebeb4 quell some warnings with g_hash_table_new
* gdk/gdkcolor.c:
(gdk_colormap_new) (gdk_colormap_get_system):
quell some warnings with g_hash_table_new

* gtk/gtkaccelgroup.c (gtk_accel_group_add): free the GtkSignalQuery when
we're done with it

* gtk/itemfactory.c:
(gtk_item_factory_from_path):
(gtk_item_factory_create_item): free some strings

* gtk/gtklabel.c:
(gtk_label_finalize): free label->pattern when done
(gtk_label_parse_uline): null terminate pattern string, delete some duplicated
code

* gtk/testthreads.c: add #include <unistd.h> for sleep()

-Yosh
1998-08-29 22:27:47 +00:00
Owen Taylor
caf8ebc6f1 Reference count the fonts used in the text widget.
Mon Aug 24 18:37:15 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktext.c: Reference count the fonts used in
	the text widget.

	* gdk/gdk.h gdk/gdkcolor.c: Rename the color allocation
	freeing functions to be more consistent, and more
	convenient; leave the old names in for backwards compatibility.

	* gdk/gdkcolor.c gdk/gdkprivate.h: Reference count the
	allocations in pseudo-color colormaps to greatly reduce
	calls to XAllocColor. Keep a per-colormap hashtable to
	speed up finding if there is an already-allocated matching
	color.

	* gdk/gdkcolor.c: Don't just match read the system colormap
	when the colormap is created, but synchronize our copy
	with the system colormap periodically.

	* gdk/gdk.c gdk/gdktypes.h gtk/gtkentry.c gtk/gtktext.c:
	Change XIM constants names to match GDK conventions

	* gtk/testinput.c: Allow the drawing area to get the focus.

	* gtk/testgtk.c: Change around the Text test to demonstrates
	multiple fonts, use more colors.

	* gtk/gtkwidget.c: Improve gtk_widget_get_colormap()/visual()
	so they work after a widget is unrealized.

	* gtk/gtktext.[ch]: Remove the requirement that the text
	widget be realized before adding text (!) Allocate colors
	ourself, instead of requiring the caller allocate them.
	Allow changing styles to work properly by keeping track
	of the values for a certain property are default or
	set explicitely.

	* gtk/gtkmenu.h: Added some comments.

	* gtk/gtkentry.c: Changes to match XIM constants.

	* gtk/gdk.h gdk/gdkwindow.c: Add gdk_drawable_set_data(),
	for adding keyed data to drawables. (Uses g_dataset
	internally)

	* gdk/gdkpixmap.c: Keep track of the colors we allocate,
	when creating an XPM - store them as user data for the GdkPixmap,
	so we don't leak colors when we create pixmaps from XPM's.

	Allocate memory for color information in large blocks instead of
	as many little pieces.
1998-08-25 00:06:38 +00:00
Manish Singh
568b42bd52 silly visual fixes
* gdk/gdkrgb.c: silly visual fixes

* gtk/testgtk.c: call gdk_rgb_init so color preview test actually works

-Yosh
1998-08-20 20:10:52 +00:00
Raph Levien
e946fcf69d Change to testgtk to go along with GdkRgb integration into gtk_preview. 1998-08-20 06:59:26 +00:00
Lars Hamann
17d141c8e5 new class methods: (sort_list) (insert_row) (remove_row)
Tue Aug 18 00:29:13 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkclist.h:
        (struct _GtkCListClass): new class methods:
        (sort_list) (insert_row) (remove_row) (set_cell_contents)

        * gtk/gtkclist.c :
        (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
        removed and replaced by (set_cell_contents)
        (set_cell_contents): function for class method set_cell_contents
        (real_insert_row): function for class method insert_row
        (real_remoce_row): function for class method remove_row
        (real_sort_list): function for class method sort_list
        (default_compare): fix to avoid problems with cell types != CELL_TEXT

        * gtk/gtkctree.h :
        (gtk_ctree_export_to_gnode): new function to export a ctree as gnode
        (gtk_ctree_node_is_visible): new function to return visibility state
        of a node
		(gtk_ctree_show_stub): new function to set visibility of root stub

        renamed functions :
        (gtk_ctree_insert) -> (gtk_ctree_insert_node)
        (gtk_ctree_remove) -> (gtk_ctree_remove_node)
        (gtk_ctree_find_glist_ptr) -> (gtk_ctree_find_node_ptr)
        (gtk_ctree_set_text) -> (gtk_ctree_node_set_text)
        (gtk_ctree_set_pixmap) -> (gtk_ctree_node_set_pixmap)
        (gtk_ctree_set_pixtext) -> (gtk_ctree_node_set_pixtext)
        (gtk_ctree_set_shift) -> (gtk_ctree_node_set_shift)
        (gtk_ctree_get_cell_type) -> (gtk_ctree_node_get_cell_type)
        (gtk_ctree_get_text) -> (gtk_ctree_node_get_text)
        (gtk_ctree_get_pixmap) -> (gtk_ctree_node_get_pixmap)
        (gtk_ctree_get_pixtext) -> (gtk_ctree_node_get_pixtext)
        (gtk_ctree_set_foreground) -> (gtk_ctree_node_set_foreground)
        (gtk_ctree_set_background) -> (gtk_ctree_node_set_background)
        (gtk_ctree_set_row_data) -> (gtk_ctree_node_set_row_data)
        (gtk_ctree_set_row_data_full) -> (gtk_ctree_node_set_row_data_full)
        (gtk_ctree_get_row_data) -> (gtk_ctree_node_get_row_data)
        (gtk_ctree_moveto) -> (gtk_ctree_node_moveto)
        (gtk_ctree_sort) -> (gtk_ctree_sort_node)
		(gtk_ctree_is_visibe) -> (gtk_ctree_is_viewable)

        * gtk/gtkctree.c :
        (cell_empty) (cell_set_text) (cell_set_pixmap) (cell_set_pixtext):
        removed and replaced by (set_cell_contents)
        (set_cell_contents): function for class method set_cell_contents
        (real_insert_row): function for class method insert_row
        (real_remoce_row): function for class method remove_row
        (real_sort_list): function for class method sort_list
        (default_compare): removed. CTree now also compares two GtkCTreeRows
        instead of two GtkCTreeNodes.
        (gtk_ctree_unlink): call gtk_ctree_collapse if parent is empty after
        unlinking the node
        (real_tree_expand) (real_tree_collapse): fix for refcounting of
        node pixmaps
        (set_node_info): call gtk_ctree_node_set_pixtext instead of
        manipulating the row itself

        * gtk/testgtk.c: use renamed functions of GtkCTree.
        new sample to show gtk_ctree_export_to_gnode and gtk_ctree_insert_gnode
        at work.
1998-08-17 23:48:04 +00:00
Tim Janik
dceb6a11c8 remove the ugly HAVE_LIBGLE test (last time i typed that word!). 1998-08-17 03:54:27 +00:00
Tim Janik
31de6ff4e0 fatal warning option is split up now, "--g-fatal-warnings" causes fatal
Sun Aug 16 20:51:59 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.c (gtk_init): fatal warning option is split up now,
        "--g-fatal-warnings" causes fatal warnings in GLib,
        "--gdk-fatal-warnings" causes fatal warnings in Gdk,
        "--gtk-fatal-warnings" causes fatal warnings in Gtk.

        * gtk/Makefile.am: define G_LOG_DOMAIN for gtk.
        * gdk/Makefile.am: define G_LOG_DOMAIN for gdk.

        * gtk/testgtk.c:
        * gdk/gxid.c:
        we need ugly #undef G_LOG_DOMAIN at the start of these files currently,
        since automake doesn't support per target _CFLAGS yet.

        * configure.in: require GLib 1.1.3.
1998-08-16 21:15:11 +00:00
Owen Taylor
4af7480f8f Added gdk_text/string_extents() - too calculate all the metrics at once of
Tue Jul 21 12:42:01 1998  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.h gdk/gdkfont.c: Added gdk_text/string_extents() -
	  too calculate all the metrics at once of a string, including
	  things which weren't calculated before.

	* gtk/Makefile.am gtk/gtk.h gtk/gtktearoffmenu.[ch]: New
	  MenuItem type, that when put as the first thing in a
	  menu, makes the menu tearoff. Currently drawn as a
	  dashed line.

	* gtk/gtkmenuitem.h gtk/gtkcheckmenuitem.c: Added a flag
	  "hide_on_activate" to the MenuItem class structure to allow
	  check and radio buttons to be changed with <Space> without
	  hiding the menu.

	* gtk/gtkaccellabel.[ch]: Added new capabilities to set
	  a underline_group and underline_mods for the label -
	  accelerators added in the underline group matching
	  underline_mods will be displayed as an underline character.

	  This doesn't work - Save As needs to be underlined
	  as Save _As.

	* gtk/gtkitemfactory.c:
	  - Create a AccelGroup for each MenuShell we create.
	  - If an '&' appears before a  character 'c' in the path,
	    then make 'c' an accelerator in the menu's accel group,
	    and if the menuitem is menubar <alt>C an accelerator
	    in the itemfactory's accel group.

	* gtk/gtklabel.[ch]: Add support for a pattern arg -
          which is a string. If an '_' appears in this string,
	  the corresponding position in the label is underlined.

          Add gtk_label_parse_uline() convenience function which
	  takes a string with embedded underlines, sets the
	  pattern and label, and returns the accelerator keyval.

	* gtk/gtkmenu.[ch]: Make menus no longer a toplevel widget.
	  Instead, they create a GtkWindow and add themselves
	  to that. (When torn off, another new feature, they
	  create another GtkWindow to hold the torn off menu)

	  New function gtk_menu_set_tearoff_state()

	* gtk/gtkenums.h gtk/gtkmenushell.[ch] gtk/gtkenums.h:
	  Added action signals  for keyboard navigation of menus.

	* gtk/gtkmenushell.c: Key press handler which activates
          bindings for navigation, and accelerators, for handling
	  underline accelerators. Exported functions to select
	  and activate menu items in a menushell.

	* gtk/testgtk.c: Added a new "Item Factory" test which
	  tests GtkItemFactory and the new keyboard navigation
	  of menus.
1998-08-12 16:49:13 +00:00
Owen Taylor
ca7082a04a Removed has_cursor, set the cursor beginning of Text when creating the
Tue Aug 11 15:04:52 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktext.[ch]: Removed has_cursor, set the cursor
	  beginning of Text when creating the Text widget.

	* gtk/testgtk.c: Grab the focus on the text widget so
	  as to test out the above.

Tue Aug 11 14:55:00 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkeditable.c: Reverted part of timj's change of Jul 16.
	  ::changed is a notification signal and should have no default
	  handler. A complete redraw of the Text widget does _not_ need to
	  be done on every text insertion.

Tue Aug 11 13:07:29 1998  Owen Taylor  <otaylor@redhat.com>
	(gtk-abilleira-072198-patch)

	* gtk/gtkwindow.[ch]:
	  Add gtk_window_set_modal() which sets a flag; when
	  set the window does a gtk_grab_add() when the window
	  is shown, and a gtk_grab_remove() when the window
	  is hidden.

	* gtk/gtkfilesel.[ch]: Test if it is running in modal form and in
	  that case will run "Create Dir","Delete File" and "Rename File"
	  dialogs as modal too.

	* gtk/testgtk.c: Added a button with an example of creating modal
	  dialog boxes. Including file selection and color selection standard
	  dialogs.

Tue Aug 11 00:44:47 1998  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkhscrollbar.c gtk/gtkvscrollbar.c gtk/gtktoolbar.c:
	  Removed CAN_FOCUS by default from scrollbars, button
	  children of toolbar. (But not GDK_TOOLBAR_CHILD_WIDGET children)
	  (Scrollbar definitely good change, toolbar bit more questionable)
1998-08-11 19:06:18 +00:00
Stefan Jeske
c8df83a2fe new enum GtkSortType.
Wed Aug  5 21:12:37 1998  Stefan Jeske  <stefan@gtk.org>

	* gtk/gtkenums.h: new enum GtkSortType.

	* gtk/gtkclist.h:
	* gtk/gtkclist.c:
	Added sorting capabilities to GtkCList. New APIs :
	gtk_clist_set_compare_func, gtk_clist_set_sort_column,
	gtk_clist_set_sort_type, gtk_clist_sort, gtk_clist_set_auto_sort.
	New internal functions : default_compare, merge, mergesort.

	(gtk_clist_append): This is just a wrapper for gtk_clist_insert now.

	(gtk_clist_insert): Modified to handle gtk_clist_append and the
	auto sort flag. Changed the return value from void to gint to
	return the row number where the element was actually inserted.

	(gtk_clist_swap_rows): Return immediately if auto sort flag is set.

	* gtk/gtkctree.h:
	* gtk/gtkctree.c:
	Removed the auto_sort flag, replaced ctree->node_compare with
	clist->compare all over the place, modified default_compare to
	match clist's needs. Removed APIs : gtk_ctree_set_auto_sort,
	gtk_ctree_set_compare_func. Removed GtkCTreeCompareFunc typedef.

	* gtk/testgtk.c: Modified clist/ctree samples to demonstrate
	sorting. The lists can be sorted by a column by clicking the
	corresponding title button.
1998-08-05 20:02:32 +00:00
Lars Hamann
8ad52d1024 Few fixes for column resize. Store resize column in clist->drag_pos.
Fri Jul 31 20:45:07 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkclist.c (gtk_clist_button_press) (gtk_clist_motion)
        (gtk_clist_button_release) (new_column_width): Few fixes for
        column resize. Store resize column in clist->drag_pos.

Thu Jul 31 15:18:36 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtkctree.h
        * gtk/gtkctree.c
        * gtk/testgtk.c : New typedef GtkCTreeNode, changed all GList *node
        to GtkCTreeNode *node.

        * gtk/gtklist.h : added extended selection mode and auto scrolling.
        (struct _GtkList): removed unneeded variables timer, button,
        selection_start_pos, selection_end_pos, scroll_direction, have_grab.
        Added new variables undo_selection, undo_unselection, last_focus_child,
        undo_focus_child, htimer, vtimer, anchor, drag_pos, anchor_state,
        drag_selection, add_mode.

        New functions :
        (gtk_list_extend_selection), (gtk_list_start_selection),
        (gtk_list_end_selection), (gtk_list_select_all),
        (gtk_list_unselect_all), (gtk_list_scroll_horizontal),
        (gtk_list_scroll_vertical), (gtk_list_toggle_add_mode),
        (gtk_list_toggle_focus_row), (gtk_list_toggle_row),
        (gtk_list_undo_selection), (gtk_list_end_drag_selection)

        * gtk/gtklist.c :
        (gtk_list_enter_notify): removed, because auto scrolling now works
        with gtk_list_motion_notify

        New functions, needed for auto scrolling :
        (gtk_list_motion_notify) (gtk_list_move_focus_child)

        New functions for extended selection support :
        (gtk_list_set_anchor), (gtk_list_fake_unselect_all),
        (gtk_list_fake_toggle_row), (gtk_list_update_extended_selection),
        (gtk_list_focus_lost)

        (gtk_list_set_focus_child): modified gtk_container_set_focus_child
        function to support auto scrolling, and avoid out-of-sync errors in
        case auf GTK_SELECTION_BROWSE
        (gtk_list_focus): modified gtk_container_focus function to avoid out
        off sync errors in case auf GTK_SELECTION_EXTENDED

        * gtk/gtklistitem.h
        * gtk/gtklistitem.c :
        New signal functions for key binding support :
        (toggle_focus_row), (select_all), (list_item), (unselect_all)
        (list_item), (undo_selection), (start_selection), (end_selection)
        (extend_selection), (scroll_horizontal), (scroll_vertical),
        (toggle_add_mode)
        (gtk_list_item_realize): added  GDK_KEY_PRESS_MASK |
        GDK_KEY_RELEASE_MASK
        (gtk_list_item_draw_focus): modify gc if parent has add_mode set.

        * gtk/gtkcombo.c :
        (gtk_combo_popup_button_press):  grab pointer for combo->list
        (gtk_combo_button_release): ungrab only if combo->popwin HAS_GRAB
        (gtk_combo_list_key_press): take care of which child HAS_GRAB
        (gtk_comb_init): don't connect combo->button with button_release_event
1998-07-31 20:48:06 +00:00
Tim Janik
fc7c7f466f fixup, so that enum values are looked up.
Mon Jul 27 03:11:20 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkbindings.c (binding_compose_params): fixup, so that enum
        values are looked up.

        * gtk/gtktypeutils.h:
        * gtk/gtktypeutils.c: new functions gtk_type_flags_find_value and
        gtk_type_enums_find_value to lookup enum values.

        * gtk/gtkctree.h:
        * gtk/gtkctree.c: change enum name from GtkCTreeExpansion to
        GtkCTreeExpansionType. fixed signal creations to pass the enum
        types not just the base type GTK_TYPE_ENUM.

        * gtk/gtkclist.h:
        * gtk/gtkclist.c: fixed signal creations to pass the real enum
        types not just the base type GTK_TYPE_ENUM.
1998-07-27 01:50:16 +00:00
Stefan Jeske
7170996088 Began cleanup, e.g. use gtk_widget_show_all instead of many
gtk_widget_show's. Completely rewrote the button box sample
(only one window now). Removed "miscellaneous" button.
1998-07-26 14:45:40 +00:00
Tim Janik
8c56db61e3 introduce testbindings on C-1 for buttons, to check out binding
Thu Jul 23 00:11:39 1998  Tim Janik  <timj@gtk.org>

        * gtk/testgtkrc: introduce testbindings on C-1 for buttons,
        to check out binding priorities. someone should really write
        gtkrc-mode for emacs.

        * gtk/gtkwidget.c (gtk_widget_class_init): remove ugly bindings test.
        * gtk/testgtk.c (main): and move it here ;). this test says something
        on release of C-9. (this works only if the mouse pointer is on a
        spinbutton and there is no focus widget).

        * gtk/gtkrc.h:
        * gtk/gtkrc.c:
        export gtk_rc_parse_color, gtk_rc_parse_state and a new function
        gtk_rc_parse_priority to parse path priority types.
        export rc tokens.
        feature binding parsing.

Wed Jul 22 23:41:17 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkbindings.h:
        * gtk/gtkbindings.c: new function gtk_binding_parse_binding() to
        feature binding parsing in rc files.
        * gtk/gtkbindings.c (gtk_binding_set_new): bug fix.
        * gtk/gtkbindings.c (gtk_binding_pattern_compare): bug fix, we used to
        order the bindings with lowest priority first.
1998-07-22 22:29:10 +00:00
Stefan Jeske
dbfe3d3967 Fixed wrong size of activity indicator. It is settable now as a fraction
Tue Jul 21 06:32:43 1998  Stefan Jeske  <stefan@gtk.org>

	* gtk/gtkprogressbar.{c,h} gtk/testgtk.c: Fixed wrong size of
 	activity indicator. It is settable now as a fraction of the
	total width/height using gtk_progress_bar_set_activity_blocks.
	Renamed gtk_progress_bar_set_number_of_blocks to
	gtk_progress_bar_set_discrete_blocks.
1998-07-21 04:49:01 +00:00
Lars Hamann
bfa2ec274b fix for vertical scrolling in case of GTK_CLIST_ADD_MOD changed pixmap
* gtk/gtkclist.c (scroll_vertical): fix for vertical scrolling in case
  of GTK_CLIST_ADD_MOD
* gtk/testgtk.c (add1000_clist): changed pixmap
1998-07-19 22:42:21 +00:00
Tim Janik
c1c8caa28c export gtk_binary_age and gtk_interface_age.
Sat Jul 18 22:59:04 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkmain.h:
        * gtk/gtkmain.c: export gtk_binary_age and gtk_interface_age.

        * gtk/gtktypeutils.h:
        * gtk/gtkitemfactory.h: remove "void" from prototypes again.

Sat Jul 18 00:54:01 1998  Lars Hamann  <lars@gtk.org>

        * gtk/gtknotebook.c (gtk_notebook_set_child_arg): added support for
        CHILD_ARG_MENU_LABEL, CHILD_ARG_TAB_LABEL
        (gtk_notebook_get_child_arg): added support for CHILD_ARG_MENU_LABEL,
        CHILD_ARG_POSITION
        (gtk_notebook_reorder_child): new funktion to change position of a
        notebook page
        (gtk_notebook_draw_arrow): draw left/right arrow with
        GTK_SHADOW_ETCHED_IN if focus_tab is first/last tab.

        * gtk/gtkstyle.c (gtk_default_draw_arrow):
        added GTK_SHADOW_ETCHED_IN/OUT
1998-07-19 19:09:27 +00:00
Stefan Jeske
b43c45571d Introduced generic GtkProgress widget. Derived GtkProgressBar from
Sun Jul 19 12:19:16 1998  Stefan Jeske  <stefan@gtk.org>

	* gtk/gtkprogress.c gtk/gtkprogress.h gtk/gtkprogressbar.c
	  gtk/gtkprogressbar.h gtk/Makefile.am gtk/gtk.h gtk/testgtk.c:
	Introduced generic GtkProgress widget. Derived GtkProgressBar from
	GtkProgress. Made GtkProgressBar much more flexible (see testgtk).
1998-07-19 10:35:39 +00:00
Lars Hamann
8b9b7b9d04 Added focus handling, horizontal and vertical autoscrolling, extended
* gtk/gtkctree.h :
* gtk/gtkctree.c :
  Added focus handling, horizontal and vertical autoscrolling,
  extended Selection Mode, key bindings
  Added gtk_ctree_toggle_expansion & gtk_ctree_toggle_expansion_recursive
  Changed gtk_ctree_scroll_to to gtk_ctree_moveto.
  Removed gtk_ctree_clear.

* gtk/gtkclist.h :
* gtk/gtkclist.c :
  Added focus handling, horizontal and vertical autoscrolling,
  extended Selection Mode, key bindings
1998-07-15 23:40:00 +00:00
Tim Janik
da355feec6 display the current cursor name.
Tue Jul 14 06:25:46 1998  Tim Janik  <timj@gtk.org>

        * gtk/testgtk.c (create_cursors): display the current cursor name.

        * gtk/gtktypeutils.h:
        * gtk/gtktypeutils.c (gtk_type_init_builtin_types): cleanups to
        the fundamental type definition. the GtkArg union now only covers
        the required storage types for argument values. adapted the GTK_VALUE_*
        macro set. handle GTK_TYPE_UCHAR. definiton of type set bounds macros.

        * gtk/gtkargcollector.c (gtk_arg_collect_value): clean ups of the
        code, fixed int/float collection. fixed a bug in the sanity checking
        code for GtkObjects.

        * gtk/gtkbindings.c (gtk_binding_entry_add_signal): fixups of the
        argument collection code.

        * gtk/gtksignal.c (gtk_signal_collect_params): use the type set bounds
        macros when distinguishing the return type.
1998-07-14 07:40:15 +00:00
Tim Janik
347efc33b8 deleted most of the argument handling code, since that is now implemented
Fri Jul 10 00:02:04 1998  Tim Janik  <timj@gtk.org>

	* gtk/gtkcontainer.h:
	* gtk/gtkcontainer.c: deleted most of the argument handling code, since
	that is now implemented in gtkarg.c. similar to gtk_object_args_collect,
	we now export a new function gtk_container_child_args_collect().
	for consistency with the object arguments, a few functions got renamed:
	gtk_container_child_arg_get -> gtk_container_child_get,
	gtk_container_child_arg_set -> gtk_container_child_set,
	gtk_container_child_arg_getv -> gtk_container_child_getv,
	gtk_container_child_arg_setv -> gtk_container_child_setv,
	gtk_container_add_with_argv -> gtk_container_addv.
	note, gtk_container_add_with_args() remained, because its equivalent
	would be gtk_container_add(,, ...) which would break all existing code.
	(gtk_container_add_child_arg_type): similar to gtk_object_add_arg_type,
	we expect the `arg_name' argument to be a const static string now.
	(gtk_container_get_child_arg_type): function removed.

Thu Jul  9 07:03:04 1998  Tim Janik  <timj@gtk.org>

	* gtk/gtkargcollector.c: new file which holds gtk_arg_collect_value().
	this is a static inline function that collects command line arguments
	from a va_list. this file can just be included in all places that
	need this functionality.

	* gtk/gtkarg.h:
	* gtk/gtkarg.c: new files which implement most of the argument
	handling stuff from gtkobject.c. also collected a few more
	gtk_arg_* utility functions from else places.

	* gtk/gtkobject.h:
	* gtk/gtkobject.c: moved most of the argument handling code into
 	gtkarg.c. we now export gtk_object_args_collect() as a non-public
	method with a blind va_list pointer.
	(gtk_object_add_arg_type): the `arg_name' argument is required to be a
	const static string now.
	(gtk_object_get_arg_type): function got removed.

	* gtk/gtkwidget.c:
	(gtk_widget_set):
	(gtk_widget_new): adaptions for gtk_object_args_collect().

	* gtk/gtktypeutils.c (gtk_type_init_builtin_types): changed the internal
 	fundamental type name so as to have a valid prefix, e.g. "bool"->
	"gboolean", "string"->"GtkString" and somesuch, left "void" as is,
	though that should probably be something like GtkNone since the
	type itself is called GTK_TYPE_NONE.
	even the internal type names need to avoid name clashes and must live
	in their own namespace, several code portions rely on that.
	we should relly have typedefs such as typedef gchar* GtkString; so the
	fundamental type names can be used for code dumpers just like with all
	the Gtk/Gdk types.
1998-07-09 23:00:34 +00:00
Tim Janik
ddefd9c9f5 implementation of the "class" keyword for styles.
Wed Jul  1 03:33:30 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkrc.c: implementation of the "class" keyword for styles.
1998-07-01 01:35:13 +00:00
Tim Janik
1018412555 fixed lookup order for rc styles. the latest defined rc set pattern is
Tue Jun 30 14:30:37 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkrc.c: fixed lookup order for rc styles. the latest defined
        rc set pattern is favoured, this is needed for overriding of style
        patterns with subsequently parsed rc files.
1998-06-30 12:34:36 +00:00
Tim Janik
b483ca4b97 code overhaul for simplicity and more descriptive error messages.
Tue Jun 30 12:45:19 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkrc.c: code overhaul for simplicity and more descriptive
        error messages.
1998-06-30 11:05:20 +00:00
Manish Singh
4b7bbd4434 use rand() instead of random() for portability
-Yosh
1998-06-28 06:24:49 +00:00
Tim Janik
9860caa539 new function gtk_container_child_arg_set, similar to
Wed Jun 24 14:14:32 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkcontainer.c: new function gtk_container_child_arg_set, similar
        to gtk_container_child_arg_setv, but takes a variable argument list.
        new function gtk_container_get_child_arg_type, which is needed by
        gtk_object_collect_args.

        * gtk/gtkobject.c: changed prototype for gtk_object_collect_args, to
        take a function pointer to figure the argument type.
        adapted callers to pass gtk_object_get_arg_type.
        * gtk/gtkwidget.c: adapted gtk_object_collect_args callers to pass
        gtk_object_get_arg_type..

        * gtk/gtkpacker.h:
        * gtk/gtkpacker.c:
        (gtk_packer_reorder_child): new function to change the packing order
        of a child.
        (gtk_packer_size_request):
        (gtk_packer_size_allocate): take container->border_width into acount.

        * gtk/gtkpacker.c: implemented widget arguments:
        "GtkPacker::spacing", "GtkPacker::border_width", "GtkPacker::pad_x",
        "GtkPacker::pad_y", "GtkPacker::ipad_x", "GtkPacker::ipad_y".
        implemented child arguments:
        "GtkPacker::side", "GtkPacker::anchor", "GtkPacker::expand",
        "GtkPacker::fill_x", "GtkPacker::fill_y", "GtkPacker::use_default",
        "GtkPacker::border_width", "GtkPacker::pad_x", "GtkPacker::pad_y",
        "GtkPacker::ipad_x", "GtkPacker::ipad_y", "GtkPacker::position".

        * gtk/gtkmisc.c (gtk_misc_set_arg): for padding args, set the padding,
        not the alignment.

        * gtk/gtkeventbox.h:
        * gtk/gtkeventbox.c: GtkType and macro fixups.

        * gtk/testgtk.c (entry_toggle_sensitive): new function to toggle
        sensitivity of an entry.

        * gtk/gtkstyle.c (gtk_style_new): support normal grey as default color
        for insensitive base.

        * gtk/gtkentry.c (gtk_entry_realize): set the window backgrounds
        widget state dependent.
        (gtk_entry_style_set): likewise.
        (gtk_entry_state_changed): set background color on state changes.
        (gtk_entry_draw_text): for non selected text, use state dependent
        colors.

        * gtk/gtktogglebutton.c: support for widget arguments
        "GtkToggleButton::active" and "GtkToggleButton::draw_indicator".
1998-06-24 12:22:23 +00:00
Tim Janik
dbce6083ef added a frame with radio buttons to select the resize_mode for the
Wed Jun 24 07:47:29 1998  Tim Janik  <timj@gtk.org>

        * gtk/testgtk.c (create_idle_test): added a frame with radio buttons
        to select the resize_mode for the idle-labels container.

        * gtk/gtkframe.h:
        * gtk/gtkframe.c: GtkType and macro corrections.

        * gtk/gtkradiobutton.c (gtk_radio_button_set_arg): new function to
        support radio grouping.

Tue Jun 23 08:01:09 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkcontainer.c (gtk_container_set_resize_mode): queue a resize
        unconditionally if resize_mode has changed.

        * gtk/gtkscrolledwindow.c (gtk_scrolled_window_init): set
        GTK_RESIZE_QUEUE on the scrolled window.
        (gtk_scrolled_window_construct): set GTK_RESIZE_PARENT for the vieport.

Tue Jun 23 04:20:30 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkcontainer.h:
        * gtk/gtkcontainer.c:
        (GTK_IS_RESIZE_CONTAINER): new macro to find out if
        a given gtkobject is a container with resize_mode==GTK_RESIZE_PARENT.
        (gtk_container_queue_resize): new function to queue a container for
        a *size* reallocation (doesn't affect its position, and thus its
        parent is left untouched usually).
        (gtk_container_get_resize_container): new function to retrive the next
        most resize container which is not itself queued for a resize.
        (gtk_container_idle_sizer): new function to carefully process the
        container_resize_queue since it can change during invokation of
        gtk_container_check_resize().
        (gtk_container_resize_children): total rework of this function to
        properly handle resize containers. makes a lot of assumptions whitch
        are stated in the comments.

        * gtk/gtkcontainer.c:
        (gtk_container_real_check_resize): only requeue ourselves if we are not
        a resize container.
        (gtk_container_clear_resize_widgets): care for automatic deletion of our
        resize_widgets list on size_allocate through a handler connection.

        * gtk/gtkwindow.c (gtk_window_shutdown): new functionm to reset the
        focus and default widget of a window, so to take the burden from
        gtk_widget_unparent.

        * gtk/gtkviewport.c: removed gtk_viewport_check_resize, which tried
        to be clever, but actually messed up the resize_children logic and
        caused unneccessary allocations on its whole branch. besides this,
        it messed up the display by not invoking a redraw after the allocation.

        * gtk/gtktable.c (gtk_table_set_child_arg): reverted recent change, so
        that it is the child again that is queued for a resize.
        (gtk_table_attach): likewise.
        (gtk_table_remove): likewise.
1998-06-24 06:25:14 +00:00
Lars Hamann
1b5a1e1acb new CTree line style GTK_CTREE_LINES_TABBED 1998-06-22 17:00:21 +00:00
Stefan Jeske
1ae617e324 - Bug fix for precision problem causing occasional double emission of
* gtk/gtkspinbutton.h gtk/gtkspinbutton.c gtk/testgtk.c:
        - Bug fix for precision problem causing occasional double emission
	  of "value_changed" signal (hopefully works now).
        - API change (should be binary compatible) :
	  new enum GtkSpinType; modified gtk_spin_button_spin to use it.
	  Modified cursor example appropriately.
	  To spin by something other than step_/page_increment, use
	  gtk_spin_button_spin (spin, GTK_SPIN_USER_DEFINED, increment).
	- Made GTK_SHADOW_NONE the default. ;)
	- Fixed casting of GtkAdjustment* to GtkWidget* in
	  gtk_spin_button_value_changed.
1998-06-19 17:33:51 +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
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
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
Stefan Jeske
b39687aac8 New API to set the shadow type of the arrow panel. 1998-06-13 08:56:27 +00:00
Manish Singh
bd1e56dd83 Warning cleanups.. cvsignore stuff
-Yosh
1998-06-09 10:33:56 +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
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
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
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
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
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
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
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
Stefan Jeske
cb12593d57 Started documentation of GtkCTree. 1998-05-10 17:05:39 +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
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
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
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
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
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
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
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
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
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
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
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
Tim Janik
30f22e0208 forgot to set the initial `0' cursor.
Tue Mar 31 06:37:16 1998  Tim Janik  <timj@gtk.org>

        * gtk/testgtk.c (create_cursors): forgot to set the initial `0' cursor.
1998-03-31 04:39:57 +00:00
Owen Taylor
4bf5d761bc Improved main loop test. (Quits main loop properly, makes it more obvious
Mon Mar 30 16:35:57 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/testgtk.c: Improved main loop test. (Quits main
	loop properly, makes it more obvious to the user
	what is going on)

	* gtk/gtkwidget.c (gtk_widget_unparent): Reset the
	allocation _after_ clearing the window.

	* configure.in: If can't find XShmAttach in Xext, check
	in XextSam (for AIX).

	* gtk/gtkmain.c (gtk_events_pending): Remember, small
	numbers are _high_ priority for idle queues.

	* gtk/gtkmain.c (gtk_handle_current_timeouts): Allow
	removing the currently running timeout.

	* gtk/testgtk.c (timeout_test): Use the right prototype
	for callback.
1998-03-30 23:04:51 +00:00
Tim Janik
2f5621e566 Added wrapping capabilities to GtkSpinButton. New function :
Sun Mar 29 22:29:00 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkspinbutton.[ch] gtk/testgtk.c (gtk_spin_button_set_wrap):
                Added wrapping capabilities to GtkSpinButton. New function :
                        gtk_spin_button_set_wrap (Lars Hamann and Stefan Jeske).
1998-03-29 20:40:10 +00:00
Owen Taylor
b2c30ad95d Don't clear the window on an expose event. On draws, just clear the
Fri Mar 27 17:58:41 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkhandlebox.c (gtk_handle_box_paint): Don't clear
	the window on an expose event. On draws, just clear the
	portion we are redrawing.

	* gdk/gdkfont.c (gdk_fontset_load): Corrected calculation
	of fontset ascent/descent.

	* gtk/gtkwidget.[ch]: Added new function to show a toplevel
	window and wait for it to be mapped, gtk_window_show_now ()
1998-03-28 00:10:49 +00:00
Tim Janik
cb98231c7d implemented new flag shrink_on_detach (TRUE by default) which will cause
Tue Mar 24 14:59:50 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkhandlebox.h:
                * gtk/gtkhandlebox.c: implemented new flag shrink_on_detach (TRUE by
                        default) which will cause the handle boxes requisition to collapse in
                                case the child is already detached.


                                removed duplicate ChangeLog entry from owen.
1998-03-24 14:04:07 +00:00
Ben Gertzfield
3f5c7acc33 Added gtk/testgtk.1 man page for testgtk 1998-03-24 04:01:21 +00:00
Owen Taylor
923f3f6992 Added optional word wrap, controlled by new function
Mon Mar 23 01:04:51 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtktext.[ch] testgtk.c: Added optional word wrap, controlled
	  by new function gtk_text_set_word_wrap; and a check button
	  in the Text test.

	* gtk/gtktext.c: First line wasn't getting updated
	properly when selection was removed.
1998-03-23 06:27:31 +00:00
Tim Janik
6b411f4b47 leave container_class->add and container_class->remove untouched if we
Mon Mar 23 01:08:30 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkclist.c (gtk_clist_class_init): leave container_class->add and
                container_class->remove untouched if we don't implement them.

                        * gtk/gtkcontainer.c (gtk_container_class_init): add missing NULL
                                initialization for the class method (*foreach). implement a default
                                        handler to output a warning for (*add) and (*remove).
1998-03-23 03:31:11 +00:00
Owen Taylor
16aa9c1964 fixes to locale checks
Sun Mar 22 16:25:46 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/gtkmain.c (gtk_init): fixes to locale checks

	* gtk/testgtk.c (create_dnd): Create the dnd icons separately
	  to avoid strange interactions with shapes demo.

	* gtk/gtkentry.[ch]:
	  - Limit the length of the text to 2048 to prevent long delays
	  - Fix problems with buffer overruns
	  - Draw only the onscreen portion of the text to prevent wrapping
	    of shorts in the X drawing code.
	  - Keep track of character positions and x-offsets to speed
	    up algorithms.
1998-03-22 21:31:10 +00:00
Owen Taylor
8cff9d3307 Don't respond to drops when grab is in effect. (workaround)
Sat Mar 21 19:07:01 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/testgtk.c (dnd_drop): Don't respond to drops when
	  grab is in effect. (workaround)

	* gdk/gdkfont.c (gdk_fontset_load): More details on
	  error messages.

	* gdk/gdk.c: Translate va_list to XVaNestedList instead
	  of just casting it.

	* gtk/gtkmain.c: Make temporary copy of string returned by
	  setlocale, since it may be changed by subsequent calls.
1998-03-22 00:07:53 +00:00
Tim Janik
995d97b001 major overhaul of the code, fixed all known bugs (hopefully ;).
Sat Mar 21 22:54:31 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkhandlebox.h:
        * gtk/gtkhandlebox.c: major overhaul of the code, fixed all
        known bugs (hopefully ;).

Sat Mar 20 15:33:17 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_real_show): queue the resize for the
        parent.

Thu Mar 19 02:00:50 1998  Tim Janik  <timj@gtk.org>

        * gtk/gtkwidget.c (gtk_widget_unrealize): unset flags after emission,
        especially GTK_MAPPED, since that might not have been taken care of
        by an UNMAP emission.
1998-03-21 22:11:26 +00:00
Manish Singh
2a2fff763d #define M_PI if it isn't already initialize transparent properly, to make
* gtk/gtkcolorsel.c: #define M_PI if it isn't already
* gtk/testgtk.c: initialize transparent properly, to make purify happy

-Yosh
1998-03-19 01:07:48 +00:00
Owen Taylor
f9739e8343 ( From: James Henstridge <james@daa.com.au> )
Wed Mar 18 11:09:10 1998  Owen Taylor  <owt1@cornell.edu>
	( From: James Henstridge <james@daa.com.au> )

	* gtk/gtkclist.c: Don't remove, then destroy labels in
	  gtk_clist_set_column_[*], just remove them.

	* gtk/gtkmain.c (gtk_invoke_timeout_function): call
	  marshal when appropriate, not function.

Tue Mar 17 14:15:07 1998  Owen Taylor  <owt1@cornell.edu>

	* gtk/testgtk.c (create_main_window): Alphabetize tests

	* gtk/gtk[hv]paned.c: Change division on resize if
	  necessary to keep handle visible.

	* gtk/gtkgamma.c gtk/gtkcurve.c: Moved initialization into
	  _init() functions.

	* gtk/gtkscrolledwindow.c: Added missing _construct()
	  functions.
1998-03-18 21:11:04 +00:00
Tim Janik
a6e2c24b60 fixed a bug about drawing GTK_ARROW_LEFT, correction from Damon Chaplin
Tue Mar 17 12:36:35 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkstyle.c (gtk_default_draw_arrow): fixed a bug about drawing
                GTK_ARROW_LEFT, correction from Damon Chaplin <DAChaplin@email.msn.com>.
1998-03-17 15:13:17 +00:00
Tim Janik
077b5109a4 exported gtk_spin_button_spin since it is used in testgtk, and besides
Tue Mar 17 03:56:13 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkspinbutton.h: exported gtk_spin_button_spin since it is
                used in testgtk, and besides that.

                        * gtk/testgtk.c: created a new "test" cursors, which showes different
                                types of GdkCursors and is a very simple example at using the drawing
                                        area.

                                        Tue Mar 17 03:56:13 1998  Tim Janik  <timj@gimp.org>

                                                * gtk/gtkspinbutton.h: exported gtk_spin_button_spin since it is
                                                        used in testgtk, and besides that.

                                                                * gtk/testgtk.c: created a new "test" cursors, which showes different
                                                                        types of GdkCursors and is a very simple example at using the drawing
                                                                                area.
1998-03-17 03:16:11 +00:00
Tim Janik
f87ee7e51a added new flag GTK_EXCLUSIVE_GRAB. allow exclusive grabs.
Sun Mar 15 13:25:28 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkwidget.h: added new flag GTK_EXCLUSIVE_GRAB.
                * gtk/gtkmain.c: allow exclusive grabs.

                        * gtk/gtkmenu.c: grab exclusively.
                                * gtk/gtkmenushell.c: grab exclusively.

                                        * gtk/gtkmenushell.c: don't activate insensitive menu items when
                                                in click-selects mode.

                                                        * gtk/gtkmenushell.c (gtk_menu_shell_enter_notify): activate submenus
                                                                on popup.

                                                                        * gtk/gtkmenushell.c (gtk_menu_shell_button_release): don't take
                                                                                *additional* button presses into account.

                                                                                        * gtk/gtkmenushell.c (gtk_menu_shell_button_press): don't take
                                                                                                foreign button releases into account.


oh boy, please check this out people, hope i covered all cases.
1998-03-15 13:33:54 +00:00
Tim Janik
9ce0cb6037 changed run type of GtkTipsQuery::widget_entered to GTK_RUN_LAST, so it
Sun Mar 15 08:27:06 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtktipsquery.c (gtk_tips_query_set_labels): changed run type
                of GtkTipsQuery::widget_entered to GTK_RUN_LAST, so it can be overidden
                        by the user.
1998-03-15 08:53:59 +00:00
Tim Janik
cc4dc8339d fix popup calculations (removal of FIXMEs), changes from Lars Hamann.
Fri Mar 13 18:25:07 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkcombo.c: fix popup calculations (removal
        of FIXMEs), changes from Lars Hamann.

Fri Mar 13 10:25:16 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkwidget.h:
        * gtk/gtkwidget.c: renamed gtk_widget_delete_hides to
        gtk_widget_hide_on_delete at owens request, and because the
        new name is much more descriptive.
1998-03-13 17:45:16 +00:00
Tim Janik
96a7435911 return TRUE for GtkWidget::delete_event to avoid destruction of our float
Thu Mar 12 20:17:47 1998  Tim Janik  <timj@gimp.org>

        * gtk/gtkhandlebox.c (gtk_handle_box_delete_float): return TRUE for
        GtkWidget::delete_event to avoid destruction of our float window.

        * gtk/gtkmain.c (gtk_main_iteration_do): GDK_DELETE will destroy a
        widget if the last handler returned FALSE or there was none connected.

        * gtk/testgtk.c: adapted all delete_event/destroy case that were affected.

        * gtk/gtkwidget.c (gtk_widget_delete_hides): new function that will hide
        a widget and return TRUE to avoid window deletion if
        connected to GtkWIdget::delete_event.
1998-03-12 21:54:39 +00:00
Russell Nelson
9a9070c26d new_pixmap wasn't using its filename argument. Add descriptions
Wed Mar 11 22:52:57 1998  Russell Nelson <nelson@crynwr.com>

	* gtk/gtktest.c: new_pixmap wasn't using its filename argument.
	* docs/gtk.texi: Add descriptions
1998-03-12 18:57:46 +00:00