Commit Graph

371 Commits

Author SHA1 Message Date
Havoc Pennington
2c5d938ff8 CVS is doing its broken pipe thing, this is more of the previous commit
2001-02-02  Havoc Pennington  <hp@redhat.com>
2001-02-03 01:09:41 +00:00
Owen Taylor
a1a252ce46 Get rid of a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().
Fri Feb  2 12:26:50 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkrc.c (gtk_rc_add_initial_default_files): Get rid of
	a bunch of g_strdup_printf("%s%s") in favor of g_strconcat().

	* gtk/gtkrc.c Makefile.am: Use $(libdir), not $(exe_prefix),
	since some people set $(libdir) separately. (#1290, David Kaelbling)

Thu Feb  1 18:25:46 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkfilesel.c: If PATH_MAX and MAXPATHLEN are not
	defined, define MAXPATHLEN to 2048. (The Hurd doesn't have
	MAXPATHLEN, but the code here depends on a fixed value.)
	(#4524)

Wed Jan 31 22:01:04 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkhandlebox.c (gtk_handle_box_button_changed): Handle the case
	where child == NULL and handle_position == RIGHT or BOTTOM. (#8041g)

Wed Jan 31 21:20:39 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkctree.c (real_tree_move): If the node being moved isn't
	viewable there is no way that moving the node will cause the
	focus row to become not viewable, so omit check on the visibility
	of new_sibling, which is irrelevant. (Fixes #8002, David Helder)

Wed Jan 31 20:38:17 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_commit_cb): Delete the current
	selection before inserting new text.

Wed Jan 31 18:49:33 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkoptionmenu.c (gtk_option_menu_item_state_changed_cb):
	Make the sensitivity of the reparented child track that of
	the original parent menu item. (#34218, David Hodson)

	* gtk/gtkoptionmenu.c (gtk_option_menu_item_destroy_cb): Handle
	the case where the current item is destroyed properly.

	* gtk/gtkoptionmenu.c: Some additional code cleanups and fix
	some edge cases with child-less menuitems.

Wed Jan 31 17:16:13 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcombo.c (gtk_combo_window_key_press): Make Return
	key pop down window. (#12074, Jon K Hellan)

Wed Jan 31 16:21:42 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklist.c (gtk_list_signal_item_toggle): Don't allow
	toggling of rows off in BROWSE or EXTENDED mode. (#12072, Jon K Hellan)
	The solution here isn't perfect - you get an extraneous
	emission of "toggle", which could conceivably confuse an app,
	but better than the current situation. LXR search seems to
	indicate that no apps in GNOME CVS connect to "toggle".

Wed Jan 31 15:46:13 2001  Owen Taylor  <otaylor@redhat.com>

        * gtk/Makefile.am (libgtkinclude_HEADERS): Move gtkcompat.h from
        gtk_public_h_sources to directly here to avoid warning when
        building srcdir != builddir. (#9656)

Tue Jan 30 19:49:02 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkrange.c: Patch from Kipp Hickman to make the event
	handlers in gtkrange.c return the proper values (TRUE == handled)
	(#10316).

	This is just the tip of the iceberg, but gtkrange.c is the
	most common place where the propagation is problematical,
	and also a place where it is almost certainly safe to change
	this in the stable branch.

	(You don't want right click popups on a range control or anything...)

Tue Jan 30 18:57:59 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktext.c (clear_focus_area): We need to clear the focus
	area on focus out, even if a background pixmap isn't set.
	(#13941)

Tue Jan 30 18:24:10 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtknotebook.c (gtk_notebook_set_shape): Fix from Sean Cunningham
	to deal with setting the shape properly when scrolling arrows are
	turned on, but not visible because there is sufficient space.
	(#13432)

Tue Jan 30 16:39:25 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkitemfactory.c (gtk_item_factory_delete_item): For menu
	items with submenus, destroy the item along with the submenu.
	(#7841, Brian Masney(?)) Also, handle paths of the form '<foo>/abcd...'
	properly.

	* gtk/testgtk.c (menu_items): Add a dummy branch that we delete
	later.

Tue Jan 30 15:51:25 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwindow.c (gtk_window_real_set_focus): Fix a problem where
	the focus widget sometimes wasn't drawn with the default if there
	was no default widget.

	* gtk/gtkstyle.c (gtk_style_real_unrealize): free colors,
	unreference pixmaps.

	* gtk/gtkstyle.c (gtk_style_realize): Reference colormap
	for some extra safety.

Mon Jan 29 19:00:01 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtk{ctree.c,clist.c} (set_cell_contents): Handle setting
	the text of a cell to the old pointer value better, by
	copying the new text before freeing the old text. Some code
	cleanup. (#8079, Karl Nelson)

Mon Jan 29 16:50:19 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklabel.[ch] gtk/gtkframe.[ch]: Make gtk_label_get_text()
	gtk_frame_get_label() non strdup'ing, and G_CONST_RETURN.

Mon Jan 29 15:22:51 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkmenu.c (gtk_menu_remove): When removing an
	item from a menu, check to see if it matches
	menu->old_active_menu_item, and if so, unref and clear
	old_active_menu_item (Patch from Pavel Cisler)

	* gtk/gtkmenushell.c (gtk_menu_shell_remove): Unset
	menu_shell->active_menu_item, if it is the child being
	removed. (Patch based on that of Gene Ragan, #50337)
2001-02-02 17:53:29 +00:00
Havoc Pennington
f7d593c99d bracket in #ifdef GTK_ENABLE_BROKEN.
2001-01-30  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktreeitem.h, gtk/gtktree.h, gtk/gtktext.h: bracket in
	#ifdef GTK_ENABLE_BROKEN.

	* gtk/gtktreeitem.c, gtk/gtktree.c, gtk/gtktext.c: #define
	GTK_ENABLE_BROKEN just before including the broken headers.

	* gtk/gtktypeutils.c: #define GTK_ENABLE_BROKEN, so we can get the
	deprecated types registered.

	* gtk/testgtk.c, gtk/testselection.c: #define GTK_ENABLE_BROKEN,
	we have to test the broken stuff.

        * docs/Changes-2.0.txt: explain GTK_ENABLE_BROKEN

2001-01-30  Havoc Pennington  <hp@pobox.com>

        Also committed a bunch of automatic changes made by gtk-doc,
	after reviewing for correctness.

	* gtk/tmpl/gtktext.sgml: add warning about deprecation and note
	about what to use instead

	* gtk/tmpl/gtktree.sgml: ditto

	* gtk/Makefile.am (scan): pass --deprecated-guards option to
	gtk-doc; requires new version of gtk-doc from CVS

	* gtk/gtk-docs.sgml: move GtkText to the deprecated section
	instead of the GtkTextView section. Oops.
2001-01-31 03:51:14 +00:00
Havoc Pennington
ef4356b567 adapt to handle PangoColor
2001-01-26  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextlayout.c (convert_color): adapt to handle PangoColor

	* gtk/gtktreeview.c (gtk_tree_view_widget_to_tree_coords): fix to
	not offset by TREE_VIEW_HEADER_HEIGHT
	(gtk_tree_view_tree_to_widget_coords): fix to not offset by
	TREE_VIEW_HEADER_HEIGHT

	* configure.in (included_loaders): for me, --with-included-loaders
	generates the error "the specified loader yes does not exist",
	i.e. the arg defaults to "yes", so change test for value ""
	to test for value "yes", and include all loaders in that case.

	* gtk/gtkrbtree.c (_gtk_rbtree_get_depth): new function

	* gtk/gtktreeview.c (gtk_tree_view_get_cell_rect): fix to properly
	handle TREE_VIEW_VERTICAL_SEPARATOR
	(gtk_tree_view_bin_expose): fix to consider the row offset as
	pointing halfway into vertical separator.
	(gtk_tree_view_draw_node_focus_rect): ditto

	* gtk/gtkdebug.h, gtk/gtkmain.c (gtk_init_check): Add
	--gtk-debug=updates, which causes gdk_window_set_debug_updates
	(TRUE) to be called.

	* gdk/gdkwindow.c (gdk_window_set_debug_updates): Allow enabling a
	debug mode where the invalid region is colored in on invalidate,
	so you can see the flicker and know whether your redraw code is
	doing a good job.

	* gtk/gtktreeview.c (gtk_tree_view_queue_draw_node): Work in
	tree window coordinates (clip rect is in tree window coords)

	* gtk/Makefile.am: add gtktreednd.[hc]

	* gtk/gtkliststore.c: implement gtktreednd interfaces.

	* gtk/gtktreednd.c, gtk/gtktreednd.h: New interface to support
	drag-and-drop data operations on a model (so we can set up tree
	drag-and-drop automatically)

	* gtk/testgtk.c: Add a window to change sensitivity in the
	GtkLabel test; add a way to change the entry frame in GtkEntry
	test

	* gtk/gtkentry.c (gtk_entry_set_has_frame):
	(gtk_entry_get_has_frame): new functions to remove the frame
	around an entry
	(gtk_entry_size_request): shrink requisition if no frame
	(gtk_entry_draw_focus): don't draw frame if no frame

	* gtk/gtkstyle.c (gtk_default_draw_check): draw custom look for
	checks inside a cell renderer
	(gtk_default_draw_option): ditto for options

	* gtk/gtktreeviewcolumn.c (update_button_contents): add/remove
	children from the alignment, not the button
	(gtk_tree_view_column_init): ref/sink the column, to emulate
	GObject refcounting.

	* gtk/gtkcellrenderer.c (gtk_cell_renderer_init): ref/sink

	* gtk/gtkcellrenderertoggle.c (gtk_cell_renderer_toggle_render):
	Use theme functions to draw the toggles

	* gdk/gdkpango.c (gdk_pango_get_gc): use GdkRGB to alloc colors

	* gdk/gdkpango.h, gdk/gdkpango.c: Add GdkPangoAttrStipple and
	GdkPangoAttrEmbossed to use in rendering insensitive text

	* gdk/gdkpango.c (gdk_draw_layout_line): render new properties

	* gtk/gtkstyle.c (gtk_default_draw_layout): handle sensitivity
	using new GDK features
2001-01-26 21:12:05 +00:00
4
9234d91146 Splitted gtk_image_clear into gtk_image_clear() and gtk_image_reset().
2001-01-24    <alexl@redhat.com>

	* gtk/gtkimage.c:
	Splitted gtk_image_clear into gtk_image_clear() and
	gtk_image_reset(). Call gtk_image_clear() in ::destroy
	to avoid leaks.

	* gtk/gtklabel.c (set_markup):
	Don't leak text.

	* gtk/gtktextlayout.c:
	Always free display->shaped_objects.

	* gtk/testgtk.c (create_clist):
	Don't leak custom style.
2001-01-24 08:25:41 +00:00
Havoc Pennington
18742b1dc3 rename member fields from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems
2001-01-20  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktexttag.h (enum GtkWrapMode): rename member fields
	from GTK_WRAPMODE_WORD to GTK_WRAP_WORD, etc., seems nicer to
	me, matches Pango
2001-01-23 06:09:49 +00:00
Havoc Pennington
e0fee22e78 Add built marshaller files to support GdkPixbufLoader signals
2001-01-22  Havoc Pennington  <hp@redhat.com>

	* Makefile.am: Add built marshaller files to support
	GdkPixbufLoader signals

	* gdk-pixbuf-io.c (gdk_pixbuf_load_module): have
	GDK_PIXBUF_MODULEDIR unconditionally replace the compiled-in
	module location, rather than acting as a fallback, because we are
	using GDK_PIXBUF_MODULEDIR to use gdk-pixbuf before installing it.

	* gdk-pixbuf.h: include gdk-pixbuf-loader.h

        * gdk-pixbuf-loader.h, gdk-pixbuf-loader.c: Move back over here
	from gtk, and add error to close(), because stop_load may do
	parsing of the image.

	* pixops/have_mmx.S (_pixops_have_mmx): add newline at end of file

        * io-*.c: make individual operations static, and add fill_vtable
	functions which are exported. Fix the collection of type warnings
	that surfaced, including a number of functions that didn't
	properly take a GError and some that weren't
	const-correct. Involved adding error handling for a few loaders.

	* gdk-pixbuf-io.h: Add error reporting to stop_load function

	* gdk-pixbuf-io.c (gdk_pixbuf_load_module): change to just look up
	a function that fills in the GdkPixbufModule vtable, instead of
	looking up all the image functions individually; this means we
	can get type safety within modules for the loader functions.
	Also it means you don't have to keep the statically compiled and
	GModule versions in sync.

	* test-gdk-pixbuf.c (main): remove gdk_pixbuf_init()

	* make-inline-pixbuf.c (main): remove call to gdk_pixbuf_init()

	* gdk-pixbuf.h: nuke gdk_pixbuf_init()

	* gdk-pixbuf-animation.c (gdk_pixbuf_frame_get_type): g_type_init
	() here

	* gdk-pixbuf.c (gdk_pixbuf_get_type): g_type_init () here

	* gdk-pixbuf-animation.c (gdk_pixbuf_animation_get_type):
	g_type_init() here


2001-01-22  Havoc Pennington  <hp@redhat.com>

	* demos/testanimation.c: fix to reflect gdk-pixbuf changes

	* demos/testpixbuf.c: fix to reflect gdk-pixbuf changes

	* gtk/gdk-pixbuf-loader.c, gtk/gdk-pixbuf-loader.h:
	Remove, move back to gdk-pixbuf

	* gtk/gtktextiter.c, gtk/gtktextiter.h: add sentence equivalents
	to all the word functions

	* gtk/gtktextview.c (gtk_text_view_start_cursor_blink): return
	before doing anything on NULL layout or if we don't have the focus

	* gtk/testtext.c (fill_example_buffer): "justification"

	* gtk/gtktexttag.h, gtk/gtktexttag.c: change the tag attribute
	to be called "justification" not "justify"

	* demos/gtk-demo/textview.c (create_tags): "justification"

	* gtk/gtktextlayout.c (set_para_values): Handle char-wise wrapping
2001-01-22 23:09:48 +00:00
Havoc Pennington
e248e4e79e sync to tree changes
2001-01-19  Havoc Pennington  <hp@redhat.com>

	* demos/gtk-demo/main.c (button_press_event_cb): sync to tree changes

	* gtk/gtkrbtree.c (_gtk_rbtree_node_find_offset): fix this
	function

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_widget):
	implement

	* gtk/gtktreeview.c (gtk_tree_view_move_to): rename
	scroll_to_cell, matches TextView scroll functions better
	(gtk_tree_view_tree_to_widget_coords): new function
	(gtk_tree_view_widget_to_tree_coords): new function
	(gtk_tree_view_get_visible_rect): new function
	(gtk_tree_view_get_path_at_pos): accept negative coordinates
	(gtk_tree_view_draw_node_focus_rect): new function moved from
	draw_focus, also, use width of bin_window as width of the focus
	rect
	(gtk_tree_view_expand_row): fix bug where it didn't recognize
	already-expanded rows
	(gtk_tree_view_get_cell_rect): new function
	(gtk_tree_view_get_path_at_pos): return the click position
	relative to the passed-in cell
	(gtk_tree_view_set_expander_column): new function

	* configure.in: remove gtk-config-2.0 chmod

	* gtk/gtktextview.c (gtk_text_view_drag_motion): small cleanups,
	and properly handle drags with targets we don't understand
	(gtk_text_view_drag_end): don't stop scrolling, the source isn't
	scrolling anyway
	(gtk_text_view_drag_drop): stop scrolling here though, and set the
	mark invisible

	* gtk/gtkdnd.c (gtk_drag_dest_find_target): export as a public
	function
	(gtk_drag_dest_get_target_list): new function
	(gtk_drag_dest_set_target_list): new function

	* gtk/gtktreeview.c: Add a bunch of drag-and-drop implementation

	* gtk/gtktreeprivate.h (struct _GtkTreeViewPrivate): add fields
	related to drag-and-drop
2001-01-19 22:39:19 +00:00
Havoc Pennington
8e8dd66aec add test stuff for CellRendererToggle
2001-01-15  Havoc Pennington  <hp@pobox.com>

	* tests/testtreeview.c: add test stuff for CellRendererToggle

	* gtk/gtktreemodelsort.c (gtk_tree_model_sort_get_model): add this
	accessor

	* gtk/gtkcellrenderertoggle.c: distinguish different event types,
	only toggle on button press (would do release like GtkButton, but
	we'd need implicit grab code for treeview cells)
2001-01-16 03:49:24 +00:00
Havoc Pennington
740ee8ef94 handle case where sibling == iter (gtk_tree_store_insert_after): handle
2001-01-10  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktreestore.c (gtk_tree_store_insert_before): handle case
	where sibling == iter
	(gtk_tree_store_insert_after): handle sibling == iter
	(gtk_tree_store_prepend): remove stamp checks
	(gtk_tree_store_insert_before): ditto
	(gtk_tree_store_append): ditto
	(gtk_tree_store_get_path): ditto
	(gtk_tree_store_get_value): ditto
	(gtk_tree_store_iter_has_child): ditto
	(gtk_tree_store_iter_n_children): ditto
	(gtk_tree_store_iter_nth_child): ditto
	(gtk_tree_store_insert_after): ditto
	(gtk_tree_store_is_ancestor): ditto
	(gtk_tree_store_iter_depth): ditto
	(gtk_tree_store_insert_before): assert that sibling's parent is
	the same as the passed-in parent
	(gtk_tree_store_insert_after): assert that sibling's parent is
	the same as the passed-in parent


	* gtk/gtktreemodel.c (gtk_tree_model_get_first): new convenience
	function to get the first iterator in a model

	* gtk/gtktreestore.c (gtk_tree_store_get_root_iter): remove,
	conventionally the "root" in this sense is just NULL afaict.

	* gtk/gtkliststore.c (gtk_list_store_insert_before): handle case
	where sibling == iter
	(gtk_list_store_insert_after): handle case where sibling == iter

	* tests/testtreeview.c (run_automated_tests): fairly lame basic
	automated tests for ListStore, TreeStore

        * gtk/gtkliststore.c (gtk_list_store_remove): update tail pointer
	(gtk_list_store_insert): update tail pointer, and fix it to work
	(gtk_list_store_insert_before): update tail pointer, and fix it to work
	(gtk_list_store_append): use tail to be faster
	(gtk_list_store_prepend): fix it, update tail pointer
	(gtk_list_store_insert_after): fix it, update tail pointer

	* gtk/gtkliststore.h (struct _GtkListStore): add tail pointer for
	the list
2001-01-10 23:44:22 +00:00
Havoc Pennington
85267e9224 don't draw if label->layout is NULL due to a pending resize
2001-01-09  Havoc Pennington  <hp@redhat.com>

	* gtk/gtklabel.c (gtk_label_expose): don't draw if label->layout
	is NULL due to a pending resize

	* gtk/gtktreeview.c (gtk_tree_view_check_dirty): don't set the
	column width to values less than 1

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_width): clamp
	width to be between min/max width, and still set the width
	even if autosize is turned on, so the tree view can use this
	function in order to autosize.
	(gtk_tree_view_column_init): set initial width to 1 not 0

	* gtk/gtktreeview.c (gtk_tree_view_size_request_buttons): use
	setter function to modify column width, so we get notification
	(gtk_tree_view_insert_iter_height): ditto
	(gtk_tree_view_calc_size): ditto
	(gtk_tree_view_check_dirty): ditto

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_class_init): Add
	properties to change all the interesting attributes of the tree
	view column.
	(gtk_tree_view_column_set_header_clickable): rename set_clickable
	(gtk_tree_view_column_get_clickable): add
	(gtk_tree_view_column_set_cell_renderer): don't unset the current
	attributes; assume a cell renderer with equivalent object
	properties has been swapped in. Do g_object_notify().
	(gtk_tree_view_column_set_visible): g_object_notify
	(gtk_tree_view_column_get_sizing): rename from get_col_type
	(gtk_tree_view_column_set_sizing): g_object_notify
	(gtk_tree_view_column_set_width): add g_object_notify
	(gtk_tree_view_column_set_min_width): ditto
	(gtk_tree_view_column_set_max_width): ditto
	(gtk_tree_view_column_set_title): ditto
	(gtk_tree_view_column_set_clickable): ditto
	(gtk_tree_view_column_set_widget): ditto
	(gtk_tree_view_column_set_justification): ditto
2001-01-09 23:24:20 +00:00
Havoc Pennington
637c61da76 handle case where there are no rows in the model
2001-01-09  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_check_dirty): handle case where
	there are no rows in the model

	* gtk/gtkliststore.c (gtk_list_store_iter_children): if parent is
	NULL, then return the start of the list

	* gtk/gtktreeview.c (gtk_tree_view_setup_model): don't build tree
	if we can't get any rows from an empty model

	* gtk/gtktreeviewcolumn.h (struct _GtkTreeViewColumn): remove
	extraneous * after function pointer typedef usage

	* Makefile.am: don't specify full path to cp and rm

	* gtk/gtkcellrenderertextpixbuf.c
	(gtk_cell_renderer_text_pixbuf_get_size): check width/height !=
	NULL before dereferencing, fixes a segfault that happened from
	time to time

	* gtk/gtkcellrendererpixbuf.c (gtk_cell_renderer_pixbuf_render):
	use gdk_pixbuf_render_to_drawable_alpha() to get alpha channel,
	and reindent the function
	(gtk_cell_renderer_pixbuf_get_size): indentation

	* gtk/gtkdialog.c (gtk_dialog_run): destroy main loop only after
	we quit it
	(gtk_dialog_add_buttons_valist): add g_return_if_fail
	(gtk_dialog_set_default_response): New function, to set default
	button
	(gtk_dialog_set_response_sensitive): New function, to set
	sensitivity of buttons

	* gtk/gtkcellrendererpixbuf.c
	(gtk_cell_renderer_pixbuf_get_property): allow getting a NULL pixbuf
	(gtk_cell_renderer_pixbuf_set_property): allow setting a NULL pixbuf

	* gtk/gtktreedatalist.c (_gtk_tree_data_list_node_to_value):
	handle any G_TYPE_OBJECT subclass, not just the base class, and
	also boxed types.
	(_gtk_tree_data_list_value_to_node): ditto

	* gtk/gtkrbtree.c: Run _gtk_rbtree_test at strategic points if
	--gtk-debug=tree

	* gtk/gtkmain.c: add GTK_DEBUG_TREE

	* gtk/gtkdebug.h: add GTK_DEBUG_TREE
2001-01-09 17:45:34 +00:00
Jonathan Blandford
15b23123f7 Show menu items before adding to option menu.
Mon Jan  8 14:06:29 2001  Jonathan Blandford  <jrb@redhat.com>

	* tests/testtreeview.c (main): Show menu items before adding to
	option menu.

	* gtk/gtktreeview.c (gtk_tree_view_set_model): Keep the columns
	around if we kill them.

	* gtk/gtktreeviewcolumn.c (gtk_tree_view_column_set_cell_data):
	Return if we pass in a NULL model.
2001-01-08 19:07:51 +00:00
Havoc Pennington
157cfa27ca hack on this some
2001-01-08  Havoc Pennington  <hp@redhat.com>

	* tests/testtreeview.c: hack on this some

	* gtk/gtktreestore.c (gtk_tree_store_setv): rename
	gtk_tree_store_set_valist, v is for arrays, valist for varargs
	list
	(gtk_tree_store_getv): rename gtk_tree_store_get_valist

	* gtk/gtkliststore.h: Add varargs set() and get() convenience
	functions
2001-01-08 18:26:05 +00:00
Havoc Pennington
5c37906778 hack on this a bit
2001-01-05  Havoc Pennington  <hp@redhat.com>

	* tests/testtreeview.c: hack on this a bit

	* gtk/gtktextlayout.c (gtk_text_layout_class_init):
	s/GTK_RUN_LAST/G_SIGNAL_RUN_LAST

	* gtk/gtktreemodelsimple.h (GTK_IS_TREE_MODEL_SIMPLE_CLASS):
	was spelled incorrectly
	(GTK_IS_TREE_MODEL_SIMPLE): ditto

	* gtk/gtktreeview.c (gtk_tree_view_set_headers_clickable): rename
	from gtk_tree_view_set_headers_active

	* gtk/gtktexttag.c:
	(gtk_text_tag_get_property): handle PROP_DIRECTION
	(gtk_text_tag_set_property): g_object_notify when we toggle the _set
	properties, bug 40235

	* gtk/gtktextiter.c (gtk_text_iter_forward_to_delimiters): rename
	forward_to_line_end
2001-01-06 01:31:58 +00:00
Havoc Pennington
c020b3b4f8 Rename some stuff:
2001-01-04  Havoc Pennington  <hp@redhat.com>

        Rename some stuff:

	s/gtk_tree_view_column_set_size/gtk_tree_view_column_set_width/g;

	s/GtkModelSimple/GtkTreeModelSimple/g;
	s/GTK_MODEL_SIMPLE/GTK_TREE_MODEL_SIMPLE/g;
	s/gtk_model_simple/gtk_tree_model_simple/g;
	s/gtkmodelsimple/gtktreemodelsimple/g;

	s/gtk_tree_view_column_set_header_active/gtk_tree_view_column_set_header_clickable/g;

	s/GtkTreeViewColumnType/GtkTreeViewColumnSizing/g;
	s/column_set_col_type/column_set_sizing/g;

	s/GtkTreeSelectionType/GtkTreeSelectionMode/g;
	s/gtk_tree_selection_set_type/gtk_tree_selection_set_mode/g;

	s/GtkCellRendererType/GtkCellRendererState/g;

	* gtk/gtkcellrenderertoggle.c: remove _ macro, include gtkintl.h
	(gtk_cell_renderer_toggle_class_init): change "state" property to
	"active", to match GtkToggleButton
	(gtk_cell_renderer_toggle_get_active): new function, bug
	40269
	(gtk_cell_renderer_toggle_set_active): new function
	(gtk_cell_renderer_toggle_set_property): route changes to toggle
	state through gtk_cell_renderer_set_active
2001-01-04 21:33:24 +00:00
Havoc Pennington
c7826b5f63 Adapt to uscore-ification of gtktextiterprivate
2001-01-03  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c: Adapt to uscore-ification of gtktextiterprivate

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): remove use
	of private functions; remove inclusion of private headers.

	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_at_line): Add this
	function, so we don't need private functions in gtktextdisplay.c

	* gtk/gtktextiterprivate.h: underscore-ification

	* gtk/gtkwidget.c: Clean up a bunch of docs that said "INTERNAL"
	to instead say "only useful to implement widgets"

	* gtk/gtkenums.h (GtkMovementStep): Rename GTK_MOVEMENT_CHARS,
	GTK_MOVEMENT_POSITIONS to GTK_MOVEMENT_LOGICAL_POSITIONS,
	GTK_MOVEMENT_VISUAL_POSITIONS. Resolves bug 40249.

	* gdk/x11/gdkwindow-x11.c (gdk_window_impl_x11_set_colormap):
	This function was completely broken

	* gtk/testtext.c (line_numbers_expose): use gtk_paint_layout

	* gtk/gtkvscale.c (gtk_vscale_draw_value): use gtk_paint_layout

	* gtk/gtkvruler.c (gtk_vruler_draw_ticks): use gtk_paint_layout

	* gtk/gtklabel.c (gtk_label_expose): use gtk_paint_layout

	* gtk/gtkhscale.c (gtk_hscale_draw_value): use gtk_paint_layout

	* gtk/gtkhruler.c (gtk_hruler_draw_ticks): use gtk_paint_layout

	* gtk/gtkcellrenderertext.c (gtk_cell_renderer_text_render): use
	gtk_paint_layout

	* gtk/gtkaccellabel.c (gtk_accel_label_expose_event): use
	gtk_paint_layout

	* gtk/gtkstyle.h: Add draw/paint expander to draw tree expanders.
	Progress on bug 40103. Add draw_layout to draw a PangoLayout.
	(struct _GtkStyleClass): Remove draw_cross, draw_oval, draw_ramp,
	which were not implemented.

	* gtk/gtktextbuffer.h (struct _GtkTextBufferClass): Add
	insert_pixbuf signal. Rename delete_text to delete_range since it
	also deletes pixbufs and child anchors. This almost closes bug
	40245 (still need to deal with child anchors)

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Add
	insert_pixbuf, change signal names as appropriate, change types of
	signals taking marks/tags to have the specific type, not just
	G_TYPE_OBJECT

	* gtk/gtkmain.c (gtk_get_current_event_state): Add this function;
	closes bug 40051

	* gtk/gtkoptionmenu.c (gtk_option_menu_set_history): clean up
	unnecessary remove_contents() call
	(gtk_option_menu_class_init): add a "changed" signal, closes
	bug 40039
	(gtk_option_menu_update_contents): emit "changed" if the
	active menu item changes

	* gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done): fix bad
	cast to GtkObject, reported by Jonas Borgstrom
	(gdk_pixbuf_loader_finalize): don't close the loader on finalize;
	we can't do stuff with side effects in finalize. Instead, spew a
	warning if the loader isn't closed.

	* gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_finalize): free
	colormap in here, non-X ports probably need to sync to this change

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_set_colormap): remove
	assertion that colormap != NULL, you can set the colormap to NULL
	if you like.

	* Makefile.am: remove gtk-config-2.0

	* configure.in: Use pkg-config to locate GLib. Remove
	separated-out GMODULE_LIBS, GMODULE_CFLAGS; these were not used,
	and the gmodule libs/cflags were in GLIB_LIBS GLIB_CFLAGS anyhow.
	Use pkg-config to locate Pango. Output correct Pango libs to
	gdk-2.0.pc.in. Fix test for FREETYPE_CONFIG (typo fix).

	* Makefile.am (pkgconfig_DATA): install only target-specific pc
	files
	(install-data-local): symlink gtk+-2.0.pc and gdk-2.0.pc to the
	X11 pc files

	* gtk+-2.0.pc.in (Requires): require the GDK for the current target
	unref from here
2001-01-04 17:48:43 +00:00
Havoc Pennington
7a958797e2 Rearrange all the scroll-while-dragging-or-selecting code to be different,
2000-12-31  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextview.c: Rearrange all the
scroll-while-dragging-or-selecting code to be different, not
necessarily better. ;-)
(gtk_text_view_scroll_to_mark): Change this
function to take within_margin as a fraction instead of a pixel
value, and to take alignment arguments (indicating where to align
the mark inside the visible area)

* gtk/testtextbuffer.c (fill_buffer): fix bad cast of GtkTextTag
to GtkObject

* gtk/gtktextiter.c (gtk_text_iter_set_line_offset): change
behavior so that offsets past the end of the line are not
allowed, and an offset equal to the line length moves the iterator
to the next line
(gtk_text_iter_set_line_index): make parallel change
(gtk_text_iter_get_bytes_in_line): add this function

* gtk/gtktextbtree.c (_gtk_text_line_byte_locate): change handling
of byte indexes off the end of the line; byte index at the end of
the line now returns FALSE and doesn't fill in the requested
values, byte index past the end of the line is an error.  Also,
don't allow -1 offset anymore, since its meaning is unclear.

This change exposes some bug in visual cursor motion, where we
end up with a huge invalid byte index; needs fixing. Symptom of
bug is a crash when you hit up arrow.

(_gtk_text_line_char_locate): match the change to byte_locate

* gtk/gtktextiter.c (find_by_log_attrs): Handle iteration backward
from start of line properly. fixes bug reported by Mikael
Hermansson where backspace would delete all text before the
cursor.
2000-12-31 23:28:57 +00:00
Havoc Pennington
44a09c3746 more work
2000-12-21  Havoc Pennington  <hp@redhat.com>

	* tests/testtreeview.c: more work
2000-12-21 22:17:38 +00:00
Jonathan Blandford
dadf966b3b :get_property): remove g_value_init calls, as they are no longer needed.
2000-12-20  Jonathan Blandford  <jrb@redhat.com>

	    * gtk/gtkcellrenderer*.c (::get_property): remove
              g_value_init
	      calls, as they are no longer needed.

	      * gtk/gtktreemodelsort.c: Fix up the comparison code.

	      * gtk/gtktreemodel.h: Start work on ::reordered signal.
	      Need to
	      figure out how to emit a signal on an interface.
2000-12-21 05:27:06 +00:00
Havoc Pennington
f00175cf07 new directory to contain tests, gtk/test* should move here sometime (with
2000-12-20  Havoc Pennington  <hp@redhat.com>

	* tests: new directory to contain tests, gtk/test* should move
	here sometime (with appropriate on-cvs-server hackery)

	* tests/testtreeview.c, tests/Makefile.am: a test

	* configure.in (AC_OUTPUT): add tests/Makefile

	* gtk/gtktexttag.c (gtk_text_tag_get_property): Add "invisible"
	and "invisible_set" which were missing

	* gtk/gtkrbtree.h: some cheesy indentation fix
2000-12-21 01:53:39 +00:00
Havoc Pennington
d788d9b054 wow, that implementation was pretty non-working.
2000-12-18  Havoc Pennington  <hp@redhat.com>

	* gdk/gdkevents.c (gdk_event_get_state): wow, that implementation
	was pretty non-working.

	* gtk/testtext.c (fill_file_buffer): make this a bit more robust
	by passing the length to g_utf8_validate().
2000-12-18 19:12:35 +00:00
Havoc Pennington
e405f75c2b General cleanup of the log attr iteration stuff. This should make e.g. the
2000-12-16  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextiter.c: General cleanup of the log attr iteration
stuff. This should make e.g. the delete key work again in the
text widget...
(gtk_text_iter_forward_cursor_positions): handle negative count
(gtk_text_iter_backward_cursor_positions): handle negative count
(gtk_text_iter_forward_word_ends): handle negative count
(gtk_text_iter_backward_word_starts): handle negative count

* gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktexttag.h,
gtk/gtktexttag.c, gtk/gtktexttagtable.h, gtk/gtktexttagtable.c,
gtk/gtktextbuffer.h, gtk/gtktextbuffer.c: Convert everything to
GObject. No doubt will cause breakage.

* demos/gtk-demo/textview.c: remove hacks around
non-GObject-ification of the text objects

* demos/gtk-demo/main.c (main): use g_object_set() to manipulate
the text tag
2000-12-16 07:01:48 +00:00
Owen Taylor
6e5a269f38 Add two virtualized functions gdk_drawable_get_clip_region - to get the
Thu Dec 14 20:22:31 2000  Owen Taylor  <otaylor@redhat.com>

        * gdk/{gdkdrawable.[ch],gdkpixmap.c,gdkwindow.c,x11/gdkwindow.c}:
	Add two virtualized functions gdk_drawable_get_clip_region - to
	get the clip region when drawing.

	* gdk/gdkwindow.c (gdk_window_invalidate_rect): Rewrite to simple
	use invalidate_region.

	* gdk/gdkwindow.c (gdk_window_invalidate_region): Clip to visible
	region.

	* acconfig.h configure.in: Check for Xft. For now, assume
	that if Xft is found, Pango was compiled with Xft support
	as well.

	* gdk/gdkcolor.h gdk/x11/gdkcolor-x11.c: Add
	gdk_colormap_query_color().

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_glyphs): Draw
	with Xft if appropriate.

	* gdk/x11/gdkpango-x11.c (gdk_pango_context_get): Create
	a pangoxft context if we have XFT and the environment
	variable GD_USE_XFT is set.

	* gdk/x11/gdkx.h (struct _GdkGCX11): Cache the fg_pixel
	and also possibly an XftDraw structure.

        * gtk/gtkfontsel.c: Handle the case where the font from the
	style doesn't match any of the fonts a bit better.

	* gtk/testgtk.c: Add tabs between directional segments for
	hebrew/arabic test. (Not really necessary, just a little
	prettier.)
2000-12-15 01:46:41 +00:00
Havoc Pennington
2142a98c9e fix unicode validation when reading a file
2000-12-14  Havoc Pennington  <hp@redhat.com>

	* gtk/testtext.c (fill_file_buffer): fix unicode validation when
	reading a file
2000-12-15 00:52:00 +00:00
Havoc Pennington
94ec8cff93 remove unused call to get_last_line()
2000-12-14  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c (_gtk_text_btree_validate_line): remove
	unused call to get_last_line()

	* gtk/gtkobject.c (gtk_object_add_arg_type): add G_TYPE_POINTER
	here until boxed is working (and maybe after that - we should
	really not gratuitously break old code)

	* gtk/gtktexttag.c (gtk_text_tag_class_init): add commented-out
	specific types for font_desc and tabs args, move them to
	GTK_TYPE_POINTER for now, waiting on g_param_spec_boxed() to get
	fixed. Move GdkColor args to GTK_TYPE_POINTER also.

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): temporarily
	use GTK_TYPE_POINTER for signal signatures as a hack-around

	* gtk/gtk-boxed.defs: Add boxed types for PangoFontDescription and
	PangoTabArray

	* gtk/gtktextlayout.c (line_display_iter_to_index):
	make static
	(line_display_index_to_iter): make static

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
	to marshal a string not a boxed

	* gtk/gtkmarshal.list: add marshaller for GtkTextBuffer:insert_text

	* gtk/testtext.c (fill_file_buffer): don't use g_utf8_next_char
	since the UTF-8 isn't validated yet

	* gtk/gtktextsegment.c (char_segment_check_func): don't require
	lines to end in '\n'

	* gtk/gtktextview.c (gtk_text_view_move_cursor): update to use
	forward_to_delimiters, and grapheme boundaries
	(gtk_text_view_delete_from_cursor): properly handle non-newline
	delimiters, and grapheme boundaries

	* gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): rename
	to gtk_text_iter_forward_to_delimiters, and make it work properly
	if empty lines end with a character other than '\n'

	* gtk/gtktextiter.h, gtk/gtktextiter.c: Add movement by cursor
	position
2000-12-14 23:26:59 +00:00
Tim Janik
53d7e43060 get rid of object_signal:: GtkObject argument uses, use GObject
Tue Dec 12 08:24:42 2000  Tim Janik  <timj@gtk.org>

        * gtk/testgtk.c:
        (create_tooltips):
        (create_statusbar): get rid of object_signal:: GtkObject argument uses,
        use GObject swapped_signal:: properties instead.

        * gtk/gtkcellrenderertoggle.c:
        * gtk/gtkcellrenderertextpixbuf.c:
        * gtk/gtkcellrenderertext.c:
        * gtk/gtkcellrendererpixbuf.c:
        * gtk/gtkcellrenderer.c:
        * gtk/gtktreeviewcolumn.c: s/[sg]et_param/[sg]et_property/, fixed
        missing warnings for invalid property ids, install properties
        with g_object_class_install_property() now.

        * gtk/gtksignal.c:
        (gtk_signal_emit): let g_signal_emit_valist() collect the values for us.
2000-12-12 07:32:32 +00:00
Owen Taylor
0cdc00ec0b Add a function to determine if a window is the focus widget within its
Wed Oct 25 14:17:43 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.[ch] (gtk_widget_is_focus): Add a function
	to determine if a window is the focus widget within
	its toplevel.

	* gtk/gtkcontainer.[ch]: Fix the return type of ::focus
	to be boolean.

	* gtk/gtkcontainer.c (gtk_container_real_focus): Move handling
	of the case where the container CAN_FOCUS to here instead
	of having it in each individual move-the-focus place.

	* gtk/gtkcontainer.c: Rewrite handling of left-right and up-down
	focusing to be geometric in a much more obvious sense. Arrowing
	around is still non-intuitive because it isn't perfect and
	because entries, etc, grab the arrow keys, but it at least
	usually will do what you expect now.

	* gtk/gtknotebook.[ch]: Many cleanups. Moved docs inline in this
	file.

	* gtk/gtknotebook.c: Change tabs to be a single item in
	the focus chain. Make movement of focus on tabs with arrow
	keys wrap around.

	* gtk/gtknotebook.c (gtk_notebook_find_child): Add
	CHECK_FIND_CHILD macro to give informative error messages
	instead of silent returns.

	* gtk/gtknotebook.c (gtk_notebook_init): Set the RECEIVES_DEFAULT
	flag since we handle GdkReturn on the tabs.

	* gtk/gtknotebook.c (gtk_notebook_expose_tabs): Invalidate
	windows rather than sending expose events directly.

	* gtk/gtknotebook.[ch] docs/Changes-2.0.txt: Move structure
	definition for GtkNotebookPage into .c file, since it is private.

	* gtk/testgtk.c (create_notebook): Add option for
	testing borderless notebook.

	* gtk/testgtk.c (page_switch): Removed egregious poking
	around in GTK+ internals.

	* docs/widget-system.txt: Remove references to GTK_REDRAW_PENDING.

	* gtk/gtkclist.[ch]: Remove key press handler, handle focusing
	properly through gtk_clist_focus. Make the title headers a
	single item in the tab-focus chain, and make left-right wrap
	around.

	* gtk/gtkwindow.c (gtk_window_focus): Add a custom
	focus method so that wrapping around works properly.

	* gtk/gtktreeview.c: Remove calls to gtk_container_set_focus_child() -
	that is handled for the widget now.
2000-12-11 17:47:24 +00:00
Havoc Pennington
310a0d4fcc Handle chopping off \r\n and 0x2029 in addition to \n before passing to
2000-12-11  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
	Handle chopping off \r\n and 0x2029 in addition to \n before
	passing to PangoLayout

	* gtk/gtkimcontextsimple.c
	(gtk_im_context_simple_get_preedit_string):
	return an empty string if no match is pending

	* gtk/gtkimcontext.c (gtk_im_context_get_preedit_string): add
	assertion that the returned preedit string was sane

	* gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
	s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
	s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
2000-12-11 15:51:20 +00:00
Jonathan Blandford
a2771e40bc sync to home 2000-11-22 05:16:37 +00:00
Jonathan Blandford
7a2e1974f0 Add convertion functions to let you convert to and from relative path's
2000-11-20  Jonathan Blandford <jrb@redhat.com>
	* gtk/gtktreemodelsort.h: Add convertion functions to let you
	  convert to and from relative path's and iters.

	* gtk/treestoretest.c: move to having a sorted/unsorted view.  Start
	  testing sorting functions a bit better.  Currently broken -- will
	  fix in morning.
2000-11-21 09:07:45 +00:00
Havoc Pennington
6f7dd53b80 Semi-finish widget embedding. Need guffaw scrolling to be implemented in
2000-11-20  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
	gtk/testtext.c: Semi-finish widget embedding. Need guffaw
	scrolling to be implemented in GDK to finish. Also, right now
	we just size_allocate all children on every layout change,
	which is pretty lame. Test commented out of testtext.c,
	until it works better.
2000-11-20 23:51:51 +00:00
Havoc Pennington
74df6fc0a5 Apply patch from Mikael Hermansson to temporarily stop blinking while the
2000-11-15  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextview.c (gtk_text_view_start_cursor_blink): Apply
patch from Mikael Hermansson to temporarily stop blinking while
the user is using the keyboard to type or navigate.

Also, when blinking, stay on for longer than we stay off. Also,
return from start_cursor_blink if !cursor_visible, to save
checking that flag all over the place before we call
start_cursor_blink.
2000-11-16 05:45:42 +00:00
Havoc Pennington
ac5c0dbc98 Implement essential color cycling feature
2000-11-15  Havoc Pennington  <hp@redhat.com>

	* gtk/testtext.c: Implement essential color cycling feature
2000-11-15 23:25:08 +00:00
Havoc Pennington
306db7d03d Invalidate the side windows when we invalidate the main window.
2000-11-15  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (changed_handler): Invalidate the side windows
	when we invalidate the main window.

	* gtk/testtext.c (create_view): Get rid of text_changed_callback,
	GtkTextView will now invalidate the side windows for us when text
	changes.
2000-11-15 21:22:52 +00:00
Havoc Pennington
c72cec38f1 change "offset" to "rise"
2000-11-14  Havoc Pennington  <hp@pobox.com>

* gtk/testtextbuffer.c (fill_buffer): change "offset" to "rise"

* gtk/gtktexttypes.h (GTK_TEXT_UNKNOWN_CHAR): Add macro for
unknown char, no real reason we were using a variable.
Remove gtk_text_unknown_char variable. Fix all the text widget
files accordingly.

* gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC,
since the Unicode spec seems to prefer that character for our
purposes.
2000-11-15 03:41:45 +00:00
Havoc Pennington
fe8da19f2a Draw underlines one pixel higher.
2000-11-14  Havoc Pennington  <hp@redhat.com>

	* gdk/gdkpango.c (gdk_draw_layout_line): Draw underlines one pixel
	higher.

	* gtk/gtktextdisplay.c (render_layout_line): Take rise into
	account. Also, render rise, underline, background, etc. for
	pixbufs as well as text. Also, draw underlines one pixel higher.

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_display): Add a
	PangoAttribute for the rise, so it gets drawn properly. Also,
	add the GtkTextAppearance attribute for pixbuf/widget segments
	as well; we should go ahead and have rise, underline, background,
	stipple work for those

	* gtk/gtktexttag.c: Rename "offset" property to "rise" to match
	Pango
2000-11-15 00:23:37 +00:00
Havoc Pennington
73a00eeb44 fix bug where GC didn't always get updated properly
2000-11-13  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextdisplay.c (gtk_text_render_state_update): fix bug
	where GC didn't always get updated properly

	* demos/gtk-demo/textview.c (create_tags): Use subattributes
	of fonts instead of setting the entire font

	* gtk/testtext.c (fill_example_buffer): Use "size" instead of
	setting entire font

	* gtk/gtkdialog.c (gtk_dialog_add_button): Fix some warnings

	* gtk/gtktexttag.h, gtk/gtktexttag.c: Explode font_desc into
	a bunch of individually-settable font attributes. You can still
	use the "font" and "font_desc" args, they just set all the font
	attributes at once.
2000-11-14 01:08:28 +00:00
Havoc Pennington
15e0004b10 Free the filename of the module file.
2000-11-13  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkimmodule.c (gtk_im_module_init): Free the filename of
	the module file.

	* gtk/gtktexttag.c (gtk_text_attributes_copy): fix memory leak of
	dest->language

	* gtk/testtext.c: Test pixels above/below/inside paragraphs
	settings

	* gtk/gtktextview.c: Implement object args and setters/getters for
	all the aspects of the GtkTextAttributes that are not set from
	GtkWidget attributes. This is spacing, justification, margins,
	etc.

	(gtk_text_view_set_arg)
	(gtk_text_view_get_arg): implement get/set for editable, wrap mode
	args
	(gtk_text_view_class_init): Add args for justify, left_margin,
	right_margin, indent, and tabs


	* gtk/gtktextlayout.c (set_para_values): fix to display indent
	attribute properly

	* gtk/gtktexttag.c: Remove left_wrapped_line_margin attribute,
	replace with indent attribute

	* gtk/gtktextlayout.c (set_para_values): multiply indent by
	PANGO_SCALE

	* gtk/gtktextdisplay.c (render_para): Use PangoLayoutIter,
	rearranging code to do that
	(gtk_text_layout_draw): Pass in the y for the whole LineDisplay,
	i.e. don't subtract the top_margin first, just to keep
	all margin-futzing in one place.

	* gdk/gdkpango.c (gdk_draw_layout): Use PangoLayoutIter

	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Remove
	special case of last line, Pango now handles this itself.
	(gtk_text_layout_get_iter_at_pixel): Fix incorrect clamp of the
	Y coordinate
	(gtk_text_layout_move_iter_to_x): port to use PangoLayoutIter
	(find_display_line_above): wasn't moving the byte index as it
	iterated over lines, so always returned byte 0. Also, port to use
	PangoLayoutIter.
	(find_display_line_below): same problem as
	find_display_line_above. Also, port to use PangoLayoutIter.
2000-11-13 18:49:52 +00:00
Havoc Pennington
9adcd8a4b8 change demo install dir to datadir/gtk+-2.0/demo
2000-11-12  Havoc Pennington  <hp@pobox.com>

* demos/gtk-demo/Makefile.am (democodedir): change demo install
dir to datadir/gtk+-2.0/demo

* demos/gtk-demo/textview.c: Text widget demo; reveals all
sorts of text widget and Pango font bugs. Urgh.

* demos/gtk-demo/Makefile.am (demos): Add textview.c

* demos/gtk-demo/main.c (create_tree): Add instructions at top of
tree that you should double click to see the demo. Fix
types of variables to reflect changed return values from
GtkTreeStore and GtkTreeViewColumn constructors.

* gtk/gtktextbuffer.c (gtk_text_buffer_new): ref/sink the
newly-created buffer to prepare for GObject semantics

* gtk/testtext.c: don't leak the buffer with GObject semantics

* gtk/testtextbuffer.c: ditto
2000-11-13 06:08:17 +00:00
Havoc Pennington
7768d1dfb4 Add an "invisible_char" argument to set the char displayed when visibility
2000-11-09  Havoc Pennington  <hp@pobox.com>

* gtk/gtkentry.c (gtk_entry_class_init): Add an "invisible_char"
argument to set the char displayed when visibility == FALSE
(gtk_entry_create_layout): If !entry->visible, replace
all chars with the "invisible char"

* gtk/testgtk.c: Test the invisible_char deal
2000-11-13 03:29:14 +00:00
Owen Taylor
2cb2d33b20 Fix problem with using result of g_get_charset() backwards - pointed out
Sun Nov 12 14:10:09 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkselection-x11.c (gdk_utf8_to_compound_text): Fix
	problem with using result of g_get_charset() backwards -
	pointed out by Mikael Hermansson <mikeh@bahnhof.se>.

	* gtk/gtkwindow.c (gtk_window_compute_hints): Support
	negative min_width/height and max_width/height to
	mean "requisition"; this allows setting a window
	to be user-resizable in only one direction easily.

	* gtk/testgtk.c (create_main_window): Remove hard-coded
	usize - set a default size in the vertical direction.
2000-11-12 19:16:11 +00:00
Owen Taylor
dfba226908 Make parent_class static.
Sun Nov  5 04:24:53 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcellrenderertextpixbuf.c: Make parent_class
	static.

Tue Sep 19 10:54:22 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimcontext*.[ch] gtk/gtkimmulticontext.[ch]
	gtk/gtktextlayout.[ch] gtk/gtktextview.c gtk/gtkentry.c:
	Add support for positioning the cursor within the preedit string.

Mon Sep 18 23:56:32 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextview.c: Check for bindings after passing
	events to im context filter.

Mon Sep 18 11:50:51 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.c (add_preedit_attrs): Handle
	empty attribute lists properly.

Sun Sep 17 10:08:16 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/queryimmodules.c (main): Return non-zero exit
	status if errors were encountered querying any
	modules.

Sat Sep 16 14:01:52 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtk.h: include gtkmodule.h gtkoldeditable.h,
	don't include gtkthemes.h.

	* gtk/testgtk.c gtk/testtext.c: Set environment variables
	to point

	* gtk/Makefile.am: Add new .c and .h files, build
	gtk-query-immodules and use it to create a gtk.immodules
	file for use of test programs.

	* gtk/gtkpreview.c: remove extra blank line.

Sat Sep 16 13:21:04 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimcontextsimple.c (gtk_im_context_simple_add_table):
	Add the ability to add extra tables beyond the default
	one, and also the ability to have compose sequences
	that are prefixes of other compose sequences.

	* gtk/gtkimcontextsimple.c: Export a preedit string which
	consists of possible candidates for keystrokes that have
	been entered but not yet committed.

	* gtk/gtkimcontext.[ch] gtk/immulticontext.[ch]
	gtk/gtkimcontextsimple.[ch]: add gtk_im_context_reset()

	* gtk/gtkmulticontext.[ch] (gtk_im_multicontext_append_menuitems):
	Add a function to add input-method switching menu items
	to a menu.

	* gtk/gtkimmulticontext.[ch]: Properly handly set_client_window
	when switching input methods.

	* gtk/gtkimcontextsimple.[ch]: Change the format of
	the compose table to allow compose tables of different
	lengths / sequence.

Sat Sep 16 13:05:48 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimmodule.[ch]: Support routines for loading
	GtkIMContext implementations dynamically at runtime.

	* gtk/queryimmodules.c: Program to query the available
	input modules and write the results into a file.

	* gtk/gtkrc.[ch] (gtk_rc_get_im_module_file): Add
	extra config options "im_module_file" (cache file for
	input method modules), and "im_module_path" - path
	to look for modules when generating cache file.

	This doesn't scale.

Sat Sep 16 13:09:06 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkthemes.[ch] gtk/gtkmodule.[ch]: Move most of the
	generic	code from gtkthemes into a new abstraction
	GtkModule which has the logic for implementing
	a loadable module which implements a number of
	GObject types.

Sat Sep 16 13:07:13 2000  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkeditable.[ch]: Convert GtkEditable from
	a class into an interface

	* gtk/gtkoldeditable.[ch]: Move the old editable
	implementation into here, so legacy widgets can
	still rely on the implemenation. GtkOldEditable
	exports GtkEditable. Make selection handling
	code use new text conversion functions (and
	handle UTF-8 as a side-effect). Use GtkClipboard
	for CLIPBOARD.

	* gtk/gtktext.[ch] gtk/gtkcombo.c gtk/gtkspinbutton.c:
	Adopt to match above changes.

	* gtk/gtkentry.[ch]: Implement GtkEditable directly,
	avoid GtkOldEditable implementation. Restructure
        to reduce number of places that modify state directly.
	Move to GtkBindingSet. Display the preedit string.
	Queue recomputation of PangoLayout and scroll position
	to improve effiency of doing complex changes naively.
	Add a menu with cut/copy/paste and input method selection.

Thu Sep 14 22:11:05 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.[ch]: Add gtk_text_layout_set_preedit_string()
	to set preedit string and attributes; display preedit string by
	inserting string and attributes at cursor when creating the
	GtkTextLineDisplay.

	* gtk/gtktextlayout.c: Move all conversions between byte
	positions in PangoLayout and GtkTextIter into new functions
	line_display_iter_to_index/index_to_iter that properly
	handle the preedit string.

	* gtk/gtktextmark.[ch]: Restore gtk_text_mark_get_name, modify
	it to return const char * (eventually will end up
	as GCONST char *, most likely.)

	* gtk/gtktextview.[ch]: Handle the preedit string, call
	gtk_im_context_reset() as necessary, add a menu to switch
	input methods.

	* gtk/gtktextlayout.[ch]: Remove useless
	gtk_text_layout_get_log_attrs() function.
2000-11-12 03:43:24 +00:00
Jonathan Blandford
f8faec4574 use the new BOXED marshallers.
Fri Nov 10 12:10:34 2000  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkliststore.c (gtk_model_simple_class_init): use the new
	BOXED marshallers.

	* gtk/gtkliststore.c (gtk_list_store_get_column_type): Add this.
	(gtk_list_store_class_init): use the new BOXED marshallers.

	* gtk/gtktreestore.c (gtk_tree_store_new_with_types): change
	new_with_values to new_with_types.
	(gtk_tree_store_get_column_type): add this.
	(gtk_tree_store_class_init): use the new BOXED marshallers.

	* gtk/gtkmarshal.list: Added a number of BOXED marshallers to
	mirror some POINTER marshallers.
2000-11-10 19:38:53 +00:00
Jonathan Blandford
c97d57ebb8 added more fields to allow more interesting iterators. Also, made the
Thu Nov  9 11:23:22 2000  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreemodel.h (struct _GtkTreeIter): added more fields to
	allow more interesting iterators.  Also, made the lifecycle of
	iterators more explicit.

	* gtk/gtktreemodelsort.[ch]: New model for sorting.

	* gtk/gtk-boxed.defs (GtkTreeIter, GtkTreePath): Added two boxed
	types.
2000-11-09 16:52:17 +00:00
Havoc Pennington
167e741e93 Add visible and visible_set args, don't know where these had gone, I
2000-11-08  Havoc Pennington  <hp@pobox.com>

* gtk/gtktexttag.c (gtk_text_tag_class_init): Add visible and
visible_set args, don't know where these had gone, I thought they
used to be there

* gtk/testtext.c: Add a menu item to apply invisibility tag;
now we can test the feature and see that it's totally broken.
2000-11-09 04:51:53 +00:00
Alexander Larsson
814957b46e Add note about GtkMenuPositionFunc API changes.
2000-11-08  Alexander Larsson  <alexl@redhat.com>

	* docs/Changes-2.0.txt: Add note about GtkMenuPositionFunc
	API changes.

	* gtk/gtkmenu.c: Add support for scrolling menus.
	Remove gtk_menu_append/prepend/insert, these have been moved to
	gtkcompat.h as #defines.

	* gtk/gtkcompat.h.in:
	Add compatibility #defines for gtk_menu_append/prepend/insert

	* gtk/gtkmenu.h: Add data needed for scrolling menus.
	GtkMenuPositionFunc gets an extra argument push_in.
	gtk_menu_append/prepend/insert removed.

	* gtk/gtkmenuitem.c (gtk_menu_item_position_menu): Change menu
	positioning behaviour to fit to scrolling menus.

	* gtk/gtkmenuitem.c (gtk_menu_item_forall): Don't recurse
	into menuitem->submeny. That is wrong, and broke torn
	off submenus of torn off menus, since they were unrealized
	when the first menu was unrealized.

	* gtk/gtkmenushell.[ch]: Virtualize gtk_menu_shell_insert() and
	gtk_menu_shell_select_item() since these need to be overridden in
	GtkMenu.

	* gtk/gtkoptionmenu.c (gtk_opttion_menu_position): Change menu
	positioning behaviour to fit to scrolling menus.
	(gtk_option_menu_key_press, gtk_option_menu_button_press): Select
	the current item so that it is prelighted when the menu pops up.
	This is a workaround to the fact that the menu doesn't get the
	initial enter event (due to grabs).

	* gtk/gtkfilesel.c, gtk/gtkinputdialog.c, gtk/testgtk.c:
	s/gtk_menu_append/gtk_menu_shell_append/

	* gtk/gtknotebook.c:
	s/gtk_menu_insert/gtk_menu_shell_insert/

	* gtk/testgtk.c (create_menu, create_menus):
	Create the first menu with 50 items so that menu scrolling
	can be tested.


	Patch from Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkmenuitem.[ch] (gtk_menu_item_toggle_size_request): new
	system to handle size requests.  First, we ask what the size of
	the toggle is.  Then, when allocating the size, we allocate the
	toggle_size first.  This way we can have multiple menu-item
	classes w/o needing a seperate class for each.

	* gtk/gtkmenu.c (gtk_menu_size_request): Actually use the new system.
	* gtk/gtkmenu.c (gtk_menu_size_allocate): Use the new system.

	* gtk/gtkcheckmenuitem.c
	(gtk_check_menu_item_toggle_size_request): New function to handle
	the toggle size-request.
2000-11-08 17:34:52 +00:00
Havoc Pennington
f1de9df051 rename to gtk_text_mark_get_visible
2000-11-07  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextmark.c (gtk_text_mark_is_visible): rename
	to gtk_text_mark_get_visible

	* gtk/gtktextlayout.c (gtk_text_layout_move_iter_to_line_end): fix
	bug that was generating an invalid iterator

	* gtk/gtktextiter.c (gtk_text_iter_get_offset): move call to
	ensure_char_offsets() in front of code placing the iter in an
	invalid state.

	* gtk/gtktextbuffer.c (gtk_text_buffer_paste_primary):
	make override_location arg const
	(paste): Replace the selection if we paste into the
	current selection

	* gtk/gtkselection.h: Remove "GtkSelectioData"
	(struct _GtkSelectionData): move the definition here.

	* gtk/gtktextbuffer.c (gtk_text_buffer_update_primary_selection):
	Export the GTK_TEXT_BUFFER_CONTENTS target for in-process copies

	* gtk/gtktextiter.c (gtk_text_iter_get_tags): New function

	* gtk/gtktextbuffer.c (gtk_text_buffer_insert_range): implement
	(gtk_text_buffer_insert_range_interactive): implement
	(gtk_text_buffer_get_tags): Remove, replaced by
	gtk_text_iter_get_tags()

	* gtk/gtktextiter.c (gtk_text_iter_forward_search): Add a search
	limit parameter, to avoid infinite linear scan.
	(gtk_text_iter_backward_search): Add search limit
	(gtk_text_iter_forward_find_char): Add search limit
	(gtk_text_iter_backward_find_char): Add search limit
2000-11-07 21:01:02 +00:00
Tim Janik
ab6b184e9d provide a toggle button to temporarily disable position recording in the
Sun Nov  5 05:32:39 2000  Tim Janik  <timj@gtk.org>

        * gtk/testgtk.c (uposition_stop_configure): provide a toggle
        button to temporarily disable position recording in the
        "saved position" test.

Sat Nov  4 05:37:17 2000  Tim Janik  <timj@gtk.org>

        * gtk/gtkthemes.c: added compat code that temporarily implements
        GtkThemeEnginePlugin as a GObject exporting GTypePlugin. this is
        going to be revamped by owen's upcoming GtkModule patches, but
        untill then people want gtk to build, right? ;)
2000-11-05 05:08:05 +00:00
Havoc Pennington
0ee86faa3c had a test backward
2000-11-02  Havoc Pennington  <hp@redhat.com>

	* gtk/testgtk.c (create_labels): had a test backward

	* gdk/x11/gdkgc-x11.c (gdk_gc_copy): Copy the client-side GC
	fields, so the dest GC ends up with the correct clip origin,
	etc. Fixes a bug where colored labels didn't redraw
	properly.
2000-11-02 17:18:53 +00:00
Havoc Pennington
e667f04912 Test set_markup_with_accel()
2000-11-01  Havoc Pennington  <hp@redhat.com>

	* gtk/testgtk.c (create_labels): Test set_markup_with_accel()

	* gtk/gtklabel.c (set_markup): Convert the unichar to a GDK keyval
	before returning it.
2000-11-01 23:56:18 +00:00
Havoc Pennington
fe9f9d03f4 New function to create a pixbuf pointing to a subregion of another pixbuf.
2000-11-01  Havoc Pennington  <hp@pobox.com>

* gdk-pixbuf.c (gdk_pixbuf_new_subpixbuf): New function to create
a pixbuf pointing to a subregion of another pixbuf.

2000-11-01  Havoc Pennington  <hp@pobox.com>

* gtk/gtklabel.c (gtk_label_set_attributes): Set a PangoAttrList
on a label
(gtk_label_finalize): unref the attr list if any.

* gtk/testgtk.c (create_get_image): close test on second click
(make_message_dialog): close dialog if it exists

* gdk/gdkpango.c (gdk_draw_layout): Handle rise attribute

* gdk-2.0.pc.in (Requires): Make it require gdk-pixbuf-2.0 not
gdk-pixbuf

* gtk/gtklabel.c (gtk_label_set_markup): new function to set label
from Pango markup format
(gtk_label_set_markup_with_accel): ditto but with accelerator
parsing

* gtk/gtkimage.c (gtk_image_expose): reformatting.

* gdk/gdkpixbuf-drawable.c (gdk_pixbuf_get_from_drawable): Hack to
reflect current state of GDK - use gdk_drawable_get_colormap, etc.
Check GDK_IS_WINDOW() not !GDK_IS_PIXMAP() to decide whether to
call gdk_window_get_origin().

* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable_alpha):
implement GDK_PIXBUF_ALPHA_FULL
2000-11-01 07:07:46 +00:00
Jonathan Blandford
0ccb3e9aed Not sure how this ever worked. Fixed it to use new iter stuff, and added
Fri Oct 27 17:56:26 2000  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtkliststore.c: Not sure how this ever worked.  Fixed it to
	use new iter stuff, and added all the appropriate signals et al.

	* gtk/gtktreedatalist.h: s/gtk/_gtk to further reinforce that this
	code is internal to gtk only.
2000-10-27 23:34:58 +00:00
Havoc Pennington
a291b0be4c add new marshallers used by the text widget
2000-10-26  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkmarshal.list: add new marshallers used by the text widget

	* gtk/gtktextbuffer.c (gtk_text_buffer_class_init): fix marshaller
	types

	* gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): fix
	marshaller types

	* gtk/gtktextlayout.h, gtk/gtktextlayout.c, gtk/gtktextdisplay.h,
	gtk/gtktextdisplay.c: We need to preserve Tk copyrights and
	license on these files.

	* gtk/gtktextiter.c (gtk_text_iter_backward_search): Make this
	work.

	* gtk/gtktextbtree.c (gtk_text_btree_new): init stamps to
	runtime random number different for each tree, instead of
	a constant I made up.
2000-10-26 23:05:43 +00:00
Jonathan Blandford
ef7b510f46 Got rid of GtkTreeNode, and changed it to GtkTreeIter. Added iterators
Wed Oct 25 20:40:25 2000  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreemodel.h: Got rid of GtkTreeNode, and changed it to
	GtkTreeIter.  Added iterators everywhere.

	* gtk/gtktreeviewcolumn.c: Changed to use the iterators.

	* gtk/gtktreeviewselection.c: Changed to use the iterators.

	* gtk/gtktreestore.c: Changed to use the iterators.

	* gtk/gtkliststore.c: Commented out the code.  Will convert to
	iterators tomorrow.

	* gtk/gtkmodelsimple.c: Commented out the code.  Will convert to
	iterators tomorrow.

	* gtk/treestoretest.c: Changed to use iterators.

	* demos/testgtk/main.c: Moved to use the new iterator system.
2000-10-26 00:36:47 +00:00
Robert Brady
f537723753 Allow creation of new files when saving.
2000-10-25  Robert Brady  <robert@suse.co.uk>

	* gtk/testtext.c (save_buffer): Allow creation of new files when
	saving.

	(fill_file_buffer): Don't die if a UTF-8 sequence is split across
	calls to read().
2000-10-25 19:14:19 +00:00
Havoc Pennington
2fab0eb1fa make it a static function
2000-10-24  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_scroll_to_mark_adjusted): make
	it a static function

	* gtk/gtktextbtree.c (gtk_text_btree_tag): Gee, maybe we should
	redraw text when a tag is applied to it.

	* gtk/gtktexttag.c (gtk_text_tag_affects_size)
	(gtk_text_tag_affects_nonsize_appearance): private functions to
	see if a tag requires various kinds of redraw/layout to be queued
	up.

	* gtk/gtktexttag.h (struct _GtkTextTag): Remove relief crackrock

	* gtk/testtext.c (fill_example_buffer): Put the cursor
	at the start of the buffer, so search works by default

	* gtk/gtktextiter.c (lines_match): init match_start always

	* gtk/gtktextbuffer.c (gtk_text_buffer_get_iter_at_line_index): New
	function, get iter at a line + a byte index

	* gtk/gtktextiter.c (gtk_text_iter_set_line_index): New function,
	to set byte position within a line
	(gtk_text_iter_check): remove leftover G_BREAKPOINT thing
2000-10-24 22:44:14 +00:00
Havoc Pennington
86b5c82a97 Re-enable the "find" dialog
2000-10-23  Havoc Pennington  <hp@redhat.com>

        * gtk/testtext.c: Re-enable the "find" dialog

	* gtk/testgtk.c: Add test for gdk_drawable_get_image

	* gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix bug where
	the arguments to gdk_draw_drawable were in the wrong order
	(gdk_window_paint_init_bg): This function was ignoring the
	init_region, instead of clipping to it, so the entire backing
	pixmap was cleared on every begin_paint()
	(gdk_window_begin_paint_region): Hmm, the same list-walking bug
	was in here again, the loop kept using the same GtkWindowPaint
	over and over.
	(gdk_window_begin_paint_region): Fix a bug where we had two
	x_offset instead of x_offset and y_offset

	* gdk/gdkdraw.c (gdk_drawable_get_image): get composite drawable
	before we get the image.
	(gdk_draw_drawable): get the composite before we draw the drawable.
	(gdk_drawable_real_get_composite_drawable): default
	get_composite_drawable implementation that returns the drawable
	itself

	* gdk/gdkdrawable.h (struct _GdkDrawableClass ): Add
	get_composite_drawable virtual function

	* gdk/gdkwindow.c (gdk_window_begin_paint_region): Fix a cheesy
	list-walking bug

	* gdk/x11/gdkdrawable-x11.c (gdk_x11_draw_drawable): Add a hack to
	make this work if the source drawable is a GdkDrawableImplX11
	instead of a public drawable type. This is really broken; the
	problem is that GdkDrawable needs a virtual method get_xid(), but
	of course that doesn't work in practice. Enter RTTI.

	Also, improve mismatched depth message.

	* gdk/gdkpixmap.c (gdk_pixmap_get_image): Implement get_image for
	GdkPixmap

	* gdk/x11/gdkdrawable-x11.c (gdk_drawable_impl_x11_class_init):
	install _gdk_x11_get_image as our implementation of get_image

	* gdk/x11/gdkimage-x11.c (gdk_image_get): Rename to
	_gdk_x11_get_image and export for use in gdkdrawable-x11.c

	* gdk/gdkimage.c (gdk_image_get): Make this just a wrapper around
	gdk_drawable_get_image

	* gdk/gdkdraw.c (gdk_drawable_get_image): call virtual get_image

	* gdk/gdkdrawable.h (struct _GdkDrawableClass ): Virtualize
	get_image

	* gtk/gtktreestore.c (gtk_tree_store_get_node): remove weird
	trailing semicolon after for loop
2000-10-24 00:15:14 +00:00
Tor Lillqvist
5fd61965e4 gtk/makefile.mingw.in Updates.
2000-10-22  Tor Lillqvist  <tml@iki.fi>

	* gtk/makefile.mingw.in
	* gtk/gtk.def: Updates.

	* gtk/testgtk.c: sleep() is called _sleep in MS's C
	library.

	* gtk/gtkimcontextsimple.c: Include <stdlib.h> for bsearch().

	* gtk/makefile.msc: Remove

	* gtk/makefile.msc.in: New file, like makefile.mingw.in.

	* gtk/Makefile.am: Add it.

	* configure.in: Generate it.

	* gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor)
	* gtk/gtktextbtree.c (gtk_text_line_char_to_byte): Return
	something even if not implemented, to satisfy picky MSVC.
2000-10-22 16:01:20 +00:00
Havoc Pennington
1c9f0c0bac create some stock buttons with the default accel group (create_image):
2000-10-04  Havoc Pennington  <hp@redhat.com>

	* gtk/testgtk.c (create_buttons): create some stock buttons
	with the default accel group
	(create_image): test some new GtkImage features
	(make_message_dialog): test GtkMessageDialog
	(create_modal_window): fix someone's bizzarro indentation

        * gtk/gtkwindow.h, gtk/gtkwindow.c: Implement
	GTK_WIN_POS_CENTER_ON_PARENT.
	Add "destroy with parent" setting, which means the window goes
	away with its transient parent.
	(gtk_window_get_default_accel_group): get the default accel group
	for the window.
	(gtk_window_set_destroy_with_parent): set/unset destroy with
	parent flag
	(gtk_window_read_rcfiles): invalidate icon set caches
	after reloading rcfiles

	* gtk/gtkenums.h (GtkWindowPosition): add
	GTK_WIN_POS_CENTER_ON_PARENT, which centers a dialog
	on its parent window when the dialog is mapped for the first time.

        * gtk/gtkmessagedialog.h, gtk/gtkmessagedialog.c: Add
	a simple message dialog class

	* gtk/gtkdialog.c (gtk_dialog_init): Connect delete event
	handler to emit response signal, and maybe later it would
	honor a hide_on_delete flag - though that isn't there yet.
	Set border width on the vbox to 2, so we get some padding.
	Use a button box for the action area.
	(gtk_dialog_key_press): synthesize a delete event if Esc
	is pressed and the GtkWidget key press handler didn't
	handle the escape key.
	(gtk_dialog_new_with_buttons): new function creates a dialog
	with some default buttons in it.
	(gtk_dialog_add_action_widget): add an activatable widget
	as a button in the dialog - you can also add a non-activatable
	widget by accessing the action area directly.
	(gtk_dialog_add_button): add a simple button - stock ID or
	label - to the action area
	(gtk_dialog_response): emit response signal
	(gtk_dialog_run): block waiting for the dialog, return
	the response. Override normal delete_event behavior, so that
	delete_event does nothing inside gtk_dialog_run().

	* gtk/gtkdialog.h, gtk/gtkdialog.c: Add "response" signal
	emitted when an action widget is clicked or the dialog gets
	delete_event

	* gtk/gtk.h: add gtkmessagedialog.h

	* gtk/Makefile.am: add gtkmessagedialog.[hc]

2000-10-20  Havoc Pennington  <hp@redhat.com>

	* gtk/gtk-sections.txt: Add dialog docs
2000-10-20 23:14:41 +00:00
Havoc Pennington
7a4c689387 Some updates
2000-10-18  Havoc Pennington  <hp@redhat.com>

	* gtk/gtk-sections.txt: Some updates

	* gdk/gdk-sections.txt: remove GdkPixbufAlphaMode

	* gdk-pixbuf/gdk-pixbuf-sections.txt: Add new API, remove
	GdkPixbufClass/GdkAnimationClass since those are private

	* gdk-pixbuf/Makefile.am (IGNORE_HFILES): ignore more headers

2000-10-18  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextiter.c (gtk_text_iter_forward_to_newline): Fix a bug
	where any number of empty lines would get skipped

	* gtk/gtktextiter.h: Remove padding from GtkTextIter; live on the
	edge.

	* gtk/gtktextiter.c (gtk_text_iter_make_surreal): enhance the
	warning about invalid iterators (explain more thoroughly)
	(gtk_text_iter_in_region): rename gtk_text_iter_in_range

	* gtk/gtktextview.c (FOCUS_EDGE_WIDTH): Make focus rectangle less
	big

	* demos/*.c: Add error handling

	* gtk/gtktextbuffer.c: don't modify const iterators

	* gtk/gdk-pixbuf-loader.c: Add full error handling here

	* gtk/gtkimage.c (gtk_image_set_from_file): ignore errors
	on file load

	* gtk/gtkiconfactory.c: Update to reflect addition of error
	handling to gdk-pixbuf loaders

2000-10-16  Havoc Pennington  <hp@redhat.com>

	* gdk-pixbuf-io.c (gdk_pixbuf_get_module)
	(gdk_pixbuf_get_named_module) (gdk_pixbuf_load_module):
	add error reporting here also

	* make-inline-pixbuf.c (main): use GError

	* io-xpm.c: include unistd.h

	* gdk-pixbuf-util.c: include string.h

	* io-*.c: add error reporting

	* gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file): add
	error reporting

	* gdk-pixbuf-io.c (gdk_pixbuf_new_from_file): Add error reporting

	* gdk-pixbuf-io.h: Add GError** to load_increment and load
	methods

	* gdk-pixbuf-io.c (gdk_pixbuf_save) (gdk_pixbuf_savev): return
	a G_FILE_ERROR if we fail to write or close the file.

	* gdk-pixbuf.h: remove GDK_PIXBUF_ERROR_IO, instead we'll use
	G_FILE_ERROR_*. Rename enum to GdkPixbufError, properly following
	the GError naming rules. Add GError** to load functions.
2000-10-18 18:42:54 +00:00
Jonathan Blandford
996cfd01c8 New function proposed by Guy Harris <gharris@flashcom.net>. Also, added
2000-10-15  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktreeview.c (gtk_tree_view_insert_column): New function
	proposed by Guy Harris <gharris@flashcom.net>.  Also, added API
	docs to all public functions.
2000-10-16 03:18:49 +00:00
Jonathan Blandford
45178fc56a Forgot this file 2000-10-06 00:06:39 +00:00
Jonathan Blandford
6b6e6763b7 Replaced with GTK_TREE_SELECTION_OLD to prevent conflict with
2000-10-05  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktree.h (GTK_TREE_SELECTION): Replaced with
	GTK_TREE_SELECTION_OLD to prevent conflict with gtktreeselection.c
	* gtk/testgtk.c: s/GTK_TREE_SELECTION/GTK_TREE_SELECTION_OLD/
	* gtk/gtktreeselection.[ch]: Replaced
	"node_selected"/"node_unselected" signal with "selection_changed"
	signal.
2000-10-06 00:06:00 +00:00
4
3ff4a2c081 Checked in initial draft of the new tree widget.
2000-10-04    <jrb@redhat.com>

	* gtk/gtk{tree,cell}?*.[ch]: Checked in initial draft of the new
	tree widget.
2000-10-05 01:04:57 +00:00
Havoc Pennington
928c069883 clean up trailing whitespace, add extensive tests for tag toggle
2000-10-03  Havoc Pennington  <hp@redhat.com>

	* gtk/testtextbuffer.c: clean up trailing whitespace,
	add extensive tests for tag toggle iteration.

	* gtk/gtktextiter.c (MAX_LINEAR_SCAN): decrease linear scan
	distance

	* gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
	optimize case where the tag root is on level 1
	(gtk_text_line_previous_could_contain_tag): attempt to implement
	(gtk_text_line_next_could_contain_tag): Abstract out node_compare
	functionality

	* gtk/gtktextiter.c (gtk_text_iter_backward_to_tag_toggle):
	Implement this, though not very efficiently.

	* gtk/gtktextiterprivate.h: reformat

	* gtk/gtktextiter.c (gtk_text_iter_get_char): return 0 on the end
	iterator

	* gtk/gtktextbuffer.c (gtk_text_buffer_delete_interactive): Fix
	this to properly revalidate the iterators.

	* gtk/gtktextview.c (gtk_text_view_delete): fix control-K to work
	properly at the end of the line (and therefore on empty lines)

	* gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Gee,
	maybe we should return a value...
2000-10-04 14:23:09 +00:00
Havoc Pennington
8ebf77d13b text_window_* weren't static and should have been. Start work on child
2000-10-02  Havoc Pennington  <hp@pobox.com>

        * gtk/gtktextview.c: text_window_* weren't static and should have
	        been.
		        Start work on child widgets; not yet complete,
syncing to
        office computer.

	        * gtk/gtktextchild.h: change this to contain a public interface,
		starting work on child interfaces.
		        * gtk/gtktextchildprivate.h: move private interfaces here

			* gtk/Makefile.am: update to reflect gtktextchildprivate.h

			* gtk/gtktextview.h, gtk/gtktextview.c, gtk/gtktextbuffer.h,
			gtk/gtktextbuffer.c, gtk/gtktextiter.h, gtk/gtk/textiter.c,
			gtk/gtktextmark.c: copyright notices

			* gtk/gtktextmarkprivate.h: reformat, and put _ in
front of
        internal functions

	* gtk/gtktextchild.c (_pixbuf_segment_new): put _ in front of
	internal function

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_display):
	Reformatting
2000-10-02 14:29:24 +00:00
Havoc Pennington
632fda6f0b Handle NULL start/end pointers
2000-09-30  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextbtree.c (gtk_text_btree_get_selection_bounds): Handle
NULL start/end pointers

* gtk/gtktextbuffer.c: Write some docs
(gtk_text_buffer_get_selection_bounds): Allow start/end to be
NULL, so you can just check whether there's a selection.

* gtk/gtktextbtree.c (gtk_text_btree_remove_mark): No need to
cleanup_line or segments_changed ourselves, it gets done
in unlink_segment

* gtk/gtktextmark.h:
s/gtk_text_mark_deleted/gtk_text_mark_get_deleted/

* gtk/gtktextsegment.h: Clean up some indentation and naming mess

* gtk/gtktextmark.c: delete some more old Tk cruft

* gtk/gtktextbuffer.c (gtk_text_buffer_delete_mark): add ref to
mark before removing it, so we can emit MARK_DELETED with a valid
pointer.
(gtk_text_buffer_mark_set): hold ref across signal emission

* gtk/gtktextbtree.c (gtk_text_btree_remove_mark): improve
whining about attempts to delete special marks

* gtk/gtktextbuffer.c (_gtk_text_buffer_spew): Prepend with
underscore, since it's internal.

* gtk/gtktextbuffer.h: Remove find_string prototype, this is
now implemented in terms of iterators in gtktextiter.h

* gtk/gtktextbuffer.c (gtk_text_buffer_set_text):
New function, destructively sets contents of buffer. Also
a convenient way to clear the buffer by setting text to ""

* gtk/gtktextiter.c (gtk_text_iter_make_surreal): reformat
multiline string literal

* gtk/testtext.c (text_changed_callback): Redraw line numbers if
text changes.

* gtk/gtktextiter.c (forward_char): Return FALSE if new location
is not dereferenceable
(gtk_text_iter_forward_lines): fix return value
2000-09-30 17:08:25 +00:00
Havoc Pennington
244996ffec fix indentation
2000-09-29  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktexttag.c (gtk_text_tag_set_priority): fix indentation

        * gtk/gtktextview.c: Implement drag thresholding; change functions
	that set border window size to have nicer name
	(gtk_text_view_mark_set_handler):  Fix this to have the
	right signature.

	* gtk/testtextbuffer.c (fill_buffer): Update with pixbuf changes

	* gtk/testtext.c: Update with API changes, put line numbers on
	both sides.

	* gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): Replace get_pixmap
	with this

	* gtk/gtktextchild.h, gtk/gtktextchild.c: replace all pixmap with
	pixbuf; delete a big block of #if 0 Tk code

	* gtk/gtktextbuffer.c (gtk_text_buffer_insert_pixbuf): Replace
	insert_pixmap with insert_pixbuf
2000-09-30 00:17:22 +00:00
Havoc Pennington
d0cbd57de8 Implement the side windows.
2000-09-29  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextview.c: Implement the side windows.

* gtk/testtext.c: Implement simple line numbering in the
left side window; seems to make scrolling sloooow. Oops.
Also, cursor blink is for some reason causing redraws
of the line numbers. Should investigate...
2000-09-29 05:47:34 +00:00
Havoc Pennington
85735ec7f5 Set up infrastructure to deal with lots of scrolling child windows, and
2000-09-28  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c: Set up infrastructure to deal with lots of
	scrolling child windows, and draw focus rectangle properly.

	(gtk_text_view_buffer_to_window_coords):
	Coordinate transformation to deal with all these freaking windows
	and offsets
	(gtk_text_view_window_to_buffer_coords): transform the other way

	* gtk/testtext.c (create_buffer): Update to match Pango API change

	* gtk/gtktexttagtable.c (gtk_text_tag_table_foreach): Go over the
	anonymous tags
	(foreach_unref): don't emit remove signal from finalize, just
	set tag's parent to NULL
2000-09-28 21:10:40 +00:00
Havoc Pennington
9bec105a66 Draw the focus, and leave space to do so.
2000-09-25  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c: Draw the focus, and leave space to do so.

	* gtk/gtktexttypes.c: Remove Latin1 conversion stuff

	* gtk/gtktextbtree.c (gtk_text_btree_node_remove_data):
	Fix a bug when removing node data, we didn't properly
	re-splice the linked list after removing the data.

	* gtk/gtktextview.c (gtk_text_view_key_press_event): Pass through
	GDK_Tab as literal tab, Ctrl-Tab to tab to focus widget

	* gtk/gtktextbuffer.c (selection_received): fix g_convert usage

	* gtk/gtktextlayout.c (set_para_values): Set tab array
	for the layout from the GtkTextTag.

	* gtk/gtktexttypes.h: delete tab and search cruft,
	remove g_convert() in favor of GLib version

	* gtk/gtktexttypes.c: remove tab implementation from here,
	move to Pango

	* gtk/gtktexttag.h, gtk/gtktexttag.c: Implement
	tab stuff using new PangoTabArray from Pango

	* gtk/gtktexttag.c (gtk_text_attributes_fill_from_tags): Remove
	unused border_width stuff
2000-09-25 17:17:13 +00:00
Jonathan Blandford
8ff6644c76 gtk/gtktextdisplay.c gtk/gtktextlayout.c gtk/gtktexttag.c gtk/gtktexttag.h
2000-09-08  Jonathan Blandford  <jrb@redhat.com>

	* gtk/gtktextdisplay.c
	* gtk/gtktextlayout.c
	* gtk/gtktexttag.c
	* gtk/gtktexttag.h
	* gtk/testtext.c: Change the overstrike property to strikethrough,
	to closer match pango.
2000-09-08 23:29:46 +00:00
Owen Taylor
21b538970e Doc comment fixing. (Mostly non-matching parameter names.)
Thu Sep  7 11:47:02 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextbuffer.c gtk/gtkimcontext.c gtk/gtkwidget.c:
	Doc comment fixing. (Mostly non-matching parameter names.)

	* gtk/gtkcalendar.c gtk/gtklist.c gtk/gtknotebook.c: Modify
	comments a little to avoid looking like a doc comment.

	* gtk/gtkspinbutton.h (GTK_INPUT_ERROR): Change INPUT_ERROR to
	GTK_INPUT_ERROR. (Should the mechanism for erros in spin button
	conversions be changed to GError?)

	* gtk/gtkcolorsel.c (GTK_CUSTOM_PALETTE_WIDTH/HEIGHT):
	Move private #defines into .c file.

	* gtk/gtktexttag.c (gtk_text_tag_class_init): Alphabetize
	order of argument addition, remove duplicates.

	* gtk/gtkaspectframe.h (struct _GtkAspectFrameClass):
	parent class is FrameClass, not BinClass.

	* gtk/gtk.h: Add gtkinvisible, which was missing.
	(It's occasionalyl useful for client apps, if seldom.)

	* gdk/gdktypes.h: Remove obsolete GDK_CORE_POINTER
	#define.
2000-09-07 18:07:59 +00:00
Sebastian Wilhelmi
f4fc70e3c7 Use g_path_get_dirname instead of g_dirname, which is deprecated.
2000-09-05  Sebastian Wilhelmi  <wilhelmi@ira.uka.de>

	* gtk/gtkrc.c (gtk_rc_parse_file): Use g_path_get_dirname instead
	of g_dirname, which is deprecated.
	(gtk_rc_parse_any): Removed calls to
	g_scanner_{freeze,thaw}_symbol_table, which are deprecated.

	* gtk/gtkbindings.c (binding_entry_new, binding_entry_destroy):
	Removed calls to g_hash_table_{freeze,thaw}, as they are
	deprecated now.

	* gtk/testtext.c (buffer_pretty_name): Use g_path_get_basename
	instead of g_basename.
2000-09-05 12:13:24 +00:00
Owen Taylor
3f14b4598f Fix double free of font desc.
Tue Aug 22 12:33:24 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/testgtk.c (create_styles): Fix double free of
	font desc.
2000-08-22 16:34:43 +00:00
Owen Taylor
92b2246581 Add gtk_widget_modify_{fg,bg,text,base,font}.
Mon Aug 21 22:39:18 2000  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkwidget.[ch]: Add gtk_widget_modify_{fg,bg,text,base,font}.

	* gtk/testgtk.c (create_styles): Add a test for modifying
	the style through gtk_widget_modify_*.

	* gtk/gtkwidget.c (gtk_widget_get_modifier_style): Add
	a function to get the current modifier style.

	* gtk/gtkwidget.c (gtk_widget_modify_style): Make a copy
	of the passed in GtkRcStyle instead of ref'ing it.

	* gtk/gtkrc.[ch]: Add gtk_rc_style_copy().
2000-08-22 03:05:14 +00:00
Tim Janik
afee2c67c5 applied patch from Andreas Persenius <ndap@swipnet.se> that updates the
Wed Jul 26 12:59:31 2000  Tim Janik  <timj@gtk.org>

        * *.[hc]: applied patch from Andreas Persenius <ndap@swipnet.se> that
        updates the license headers to the GNU Lesser General Public License,
        as well as updating the copyright year to 2000.
2000-07-26 11:33:08 +00:00
Havoc Pennington
e8138cd803 Comment out some stuff that depends on the rest of my patches.
2000-07-25  Havoc Pennington  <hp@redhat.com>

* gtk/testtext.c: Comment out some stuff that depends on the rest
of my patches.
2000-07-26 00:32:39 +00:00
Havoc Pennington
a4762fbff4 update to reflect text widget changes.
2000-07-25  Havoc Pennington  <hp@redhat.com>

* gtk/testtext.c, gtk/testtextbuffer.c: update to reflect text
widget changes.

* gtk/gtktextview.h: To be consistent with usage of "line"
throughout the API to mean "newline-terminated thingy", change
MOVEMENT_LINE to be MOVEMENT_WRAPPED_LINE, and MOVEMENT_PARAGRAPH
to MOVEMENT_LINE.

(GtkTextView): Add flags for default editability, and whether to
show the cursor. Add functions to get/set that. Add

(gtk_text_view_get_iter_location): new function

* gtk/gtktexttypes.h: Move GtkTextLine typedef from here to
gtktextlayout.h
(g_convert): Add g_convert temporarily, will go in glib in a bit

* gtk/gtktexttagtable.h: include gtktexttag.h, and define
GtkTextTagTableForeach instead of brokenly using GHFunc.
Change gtk_text_tag_table_foreach() so it doesn't use GHFunc.

* gtk/gtktexttagprivate.h: Remove GtkTextStyleValues from here,
moved to public header.

* gtk/gtktexttag.h: Rename the "elide" attribute of tags to
"invisible", since "elide" was a bad name.
(gtk_text_tag_get_priority): Added

(GtkTextStyleValues): put this in public header, along with
functions to use it.

* gtk/gtktextmarkprivate.h: Include more headers, since we no
longer include gtktextbtree.h.

* gtk/gtktextmark.h: Add gtk_text_mark_ref, gtk_text_mark_unref,
gtk_text_mark_deleted

* gtk/gtktextlayout.h: Don't include the "really private" headers,
only buffer/iter. Forward declare GtkTextLIne and GtkTextLineData
to make this possible. Now we only need to install
gtktextlayout.h, not gtktextbtree.h and gtktext*private.h.
(However the Makefile.am isn't changed yet because of the
logistics of merging gtk-hp-patches piecemeal)

* gtk/gtktextiterprivate.h: include btree header, so it compiles;
rename gtk_text_iter_get_line to gtk_text_iter_get_text_line since
gtk_text_iter_get_line is now used in the public API for a
different purpose.

* gtk/gtktextiter.h: Clean up function names to be more
consistent. Always call char offset "offset" and byte index
"index". A "line" is always a line number.

(gtk_text_iter_is_last): new function, more efficient than
the existing way to check
(gtk_text_iter_is_first): new function, also more efficient

(gtk_text_iter_up_lines, gtk_text_iter_down_lines): Remove these

(gtk_text_iter_next_char, gtk_text_iter_prev_char): Renamed from
gtk_text_iter_forward_char, etc.

(gtk_text_iter_forward_to_tag_toggle): Renamed from
forward_find_tag_toggle, since this isn't a linear search

(GtkTextCharPredicate): rename from GtkTextViewCharPredicate

(gtk_text_iter_forward_search, gtk_text_iter_backward_search):
New functions, search for a buffer substring.

* gtk/gtktextbuffer.h: Add fields to store whether a paste is
interactive and default editable (since we need to store that info
until we receive the selection data).

Remove all the _at_char and at_line etc. versions of functions;
only have iterator versions.

Add _interactive() versions of functions, that consider the
editability of text. (FIXME add interactive flag to the
insert/delete signals per Darin's suggestion)

(gtk_text_buffer_get_tag_table): new function, demand-creates the
tag table if necessary

Remove declaration of gtk_text_buffer_get_iter_from_string

(_gtk_text_buffer_get_btree): private/internal function, added.


* gtk/gtktextbtree.h: Remove forward decl of GtkTextLineData.
(gtk_text_line_is_last): new function
2000-07-25 23:59:38 +00:00
Owen Taylor
e6be8f3f6a Use new PangoAttrShape to reserve space for pixmaps, add GSList *pixmaps
Fri Jul 21 15:28:13 2000  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktextlayout.[ch], gtk/gtktextdisplay.c: Use new
	PangoAttrShape to reserve space for pixmaps, add
	GSList *pixmaps to GtkTextLineDisplay, draw the pixmaps
	in the display functions.

	* gtk/testgtk.c (create_layout): Set some more exotic
	scrolled window options

	* gtk/gtkscrolledwindow.[ch] (gtk_scrolled_window_set_shadow_type):
	Add function to set the shadow type of a window, to allow
	putting a shadow around widgets such as GtkLayout or GnomeCanvas
	which don't draw their own frame.
2000-07-21 19:30:22 +00:00
Tim Janik
64911ddc44 add xthickness and ythickness to GtkRcStyle and add the necessary tokens.
Tue Jul 11 06:38:42 2000  Tim Janik  <timj@gtk.org>

        * gtk/gtkrc.h: add xthickness and ythickness to GtkRcStyle and
        add the necessary tokens.

        * gtk/gtkrc.c (gtk_rc_style_init): properly initiality the rc style.
        (gtk_rc_style_to_style): copy thicknesses.
        (gtk_rc_init_style): apply thicknesses.
        (gtk_rc_parse_style): parse xthickness and ythickness.

        * gdk/x11/gdkdnd-x11.c: silence compiler in switch() statements.

        * gdk/x11/gdkwindow-x11.c (gdk_window_foreign_new):
        (gdk_window_new):
        (_gdk_windowing_window_init):
        * gdk/x11/gdkpixmap-x11.c (gdk_pixmap_foreign_new):
        (gdk_pixmap_create_from_data):
        (gdk_bitmap_create_from_data):
        (gdk_pixmap_new):
        * gdk/x11/gdkimage-x11.c (gdk_image_get):
        (gdk_image_new):
        * gdk/x11/gdkgc-x11.c (_gdk_x11_gc_new):
        * gdk/x11/gdkdnd-x11.c (gdk_drag_context_new):
        * gdk/x11/gdkcolor-x11.c (gdkx_colormap_get):
        (gdk_colormap_get_system):
        (gdk_colormap_new):
        * gdk/gdkwindow.c (gdk_window_init):
        * gtk/gtkstyle.c (gtk_style_new):
        * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_frame_done):
        * gdk/gdkpixmap.c (gdk_pixmap_init):
        * gtk/gtkrc.c (gtk_rc_style_new):
        use g_object_new() instead of g_type_create_instance() which
        is a private function for fundamental type implementations.

Tue Jul 11 06:20:14 2000  Tim Janik  <timj@gtk.org>

        * io-gif.c (gdk_pixbuf__gif_image_load_animation):
        * gdk-pixbuf-data.c (gdk_pixbuf_new_from_data):
        * gdk-pixbuf-animation.c (gdk_pixbuf_animation_new_from_file):
        use g_object_new() instead of g_type_create_instance() which
        is a private function for fundamental type implementations.
2000-07-11 04:46:11 +00:00
Owen Taylor
01212ce170 Ignore calls with <= width or height.
Mon Jul  3 14:24:16 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_draw): Ignore calls with
	<= width or height.

	* gtk/gtktable.c (gtk_table_attach): Fix missed merge
	from 1.2 for parent/child states.

	* gdk/gdkgc.c (gdk_gc_set_rgb_fg/bg_color): Fix a couple
	of typos.

	* gdk/gdkevents.[ch]: Remove press/xtilt/ytilt fields of
	event structures, replace with a generic axes field. Replace
	deviceid/source with GdkDevice *device.

	* gdk/gdkevents.[ch] (gdk_event_get_axis): Add function
	to extract particular axis use value from event. (Also
	can be used for normal X/Y.)

	* gdk/gdkinput.h gdk/x11/gdkinput*: Major revision;
	allow for arbitrary number of axes, namespace everything
	as gdk_device_*. Replace guint32 deviceid with GdkDevice *
	everywhere.

	* gdk/x11/{gdkmain-x11.c,gdkevent-x11.c,gdkinput*}:
	Get rid of the gdk_input_vtable setup if favor of simply
	defining the functions in gdkinput-none/gxi/xfree.c in
	a similar fashion to the way that the port structure is
	done.

	* gtk/gtkdnd.c: Fix fields of synthesized button press event
	for new event structures.

	* gtk/gtkinputdialog.c gtk/testinput.c: Revise to match
	new device interfaces.
2000-07-03 19:00:23 +00:00
Owen Taylor
b02ebc65e4 Call gtk_widget_size_request() on reparented child, if one. Otherwise,
Sun Jul  2 14:37:58 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkoptionmenu.c (gtk_option_menu_size_request): Call
	gtk_widget_size_request() on reparented child, if one. Otherwise,
	queue_resize() on the child never results in it getting size-requested
	at all.

	* gtk/testgtk.c (build_option_menu): Remove silly radio-menu-items
	in option menus, so that (with luck) people won't copy it into
	their apps in the future.

	* gtk/gtkoptionmenu.c: Connect ::size_request on the menu
	to gtk_option_menu_calc_size. This isn't perfect, but should fix
	a lot of problems with changing the size of the menu's menu
	items after adding it to the option menu.

	* gtk/gtktexttag.c: Include gtkmain.h for gtk_get_default_language().

	* gtk/gtkwidget.[ch]: Add a ::direction_changed that triggers when
	the text direction for a widget changes.

	* gtk/gtk{entry.c,label.[ch],textview.[ch]} gtk/testgtk.c: Use
	::direction_changed to get rid of various hacks.
2000-07-02 18:41:29 +00:00
Owen Taylor
4f1ccca594 Add gdk_rgb_find_color() to get a pixel value using GdkRGB functionality
Sun Jul  2 12:45:50 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkrgb.[ch]: Add gdk_rgb_find_color() to get a pixel
	value using GdkRGB functionality given GdkColormap and GdkColor.
	(name not final, waiting for inspiration.)

	* gdk/gdkgc.[ch] (gdk_gc_set_rgb_fg/bg_color): New functions to
	set the foreground/background of a GC using the GC's colormap
	and GdkRGB. (name not final, waiting for inspiration.)

	* gdk/gdkcompat.h gdk/gdkrgb.c (gdk_rgb_get_colormap): Rename from
	gdk_rgb_get_cmap(), put #define in gdkcompat.h.

	* gtk/gtkwidget.[ch] gtkcompat.h: Make visuals for
	gtk_widget_get_visual(), gtk_widget_get_default_visual, etc,
	purely a function of the corresponding colormap. Make
	gtk_widget_set_visual(), etc, noop macros in gtkcompat.h.

	* gdk/gdkpixmap.c gdk/x11/gdkpixmap-c11.c: Rewrite
	gdk_pixbuf_*create_from_xpm_* in terms of
	gdk_pixbuf_new_from_xpm_data(), move into platform independent
	code.

	* gdk/gdkpixbuf-render.c (gdk_pixbuf_render_to_drawable): Take
	advantage of the new draw_rgb_32_image_dithalign.

	* gdk/gdkrgb.c (gdk_draw_rgb_32_image_dithalign): Added.

	* gtk/gtkgc.c (gtk_gc_new): Set the appropriate colormap
	on each created GC.

	* gdk/gdkgc.[ch]: Add gdk_gc_get/set_colormap.

	* gdk/gdkgc.[ch]: Add a colormap field to the GdkGC structure
	which we initialize from the drawable when the GC is created,
	if the drawable has a colormap.

	* gdk/x11/gdkgc-x11.c: include string.h for memset.

	* gdk/x11/gdkinput-x11.c: include string.h for strlen, etc.

	* gtk/gtklayout.[ch]: Remove unsed configure serial member.
2000-07-02 17:03:21 +00:00
Tim Janik
100c9594d6 make the current version number 1.3.1 (binary age 0, interface age 0).
Fri Jun 23 17:54:23 2000  Tim Janik  <timj@gtk.org>

        * configure.in: make the current version number 1.3.1 (binary age 0,
        interface age 0).

        * gtkfeatures.h, gtkfeatures.h.in: dejavue, get rid of these *again*,
        gtkcompat.h is all we want.

        * gtk/gtktypeutils.[hc]: define most of the primitive types in terms of
        GLib primitive types. fixed g_type_register_fundamental() argument
        ordering.

        * gtk-config.in (lib_gtk): add -lgdk_pixbuf so third party code
        compiles.

        * gdk-pixbuf-loader.[hc]: get rid of unistd.h include.
        object code cleanup, comment trigraph fixes, etc...
2000-06-24 22:32:05 +00:00
Havoc Pennington
ee0895169d Use gunichar instead of gint when appropriate in the interfaces
2000-06-21  Havoc Pennington  <hp@redhat.com>

* gtk/gtktextiter.h: Use gunichar instead of gint when appropriate
in the interfaces

* gtk/gtktexttypes.c: Remove UTF functions, use glib
stuff instead when possible.

* gtk/gtktexttypes.h: Delete some unused constants

* gtktextbtree.c, gtktextiter.c, gtktextsegment.c, gtktextview.c,
testtextbuffer.c: use glib instead of custom unicode routines
2000-06-21 18:51:36 +00:00
Owen Taylor
c319839d8e Finish the job Elliot started of removing font setting test for text
Wed Jun 21 12:24:28 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/testgtk.c (create_text): Finish the job Elliot started
	of removing font setting test for text widget. (Since text widget
	and GdkFont are not deprecated, and cause portability problems.)
2000-06-21 16:26:50 +00:00
Owen Taylor
2a98bc6a31 Remove use of libunicode in favor of new GLib functions.
Wed Jun 21 11:41:43 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c gtk/gtkimcontextsimple.c gtk/gtklabel.c
	gtk/gtktexttypes.c gtk/testtext.c modules/linux-fb/basic.c:
	Remove use of libunicode in favor of new GLib functions.

	* gtk/gtkcolorsel.c: Remove conditional includes for FB, win32,
	nano-x, framebuffer. The X11 include is just a hack until we get
	the necessary functions in gdkcolor.h, so there is no reason to
	add other includes of platforms.

	* gtk/gtkwindow.c (gtk_window_compute_default_size): Revert
	window bigger than the screen change.

        * gtk/testgtk.c: Revert some random changes from Elliot
	that had no particular point and were causing testgtkrc
	not to function correctly.

	* gdk/gdkregion-generic.h: Revert change from Elliot. Just
	because GdkSegment and GdkRegionBox have the same fields,
	it doesn't mean that 'typedef GdkSegment GdkRegionBox'
	results in clearer code.

	* gdk/x11/gdkinput-x11.c (gdk_input_common_select_events,
	gdk_input_translate_coordinates): Fix missed GdkObjectification
2000-06-21 16:19:59 +00:00
Elliot Lee
8f4f35b392 (follow-on from previous commit)
(follow-on from previous commit)
2000-06-18  Elliot Lee  <sopwith@redhat.com>

* gtk/gtkwindow.c: Don't allow creation of a window bigger than the screen.

* gtk/gtkrange.c: Fix the mega-jumpy-with-lagged-events scrollbar
problem by calculating event position relative to the trough
rather than the slider.
* gtk/gtkdnd.c, gtk/gtkcolorsel.c: Include FB headers if appropriate.

* gdk/gdkgc.h: Add GDK_NOR.
* configure.in, Makefile.am: Add modules top level dir
* configure.in: Only use pangox library if building x11 target.
* gdk/gdkdnd.h: Add GDK_DRAG_PROTO_LOCAL enum for future intra-app use.
2000-06-20 20:22:05 +00:00
Owen Taylor
bae5667ca3 Call gdk_window_withdraw rather than gdk_window_hide; this makes things
Mon Jun 12 16:58:40 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwindow.c (gtk_window_unmap): Call gdk_window_withdraw
	rather than gdk_window_hide; this makes things work
	correctly if the window is programmatically hidden while
	iconified.
2000-06-12 21:08:07 +00:00
Owen Taylor
3a917e9da7 Add call to g_type_init() - we'll need this later, and this makes sure
Mon Jun  5 16:00:09 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdk.c (gdk_init_check): Add call to g_type_init() - we'll
	need this later, and this makes sure that the atexit for
	glib gets called after that for GDK, so atexits are
	properly ordered for object leak checking.

	* gdk/gdk.c (gdk_exit_func): Call gdk_windowing_exit().

	* gdk/x11/gdkmain-x11.c (gdk_windowing_exit): Call
	pango_x_shutdown_display()

	* gtk/simple.c (main): Close window on destroy.
2000-06-06 00:56:00 +00:00
Havoc Pennington
e86329d5d4 Test program to make sure GtkTextBuffer is in working order.
2000-06-02  Havoc Pennington  <hp@pobox.com>

        * gtk/testtextbuffer.c: Test program to make sure GtkTextBuffer
	is in working order.

	* gtk/testtext.c: Change to reflect anonymous mark API

	* gtk/gtktextview.c: Convert from mark names to GtkTextMark*.

	* gtk/gtktexttag.h (struct _GtkTextTag): remove the affects_size
	field, which was unused.

	* gtk/gtktextmarkprivate.h (GTK_IS_TEXT_MARK): add this macro,
	saves some typing.

	* gtk/gtktextbuffer.c: Switch from mark names to GtkTextMark*

	* gtk/gtktextbtree.c (gtk_text_btree_new): set the not_deleteable
	flag on the insertion point and selection bound

	Throughout, use GtkTextMark instead of GtkTextLineSegment, and
	make mark-manipulation functions take a GtkTextMark* instead of a
	mark name.

	* gtk/gtktextmarkprivate.h: Add a "not_deleteable" flag to
	GtkTextMarkBody; will be used to detect attempts to delete
	the permanent marks (insert and selection bound)
2000-06-02 17:27:21 +00:00
Havoc Pennington
9ae724bf4d Remove all references to offscreen flag which was no longer used.
Thu Jun  1 23:05:13 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c: Remove all references to
	offscreen flag which was no longer used.

	* gtk/gtkprivate.h (enum): Remove unused flags and compress.

	* gtk/gtkframe.c (gtk_frame_set_label_widget): Check
	for non-null label_widget->parent.

	* gtk/gtkentry.c: Get rid of code to deal with PangoAttribute
	which no longer was used.

	* gdk/gdkpango.c (gdk_pango_context_get_info): make static.

	* gdk/gdkpango.c (gdk_draw_layout[_line]): Add checks
	for null arguments.

	* gdk/x11/gdkgeometry-x11.c (gdk_window_scroll): add
	check for destroyed windows.

Thu Jun  1 13:48:45 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimmulticontext.c: Add a finalize method and unref
	the slave context there.

	* gtk/gtkinvisible.[ch]: Make reference counting behavior
	identical to GtkWindow.

Thu Jun  1 01:54:11 2000  Owen Taylor  <otaylor@redhat.com>

	* Makefile.am gdk/gdkpango.c: Copy the layout render function from
	pangox to here, so we can write them independent of rendering
	system, using GDK primitives.

	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c
	gdk/x11/gdkdrawable-x11.c: Remove draw_layout() from the vtable,
	since we have a rendering-system independent implementation in
	terms of draw_glyphs().

	* gdk/gdkpango.c gdkdrawable.h (gdk_draw_layout_line): New
	function to render a single line.

	* gdk/x11/gdkpango.c: Move the guts of this file mostly
	into ../gdkpango.c, which simplifies things, since we
	don't have to deal with raw X gc's.

Fri May 19 04:28:16 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.[ch]: Add get_log_attrs() function to
	get the logical attributes for a given GtkTextLine.

Tue May 30 16:05:39 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Track
	g_locale_get_codeset() to g_get_codeset() change.

Tue May 30 15:03:19 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/testcalendar.c (calendar_font_selection_ok): Use font
	descriptions.

	* gtk/gtkentry.c (gtk_entry_draw_text): Center text within
	the entry.

	* gtk/gtkfontsel.c (gtk_font_selection_dialog_init): Start of
	redoing (vastly simplifying) for Pango. Still needs quite
	a bit of work. (Size selection is currently poor. List of
	predefined sizes is not a good idea, since all of these
	sizes won't necessarily be distinct.)

Tue May 30 13:50:19 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/x11/gdkfont-x11.c (gdk_font_charset_for_locale): Handle
	CODESET results for LANG=C.

Mon May 29 15:49:10 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkrc.[ch]: Add a 'font_name' declaration to RC
	which takes a stringized pango font description;
	ignore the older 'font' and 'fontset' declarations.

	* gtk/gtkstyle.c gtk/gtkrc.c: Fill in the style->font
	field with a GdkFont derived via gdk_font_from_description(),
	for compatibility. (Should we just remove it entirely?
	Probably too much compatibility breakage, but people
	should be migrating to the new Pango stuff as quickly
	as possible.)

Mon May 29 15:47:41 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c gtk/gtkclist.c: s/pango_font_unref/g_object_unref/.

Mon May 29 15:44:46 2000  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkcalender.c: Roughly pango-ized. Really needs
	redoing; there are some bugs in size allocation right
	now, the semi-existant distinction between header / day
	fonts was removed, but, with Pango, could actually
	be made functional in a nice way.

	* gtk/testcalender: Move calender from examples into this
	directory as a test program. (We really need to restrcture
	testgtk into a whole directory full of tests for every
	widget or functionality group, separated into multiple .c
	files.)

Mon May 29 15:19:56 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/testgtk.c (file_exists): Fix stupid typo that
	was keeping RC file from being loaded.

	* gtk/testgtkrc gtk/testgtkrc2: Test new pango-ized
	RC file font code.

Mon May 29 14:31:27 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkfont.h gdk/x11/gdkfont-x11.c (gdk_font_from_description):
	Add function to load a GdkFont from a PangoFontDescription.

Fri May 26 17:16:40 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/frame.[ch] gtkaspectframe.c: Make frame widgets able
	to have any widget for the label, use a GtkLabel widget
	to display the text. (Based partially on a patch from
	Anders Carlson.)

	(Quite a bit of code reorganization - strip 90% of the
	guts out of gtkaspectframe and add a single virtual
	func to GtkFrameClass - compute_child_allocation.)

Fri May 26 12:00:02 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkctree.c gtk/gtkclist.[ch]: Pangoized.
	(Removed clist->row_center_offset field because caching
	it wasn't saving time or code, added private function
	_gtk_clist_create_cell_layout()).

Wed May 24 15:59:37 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkaccellabel.c: Pangoized.

	* gtk/[hv]ruler.c: Pangoized

Mon May 22 19:23:59 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkfilesel.c (gtk_file_selection_init):
	Use gtk_clist_set_column_auto_resize() to remove need
	need for manual column width computations.

Mon May 22 18:50:26 2000  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtktooltips.[ch]: Replace custom drawing with a GtkLabel,
	ensuring Pango correctness, and considerably simplifying the
	code.

	* gtk/gtklabel.c gtk[hv]scale.c: 1000 => PANGO_SCALE.

	* gtk/gtklabel.c (gtk_label_size_request): Fixed incorrect
	getting of numbers of lines.

	* gtk/gtklabel.c (gtk_label_size_request): Set the requisition
	to the actual requested width of the lable, not to the wrap
	width we set.

	* gtk/gtktextchild.h: Remove extraneous include of gtk/gtk.h.

	* gtk/gtktextbtree.c gtk/gtktextbuffer.c gtk/gtktextlayout.c
	  gtk/gtktextview.c gtk/gtktextview.[ch]: Fix up includes.

	* gtk/gtktextview.c: Fix structure inheritance.

	* gtk/gtkprogressbar.c: Pangoize.

Mon May 22 15:47:30 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_get_first_para_iter): Encapsulate
	in a function.

	* gtk/gtktextlayout.c (find_display_line_above): Fixed
	bug with computing line tops.

	* gtk/gtktextview.c (changed_handler): Fix < , <= confusion.

Thu May 18 18:53:31 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): Fix up the x_offset
	and y_offset coordinates to do what we need now. (The offset between
	buffer and layout coordinates has been reintroduced, but is a
	bit different than before.)

	* gtk/gtktextview.[ch]: No longer inherit from GtkLayout; instead
	handle the adjustments ourselves, and scroll as necessary using
	the new gdk_window_scroll().

	The advantage of this is that when we are incrementally revalidating,
	we are essentially rearranging things around the visible portion
	of the screen. With the old setup, the visible portion of the
	screen was moved around in the layout, so scrolling and redrawing
	to track that caused jumping of the display. Since we now
	control the scrolling ourselves, we can suppress this and
	only redraw when things actually change.

Thu May 18 18:47:25 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextbtree.c (redisplay_mark): We need to invalidate
	the region not just redisplay it after-all, since we store the
	cursors in the LineDisplay. (Ugly interactions here between
	GtkLayout and GtkTextBTree here.)

	* gtk/gtktextbtree.c (redisplay_region): Fixed reversed comparison.

Thu May 18 18:43:21 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.h gdk/x11/gdkgeometry-x11.c (gdk_window_scroll):
	Added function to scroll contents of a window while keeping the
	window constant. Works by XCopyArea or guffaw-scrolling depending
	on the details of how the window is set up. (guffaw-scrolling
	still needs to be filled in.)

Wed May 17 22:36:53 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextiter.c gtk/gtkmain.c: Add a debug key for the text widget,
	move the debugging that was tied to a global variable
	to that.

	* gtk/gtkmarshal.list: Add NONE:INT,INT,INT

	* gtk/gtktextbtree.[ch] gtk/gtktextlayout.c: Keep a separate
	validated flag, in line data instead of setting height/width to
	-1. This allows us to perform operations with partially invalid
	buffer (using the old size for invalid lines) and thus to do
	incremental vaidation. Keep height/width aggregates up to date
	when deleting text and rebalancing the tree.

	* gtk/gtktextbtree.[ch]: Add functions validate a line
	(gtk_text_btree_validate_line), and to validate up
	to a number of pixels (gtk_text_btree_validate).

	* gtk/gtktextlayout.[ch]: Add an ::invalidated signal
	that indicates that something is changed and a revalidation
	pass is needed. Change ::need_repaint to ::changed, and
	make it take old and new yranges instead of a rectangle.

	* gtk/gtktextbtree.[ch] gtk/gtktextlayout.[ch]: Move
	the line_data_destroy() function from
	gtk_text_btree_add_view() to a virtual function in
	GtkTextLayout

	* gtk/gtktextbtree.[ch]: Remove gtk_text_btree_get_damage_range(),
	since we are handling partial repaints in a different fashion
	now.

	* gtk/gtktextbtree.[ch]: Only repaint the changed portion
	of the selection instead of queueing a repaint on the
	entire widget.

	* gtk/gtktextbuffer.[ch] gtk/gtktextbtree.[ch]: Move
	get_selection_bounds() down to btree, make the function
	in buffer a wrapper around the btree function.

	* gtk/gtktextlayout.[ch]: Add functions to check if the
	layout is valid and to recompute either a range of pixels
	aroudn a line or a certain total number of pixels.

	* gtk/gtktextlayout.[ch]: Cache a single line display;
	now that we only redraw the needed portions, the hit rate
	for this cache is quite high.

	* gtk/gtktextview.[ch]: Keep track of the first paragraph
	on the screen so that when re-laying-out the buffer, we can
	keep the same place. This requires connecting to ::value_changed
	on the adjustments

	* gtk/gtktextview.[ch]: Add idle functions to revalidate
	the buffer after we receive an ::invalidated signal.

Wed May 17 22:10:47 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklayout.c (gtk_layout_size_allocate): Set upper
	to max of allocation and layout size, not just to the
	layout size.

	* gtk/gtk[hv]scrollbar.c (gtk_[hv]scrollbar_calc_slider_size):
	Invalidate window so it gets redrawn properly.

	* gdk/gdkwindow.c (gdk_window_invalidate_rect): Allow rect == NULL
	to mean the entire window.

	* gdk/gdkevents.h: Move definition for GDK_PRIORITY_REDRAW
	into public header.

Mon May 15 14:51:31 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextmark.c (gtk_text_mark_get_name): Add function
	to get the name of a mark.

	* gtk/gtktextlayout.c (gtk_text_layout_get_line_at_y): Add a function
	to find the paragraph from a y position.

Thu May 11 12:57:20 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextbtree.c (gtk_text_btree_node_invalidate_upward): Valid
	nodes have width/height >= 0, not > 0.

Tue May  9 21:29:06 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c (gtk_text_layout_get_line_display):
	Add a size_only flag, so when we only need the size, we don't create
	useless appearance attributes.

	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Remove
	duplicate setting of font description.

	* gtk/gtkscale.c: Use PANGO_SCALE instead of 1000

Wed Apr 26 01:53:23 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am (EXTRA_DIST): Add OLD_STAMP into
	EXTRA_DIST. It does not work well when the file that
	everything depends on is not in the tarball.

Wed Apr 26 00:56:14 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/testgtk.c: Some hacks and fixes so that it basically
	works when not sitting in the GTK+ build tree.

2000-05-03  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c (gtk_text_line_next_could_contain_tag):
	Properly determine the ordering of the tag root and the current
	line within the tree. Previous algorithm only worked if the tag
	root's immediate parent was the common root of both the current
	line and the tag root.

Wed Apr 26 00:43:00 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.c (set_para_values): Fix some bugs in
	alignment.

	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Track
	the widget text directional dynamically.

	* gtk/gtktextview.[ch]: Added functions to get and set default
	wrap mode.

Tue Apr 25 23:47:38 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_location): Fix bug
	in cursor location computation.

Tue Apr 25 23:22:59 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklayout.c (gtk_layout_set_size): Clamp hadjustment/
	vadjusment values properly when layout gets smaller.

	* gtk/gtktextview.c (need_repaint_handler): Areas being
	passed in are far completely inaccurate, and sometimes
	too small, so, for now, just queue a redraw on the
	whole visible region.

2000-04-25  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c (summary_destroy): new function to
	destroy tag summary nodes
	(gtk_text_line_next_could_contain_tag): this function was
	totally broken if the line passed in wasn't below the tag
	root. Fix it.
	(gtk_text_btree_first_could_contain_tag): In the tag == NULL
	"wildcard" case, we have to do a linear scan. Blah.
	(gtk_text_btree_last_could_contain_tag): In tag == NULL case,
	we have to do the linear scan
	(tag_removed_cb): When a tag is removed from the tag table,
	remove the GtkTextTagInfo node from the btree.
	(gtk_text_btree_spew): Implement the spew function, for
	our debugging pleasure.

Tue Apr 25 19:40:18 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextlayout.c (gtk_text_layout_set_buffer): Fix
	a problem with referring to the wrong buffer.

	* gtk/gtkentry.c: Fix focus-in/focus-out confusion.

	* gtk/gtkrc.c gtk/gtkstyle.c: Moving setting default
	font description to gtk_style_new() - otherwise things
	don't work without a .gtkrc file.

	* gtk/gtktextbuffer.c (gtk_text_buffer_new): Sink the
	tags table if we create it ourself, too.

	* gdk/gdktypes.h (enum): Move GDK_RELEASE_MASK, since
	it was conflicting with XKB modifiers.

	* gtk/gtktextview.[ch]: Add simple support for
	GtkIMContext.

Mon Apr 24 19:34:18 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_move_cursor_visually): Fix problem
	with deletion from last commit.

Mon Apr 24 19:29:40 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c (gtk_widget_create_pango_context): Set the language
	in the context from the current locale.

	* gtk/gtkentry.c (gtk_entry_size_request): Use language from the
	context, not hardcoded value.

	* gtk/gtkentry.c (gtk_entry_move_cursor): Make character movement visual,
	not logical.

Sun Apr 23 23:39:18 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c gtk/gtktextdisplay.c: Don't handle selections as
	attributes - that doesn't handle partial-glyph selection
	properly. Instead use new pango_layout_line_get_x_ranges()
	functionality to draw the selection.

	* gtk/gtkentry.c: Simplify code since pango_layout_line_index_to_x()
	now properly handles out-of-range coordinates.

	* gtk/gtktextbuffer.c: Emit "mark_set" when the cursor is moved.

	* gtk/gtktextiter.h gtk/gtktextiterprivate.h: Make gtk_text_iter_get_line_byte()
	public.

	* gtk/gtktextlayout.[ch]: Properly set the direction in the PangoContext
	for paragraphs opposite to the base direction of the widget.

	* gtk/gtktextlayout.[ch] gtk/gtktextdisplay.c: Fixes for alignment.

	* gtk/gtktextlayout.c: Don't split segments on marks, since that
	causes Arabic words to reshape as you cursor through.

	* gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Implement virtual
	cursor position when moving vertically with the arrow keys and
	scrolling with page-up/page-down. (Arrow keys save only the X,
	scrolling saves both X and Y.)

	This means you can line-up / line-down or page-up / page-down
	without losing your place, and also that moving vertically
	with the cursor keys keeps the same X position, not the same
	character count:

	* gtk/gtktextlayout.[ch] gtk/gtktextview.[ch]: Make vertical
	arrow keys move by display lines, not paragraphs.

Tue Apr 18 14:16:50 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtklayout.c: Make sure that the bin window is at least
	as big as the allocation. (Should we also make sure that the
	bin window is big enough to completely cover widget->window?)

	* gtk/gtktextview.c (gtk_text_view_get_visible_rect): Add
	function to get the onscreen rectangle.

	* gdk/x11/gdkwindow-x11.c (gdk_window_get_pointer): Correctly account
	for offsets in window coordinates.

Sun Apr 16 16:13:27 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkentry.c (gtk_entry_get_cursor_locations): Fix index/offset
	confusion.

	* gtk/gtktextview.c (gtk_text_view_ensure_layout): Set the default direction
	from the widget direction.

	* gtk/gtktexttag.c gtk/gtktexttagprivate.h (gtk_text_tag_set_arg):
	Add a "direction" attribute.

	* gtk/gtktextview.c: global s/tkxt/text_view/.

	* gtk/testtext.c: Added long block of text in Arabic, to test out
	the direction attributes. (Some problems with the shaping system
	for arabic become obvious - like the fact the cursor splits words
	into unjoined pieces.)

Fri Apr 14 12:54:34 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextdisplay.c (render_layout): Add overstrike handling.

	* gtk/gtktextlayout.c: Fix up alignment.

	* gtk/testtext.c: Add some tests for centering, wrapping.

Fri Apr 14 09:26:22 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkdrawable.h gdk/gdkdraw.c gdk/gdkwindow.c gdk/x11/gdkdrawable-x11.c:
	Add a draw_glyphs() operation to the drawable vtable and gdk_draw_glyphs().
	If we wrote GTK+-specific layout-render function this could just replace
	the draw_layout() operation in the vtable.

	* gtk/gtkentry.c: Move guts of gtk_entry_get_cursor_locations to
	pango_layout_get_cursor_pos() and use that function.

	* gtk/gtktextchild.[ch]: add gtk_ onto pixmap_segment_new(), since it
	is a non-static symbol.

	* gtk/gtktextbtree.[ch]: Replace gtk_text_btree_find_line_data_by_y()
	with gtk_text_btree_find_line_by_y()

	* gtk/gtktextdisplay.c: Rewrote for Pango - uses a custom layout
	renderer that handles GtkTextAppearance attributes.

	* gtk/gtktexttag.[ch] gtk/gtktexttagprivate.h:

	  - Move the values in the style that don't affect geometry into a
	    GtkTextAppearance structure.
	  - Change underline to take a PangoUnderline and "font" a string
	    representation of a font description
	  - Add a "font_desc" attribute which takes a FontDescription structure.

	* gtk/gtktextlayout.[ch]:

	  - Get rid of the display-line list per each line. Instead, we
	    generate, on demand, a GtkTextLineDisplay structure which]
	    contains a PangoLayout * and other necesary information
	    (offsets, cursor locations) for displaying a paragraph.
	  - Get rid of the code to wrap lines, create display chunks,
	    etc. Instead, we just go through a paragraph and convert
	    it into the necessary inputs to a PangoLayout.
	  - Implement a new attribute type, GtkTextAttrAppearance. This
	    holds a GtkTextAppearance, and is used to pass colors,
	    stipple, etc, through from the layout to the display without
	    having to use lots and lots of individual attributes.
	  - Reimplement gtk_layout_get_iter_at_pixel() gtk_layout_get_iter_pos()
	    in terms of PangoLayout functions.

	* gtk/gtktextview.c:

	  - Handle passing the necessary PangoContext to the layout
	  - Some fixups in painting to deal with the automatic backing store
	    and offsetting of GTK+-1.4
	  - Add a style_set handler so that the default style reacts
	    properly to theme changes.

	* gtk/gtktext?*.[ch]: Random code-style fixes.

	* gtk/testtext.c: Substitute in languages that Pango handles now for Thai

Mon Apr 10 10:33:45 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktext?*.[ch]: Check in Havoc's port of the Tk text widget,
	in original form preparatory to Pango-ization and gdkimcontext-ization.

Thu Apr  6 19:25:39 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimcontext.c: Move default implementations to real_* vfuncs,
	so that we can derive from gtkimcontext in language bindings properly.

Thu Apr  6 16:02:52 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimcontextsimple.[ch]: Use gdk_keyval_to_unicode to gdk_unicode_to_keyval.
	Add a compose table including (almost) all the compose combinations
	from X. This is 6k of static, shared data as opposed to 50k or so of dynamic
	data in the XIM implementation.

	* gdk/gdk.h gdk/gdkkeyuni.c gdk/win32/gdkevents-win32.c (gdk_keyval_to_unicode, gdk_unicode_to_keyval):
	Moved functions to convert keyvalues from and to unicode here from
	the win32 port and made them public.

Wed Apr  5 16:37:29 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkeditable.c (gtk_editable_insert_text): Allow new_text_length == -1.

Wed Apr  5 16:27:45 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkimcontext.[ch]: Base class for new input context system

	* gtk/gtkimmulticontext.[ch]: Proxy input context that allows
	the real input context implementation to be loaded from modules
	and switched on the fly.

	* gtk/gtkcontextsimple.[ch]: Simple implementation of an input
	context that just does direct keysymbol => unicode translation.

	* gtk/gtkentry.[ch]: Start switching editing over to using
	GtkInputContext. (No handling of preedit yet.)

Wed Apr  5 15:48:41 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktypeutils.h (GTK_CHECK_GET_CLASS): Fix problem with one too
	many substitutions. (klass should not be subsituted.)

Wed Apr  5 00:18:14 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in: Add checks for Pango

	* configure.in docs/Makefile.am: Add test for sgml2html
	and allow 'make dist' without building html, but print out
	warnings in that case. (For making snapshots)

	* gdk/Makefile.am gdk/x11/Makefile.am gtk/Makefile.am:
	Add Pango libraries and C flags

	* gdk/gdkdraw.c gdk/gdkdrawable.h gdkwindow.c gdk/x11/gdkdrawable-x11.c:
	Add function (gdk_draw_layout) to draw a pango layout.

	* gdk/gdkpango.h gdk/x11/gdkpango-x11.c: New file with functions
	for getting Pango contexts for GDK.

	* gtk/gtkeditable.c: Get rid of dead code gtk_editable_parent_set()

	* gtk/gtkentry.[ch]: Complete rewrite to use Pango, add bidirectional
	editing.

	* gtk/gtkentry.c: Hack in simple Hebrew input with direct
	keysym => unicode translations. More languages can be added
	here, but real input-method support is needed.

	* docs/Changes-1.4.txt: Added note about entry behavior.

	* gtk/gtkenums.h gtk/gtkwidget.[ch] testgtk.c gtkprivate.h: Add functions
	to set the reading direction for a widget and the global direction.
	Add test which allows toggling the global direction. Two private
	flags are used to store the direction. (GTK_DIRECTION_SET + GTK_DIRECTION_LTR)

	* gtk/gtkcheckbutton.c gtk/gtkframe.c gtk/gtkhbbox.c gtk/gtkhbox.c
	  gtk/gtkradiobutton.c gtk/gtkspinbutton.c gtk/gtktable.c

	* gtk/gtk[hv]scale.c gtk/gtkscale.[ch]: Draw numbers using Pango

	* gtk/gtklabel.[ch]: Moved to Pango and considerably rewritten. Line breaking,
	underlining now handled by Pango.

	* gtk/gtkstyle.[ch] gtk/gtkrc.[ch]: Add a PangoFontDescription
	to RCStyle and Style. (Having both this and the old font name and GdkFont
	is temporary.)

	* gtk/gtkwidget.[ch] (gtk_widget_create_pango_{context,layout}): Added
	convenience functions for creating contexts and layouts for widgets.

	* gtk/testgtk.c: Enhance label tests with multilingual labels.
2000-06-02 03:14:07 +00:00
Owen Taylor
b9d4205044 Patch from David Santiago <mrcooger@cyberverse.com> to change things so
Wed May 17 10:52:12 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkcolorsel.c: Patch from David Santiago
	<mrcooger@cyberverse.com> to change things so that the
	indicator of the active palette entry is done independently,
	not via the focus, since it should always be visible.
2000-05-17 14:56:11 +00:00
Owen Taylor
386ae20970 A bit of editing.
Fri May 12 18:46:51 2000  Owen Taylor  <otaylor@redhat.com>

	* docs/Changes-1.4.txt: A bit of editing.

	* gdk/gdkwindow.c (_gdk_window_clear_update_area)
	* gdk/x11/gdkwindow-x11.c (gdk_window_hide): Add a function
	to clear the update area for the window, and clear it
	when hiding a window.

	* gdk/gdkwindow.c (gdk_window_begin_paint_region): Ignore
	if window destroyed.

	* gdk/gdkwindow.c (gdk_window_end_paint): Likewise.

	* gdk/gdkwindow.c gdk/x11/gdkwindow-x11.c gdk/gdkinternals.h: Move
	gdk_window_destroy() to the generic code, since there was a lot of
	window-system-independent logic it in. Add a function:

	 _gdk_window_destroy()

	to the internal API to destroy a window without unreferencing it.
	Add a function:

	 _gdk_windowing_window_destroy()

	That does the windowing-system-dependent part of destroying
	the window.

Fri May 12 11:07:41 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/testgtk.c: Fix various memory leaks of pixmaps.

Fri May 12 11:06:10 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkwidget.c docs/Changes-1.4.txt (gtk_widget_shape_combine_mask):
	Make gtk_widget_shape_combine_mask() keep a reference count on
	the pixmap since it keeps it around.

Fri May 12 10:53:29 2000  Owen Taylor  <otaylor@redhat.com>

	* gdk/gdkwindow.c (gdk_window_process_updates_internal): Fix refcount
	leak.

	* gdk/x11/gdkevents-x11.c (gdk_event_translate): Fix refcount
	leak with event filters.

Thu May 11 14:29:44 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkdnd.c (gtk_drag_dest_set_internal): Remove the
	signal handlers with the right data arguments. (Fixes
	some warnings when a widget was repeatedly set as a drag
	destination.)

	* gdk/x11/gdkdnd-x11.c (gdk_window_register_dnd): Set data on the
	window so we can avoid avoid setting the DND properties on the
	toplevel window repeatedly.
2000-05-15 16:09:53 +00:00
Tim Janik
9595c55184 documented necessary changes for 1.4 transition.
Fri May 12 17:13:32 2000  Tim Janik  <timj@gtk.org>

	* docs/Changes-1.4.txt: documented necessary changes for 1.4 transition.

	* gtk/gtktext.c: made the adjustments no-construct args, simply
	provide default adjustments.
	(gtk_text_destroy): release adjustments.

	* gtk/gtkprogressbar.c (gtk_progress_bar_class_init): made the
	adjustment argument non-construct.

	* gtk/gtkprogress.c (gtk_progress_destroy): release adjustment here,
	instead of in finalize.
	(gtk_progress_get_text_from_value):
	(gtk_progress_get_current_text):
	(gtk_progress_set_value):
	(gtk_progress_get_percentage_from_value):
	(gtk_progress_get_current_percentage):
	(gtk_progress_set_percentage):
	(gtk_progress_configure): ensure an adjustment is present.

Thu May 11 01:24:08 2000  Tim Janik  <timj@gtk.org>

	* gtk/gtkcolorsel.[hc]:
	* gtk/gtkcolorseldialog.[hc]:
	* gtk/gtkhsv.[hc]: major code cleanups, destroy handlers need to chain
	their parent implementation, use bit fields for boolean values, don't
	create unused widgets, usage of glib types, braces go on their own
	lines, function argument alignment, #include directives etc. etc. etc..

	* gtk/Makefile.am (gtk_public_h_sources): install gtkhsv.h.

Wed May 10 23:29:52 2000  Tim Janik  <timj@gtk.org>

	* gtk/gtktoolbar.c (gtk_toolbar_destroy): don't unref a NULL tooltips.

	* gtk/gtkfilesel.c (gtk_file_selection_destroy): don't free a cmpl_state
	of NULL.

	* gtk/gtkcombo.c (gtk_combo_item_destroy): don#t keep references
	to freed data.
	(gtk_combo_destroy): don't keep a pointer to a destroyed window.

	* gtk/gtkmenu.c (gtk_menu_init): reset the menu's toplevel pointer
	to NULL when the toplevel is getting destroyed.
	(gtk_menu_set_tearoff_state): same here for the tearoff_window.
	(gtk_menu_destroy):
	(gtk_menu_init): store the information of whether we have to
	readd the initial child ref_count during destruction in a new
	GtkMenu field needs_destruction_ref_count.

	* gtk/gtkviewport.c: SHAME! ok this one is tricky, so i note it
	here, those reading: learn from my mistake! ;)
	in order for set_?adjustment to support a default adjustemnt if
	invoked with an adjustment pointer of NULL, the code read (pseudo):
	if (v->adjustment) unref (v->adjustment);
	if (!adjustment) adjustment = adjustment_new ();
	if (v->adjustment != adjustment) v->adjustment = ref (adjustment);
	now imagine the first unref to actually free the old adjustment and
	adjustment_new() creating a new adjustment from the very same memory
	portion. here, the latter comparision will unintendedly fail, and
	all hell breaks loose.
	(gtk_viewport_set_hadjustment):
	(gtk_viewport_set_vadjustment): reset viewport->?adjustment to NULL
	after unreferencing it.

	* gtk/gtkcontainer.[hc]: removed toplevel registration
	functions: gtk_container_register_toplevel(),
	gtk_container_unregister_toplevel() and
	gtk_container_get_toplevels() which had wrong semantics
	anyways: it didn't reference and copy the list.

	* gtk/gtkwindow.c: we take over the container toplevel registration
	bussiness now. windows are registered across multiple destructions,
	untill they are finalized. the initial implicit reference count
	users are holding on windows is removed with the first destruction
	though.
	(gtk_window_init): ref & sink and set has_user_ref_count, got
	rid of gtk_container_register_toplevel() call. add window to
	toplevel_list.
	(gtk_window_destroy): unref the window if has_user_ref_count
	is still set, got rid of call to
	gtk_container_unregister_toplevel().
	(gtk_window_finalize): remove window from toplevel list.
	(gtk_window_list_toplevels): new function to return a newly
	created list with referenced toplevels.
	(gtk_window_read_rcfiles): use gtk_window_list_toplevels().

	* gtk/gtkhscale.c (gtk_hscale_class_init): made the GtkRange
	adjustment a non-construct arg.
	* gtk/gtkvscale.c (gtk_vscale_class_init): likewise.
	* gtk/gtkhscrollbar.c (gtk_vscrollbar_class_init): likewise.
	* gtk/gtkvscrollbar.c (gtk_vscrollbar_class_init): likewise.

	* gtk/gtkrange.c: added some realized checks.
	(gtk_range_destroy): get rid of the h/v adjustments in the
	destroy handler instead of finalize. remove timer.
	(gtk_range_get_adjustment): demand create adjustment.

	* gtk/gtkviewport.c: made h/v adjustment non-construct args.
	we simply create them on demand now and get rid of them in
	the destroy handler.
	(gtk_viewport_destroy): get rid of the h/v adjustments in the
	destroy handler instead of finalize.
	(gtk_viewport_get_hadjustment):
	(gtk_viewport_get_vadjustment):
	(gtk_viewport_size_allocate): demand create h/v adjustment
	if required.

	* gtk/gtkwidget.c (gtk_widget_finalize): duplicate part of the
	gtk_widget_real_destroy () functionality.
	(gtk_widget_real_destroy): reinitialize with a new style, instead
	of setting widget->style to NULL.

Fri May  5 13:02:09 2000  Tim Janik  <timj@gtk.org>

	* gtk/gtkcalendar.c:
	* gtk/gtkbutton.c: ported _get_type() implementation over to
	GType, either to preserve memchunks allocation facilities,
	or because Gtk+ 1.0 GtkTypeInfo was still being used.

	* gtk/gtkobject.[hc]: derive from GObject. ported various functions
	over. prepare for ::destroy to be emitted multiple times.
	removed reference tracer magic. chain into GObjectClass.shutdown()
	to emit ::destroy signal.

	* gtk/gtksignal.c: removed assumptions about GTK_TYPE_OBJECT being
	fundamental.

	* gtk/gtkmain.c: removed gtk_object_post_arg_parsing_init()
	cludge.

	* gtk/gtksocket.c:
	* gtk/gtkplug.c:
	* gtk/gtklayout.c:
	* gtk/gtklabel.c:
	* gtk/gtkargcollector.c:
	* gtk/gtkarg.c: various fixups to work with GTK_TYPE_OBJECT
	not being a fundamental anymore, and to work with the new
	type system (nuked fundamental type varargs clutter).

	* gtk/*.c: install finalize handlers in the GObjectClass
	part of the class structure.
	changed direct GTK_OBJECT()->klass accesses to
	GTK_*_GET_CLASS().
	changed direct object_class->type accesses to GTK_CLASS_TYPE().

	* gtktypeutils.[hc]: use the reserved fundamental ids provided by
	GType. made most of the GTK_*() type macros and Gtk* typedefs
	simple wrappers around macros and types provided by GType.
	most notably, a significant portion of the old API vanished:
	GTK_TYPE_MAKE(),
	GTK_TYPE_SEQNO(),
	GTK_TYPE_FLAT_FIRST, GTK_TYPE_FLAT_LAST,
	GTK_TYPE_STRUCTURED_FIRST, GTK_TYPE_STRUCTURED_LAST,
	GTK_TYPE_ARGS,
	GTK_TYPE_CALLBACK,
	GTK_TYPE_C_CALLBACK,
	GTK_TYPE_FOREIGN,
	GtkTypeQuery,
	gtk_type_query(),
	gtk_type_set_varargs_type(),
	gtk_type_get_varargs_type(),
	gtk_type_check_object_cast(),
	gtk_type_check_class_cast(),
	gtk_type_describe_tree(),
	gtk_type_describe_heritage(),
	gtk_type_free(),
	gtk_type_children_types(),
	gtk_type_set_chunk_alloc(),
	gtk_type_register_enum(),
	gtk_type_register_flags(),
	gtk_type_parent_class().
	replacements, where available are described in ../docs/Changes-1.4.txt.
	implemented compatibility functions for the remaining API.

	* configure.in: depend on glib 1.3.1, use gobject module.
2000-05-12 15:25:50 +00:00
Owen Taylor
88286d32af Color selection dialog rewrite.
Wed May 10 16:38:17 2000  Owen Taylor  <otaylor@redhat.com>

	* gtk/Makefile.am docs/Changes-1.4.txt gtk/gtkcolorsel.[ch]
	gtk/gtkhsv.[ch]: Color selection dialog rewrite.

	(Original triangle color selector from Simon Budig
	<Simon.Budig@unix-ag.org>, Cleaned up and rewritten for GTK+ by
	from Jonathan, Havoc, and Federico. Merge into GTK+ done by David
	Santiago <mrcooger@cyberverse.com>)

	* gtk/gtkcolorseldialog.[ch]: Split color selection dialog
	out into a separate widget.

	* gtk/testgtk.c: Add some checkbuttons for toggling palette
	and opacity controls.

Wed May 10 16:08:09 2000  Owen Taylor  <otaylor@redhat.com>

	* configure.in (GTK_LIBS_EXTRA): Remove references to gobject that
	snuck in prematurely.
2000-05-10 21:39:03 +00:00
Owen Taylor
10ba4fd066 Merges from gtk-1-2 2000-03-14 19:57:25 +00:00
Tor Lillqvist
ec1e8f1f5d Internal GDK error reporting changes: (gdk_win32_gdi_failed) New function
2000-03-07  Tor Lillqvist  <tml@iki.fi>

* gdk/win32/gdkmain-win32.c: Internal GDK error reporting changes:
(gdk_win32_gdi_failed) New function for reporting errors from GDI,
for which it is no use to call GetLastError on Win9x.
(gdk_other_api_failed) New function, for
general error reporting without calling GetLastError.
(gdk_win32_api_failed) OTOH, this function always calls
GetLastError. (gdk_win32_last_error_string) Remove this function,
GLib has the equivalent now.

* gdk/win32/gdkprivate-win32.h: Declare the above, and macros to
call them with function name, file name and line number in the
arguments.

* gdk/win32/*.c: Use the new macros for reporting errors from GDI
functions.

* gtk/gtk.def: Add some missing entry points.

* gtk/gtkcompat.h.in: Define gtk_paned_gutter_size and
gtk_paned_set_gutter_size, which don't exist any longer, as void.

Fixes by Hans Breuer:

* gdk/makefile.msc: Update for debugging.

* gdk/win32/gdkgc-win32.c (gdk_win32_gc_set_dashes): Fake
implementation, just use the PS_DASH, PS_DOT, PS_DASHDOT or
PS_DASHDOTDOT or PS_DASH styles depending on the number of entries
in the dash_list.

* gdk/win32/gdkwin32.h (GDK_FONT_XFONT): New macro, similar as in
the x11 backend.

* gdk/win32/gdkprivate-win32.h (IS_WIN_NT): New macro.

* gtk/testgtk.c: Include config.h, guard inclusion of unistd.h.
2000-03-08 06:18:41 +00:00