1. 14 Dec, 2000 1 commit
  2. 13 Dec, 2000 1 commit
    • Tim Janik's avatar
      doh, this was broken beyond believe. · 2c9eb3a5
      Tim Janik authored
      Tue Dec 12 23:46:44 2000  Tim Janik  <timj@gtk.org>
      
      	* gtk/stock-icons/Makefile.am: doh, this was broken beyond believe.
      
      	* gtk/gtkbox.c: change property types from (u)long to (u)int for
      	::position and ::padding.
      
      	* gtk/gtkcontainer.c: make ::border_width an INT property.
      
      	* gtk/gtkpacker.c: make ::position an INT property.
      
      	* gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed):
      	guard against NULL h/v scrollbars, since this is used at construction
      	time.
      
      	* gtk/gtkclist.[hc]: nuked gtk_clist_construct(), implemented
      	internal gtk_clist_constructor().
      
      	* gtk/gtkctree.[hc]: nuked gtk_ctree_construct(), implemented
      	gtk_ctree_constructor().
      
      	* gtk/gtkprogressbar.c (gtk_progress_bar_class_init): property
      	::pulse_step should use ARG_PULSE_STEP, not ARG_FRACTION.
      
      	* docs/reference/Makefile.am: fun stuff, disabled docs generation
      	again, gtk-scan.c needs to introspec paramspecs, not GtkAgs.
      
      	* gtk/gtkwidget.[hc]:
      	removed gtk_widget_setv(), gtk_widget_getv(), gtk_widget_newv()
      	and gtk_widget_get().
      	(gtk_widget_new): use g_object_new_valist().
      	(gtk_widget_set): use g_object_set_valist().
      
      	* gtk/gtkobject.[hc]:
      	removed gtk_object_arg_get_info(), gtk_object_getv(),
      	gtk_object_query_args(), gtk_object_newv(),
      	gtk_object_class_add_signals(),
      	gtk_object_class_user_signal_new(),
      	gtk_object_class_user_signal_newv(),
      	gtk_object_arg_set(), gtk_object_arg_get(),
      	gtk_object_args_collect(),
      	gtk_object_default_construct(),
      	gtk_object_constructed(),
      	GTK_CONSTRUCTED and GTK_OBJECT_CONSTRUCTED().
      	removed nsignals, signals and n_args members from GtkObjectClass.
      	(gtk_object_new): use g_object_new_valist().
      	(gtk_object_set): use g_object_set_valist().
      	(gtk_object_get): use g_object_get_valist().
      
      	* gtk/gtkcompat.h: define gtk_object_default_construct().
      
      	* gtk/gtktypeutils.c (gtk_type_new): create constructed objects via
      	g_object_new().
      
      	* gtk/*.c: removed gtk_object_class_add_signals() from class_init()
      	fucntions, cleaned up method assignments (make sure your structures
      	are setup properly before calling out). removed all GTK_CONSTRUCTED
      	hacks ;)
      2c9eb3a5
  3. 11 Dec, 2000 1 commit
    • Havoc Pennington's avatar
      Handle chopping off \r\n and 0x2029 in addition to \n before passing to · 310a0d4f
      Havoc Pennington authored
      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;
      310a0d4f
  4. 08 Dec, 2000 1 commit
    • Havoc Pennington's avatar
      fix breakage here that cause a segfault on text insertion · 565074f9
      Havoc Pennington authored
      2000-12-08  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtktextbtree.c (gtk_text_btree_insert): fix breakage here
      	that cause a segfault on text insertion
      
      	* gtk/gtktextchild.c (gtk_text_child_anchor_queue_resize): fix
      	warning
      
      	* gtk/gtktextiter.c (test_log_attrs): use
      	_gtk_text_buffer_get_line_log_attrs to speed things up a bit
      
      	* gtk/gtktextbuffer.c (_gtk_text_buffer_get_line_log_attrs):
      	Get log attrs for a line, using a cache stored on the buffer
      
      	* gtk/gtkcolorsel.h (GTK_COLOR_SELECTION_GET_CLASS): fix typo,
      	reported by Jeff Franks
      565074f9
  5. 02 Dec, 2000 1 commit
    • Havoc Pennington's avatar
      don't create dangling pointers to the appearance attributes from the line · 35876710
      Havoc Pennington authored
      2000-11-30  Havoc Pennington  <hp@pobox.com>
      
      * gtk/gtktextdisplay.c (gtk_text_layout_draw): don't create
      dangling pointers to the appearance attributes from the
      line display
      
      * gdk/gdkdraw.c (gdk_drawable_get_image): allow negative
      width/height to mean "full width/height of drawable"
      
      * gtk/gtktextview.h, gtk/gtktextview.c: Implement double/triple
      click to select word/line
      
      * gtk/gtktextiter.c (test_log_attrs): include paragraph delimiters
      when getting log attrs. Get a slice, so that pixmaps and stuff
      are properly handled.
      
      * gtk/gtktextbuffer.c (paste): Fix pasting to work properly if you
      paste into the selection (replaces selection now, previously
      crashed or added to selection). Reveals longstanding btree bug -
      select multiple lines, middle-click on the selection, boom. This
      isn't related to my changes though.
      
      * gtk/gtkentry.c (gtk_entry_move_forward_word): Update to reflect
      PangoLogAttrs changes
      (gtk_entry_move_backward_word): ditto
      
              * gtk/gtktextlayout.h, gtk/gtktextlayout.c: Make the iter motion
      	functions return bool whether the iter moved onto a
      	dereferenceable position.
      
      	 * gtk/gtktextview.h, gtk/gtktextview.c: Add a bunch of public
      	 functions for motion in terms of display lines.
      
      	 * gtk/gtktextmark.c (gtk_text_mark_get_buffer): Add function to
      	 get the buffer a mark is inside
      35876710
  6. 15 Nov, 2000 1 commit
    • Havoc Pennington's avatar
      change "offset" to "rise" · c72cec38
      Havoc Pennington authored
      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.
      c72cec38
  7. 13 Nov, 2000 1 commit
    • Havoc Pennington's avatar
      change demo install dir to datadir/gtk+-2.0/demo · 9adcd8a4
      Havoc Pennington authored
      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
      9adcd8a4
  8. 07 Nov, 2000 2 commits
    • Havoc Pennington's avatar
      Half-ass somewhat fix this function, so that scrolling to the insertion · d3c9910a
      Havoc Pennington authored
      2000-11-07  Havoc Pennington  <hp@redhat.com>
      
      	* gtk/gtktextlayout.c (gtk_text_layout_get_iter_location):
      	Half-ass somewhat fix this function, so that scrolling to the
      	insertion point works. Pango hacking is in the future to really
      	fix it.
      
      	* gtk/gtktextview.c (gtk_text_view_drag_data_get): Don't calculate
      	length of data, no longer used.
      
      	* gtk/gtktextbuffer.c (gtk_text_buffer_finalize): move destroy
      	method contents in here, get rid of destroy method
      	(gtk_text_buffer_insert_range): Fix some g_return_if_fail checks
      	that were backward. Remove debug spew.
      	(cut_or_copy): Make the clipboard work with insert_range to
      	preserve tags and pixbufs, not just the primary selection.
      d3c9910a
    • Havoc Pennington's avatar
      rename to gtk_text_mark_get_visible · f1de9df0
      Havoc Pennington authored
      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
      f1de9df0
  9. 03 Nov, 2000 1 commit
    • Havoc Pennington's avatar
      Get widgets working on the btree/buffer side. Display of them still · ca83d0a3
      Havoc Pennington authored
      2000-11-03  Havoc Pennington  <hp@redhat.com>
      
              Get widgets working on the btree/buffer side. Display of them
      	still doesn't work.
      
      	* gtk/gtktextview.c: start implementing child widget stuff
      
      	* gtk/gtktextiter.c (gtk_text_iter_get_child_anchor): new function
      
      	* gtk/gtktextlayout.c: handle embedded widgets
      
      	* gtk/gtktextdisplay.c: handle embedded widgets
      
      	* gtk/gtktextchild.c: Implement all the child anchor goo
      
      	* gtk/gtktextbuffer.c (gtk_text_buffer_create_child_anchor): New
      	function
      
      	* gtk/gtktextbtree.c: Add child anchor table to the btree struct
      	(insert_pixbuf_or_widget_segment): abstract out common portions of
      	creating a child anchor or a pixbuf segment.
      	(gtk_text_btree_create_child_anchor): new function
      	(gtk_text_btree_unregister_child_anchor): new function
      
      	* gtk/gtkmarshal.list: added VOID:OBJECT,INT,INT for the
      	allocate_child signal on GtkTextLayout
      
      	* gtk/gtktextiter.c (gtk_text_iter_get_pixbuf): fix bogus return
      	values
      	(gtk_text_iter_get_child_anchor): new function
      
      	* gtk/gtktextbuffer.c (gtk_text_buffer_real_changed): Add a
      	default handler for the changed signal, which calls
      	gtk_text_buffer_set_modified(), instead of just always emitting
      	changed then calling set_modified() manually. I guess this is
      	maybe more flexible. It seems logical.
      ca83d0a3
  10. 02 Nov, 2000 1 commit
    • Havoc Pennington's avatar
      Use GTK_TYPE_TEXT_ITER and BOXED marshallers · 820e79a4
      Havoc Pennington authored
      2000-11-01  Havoc Pennington  <hp@pobox.com>
      
      * gtk/gtktextbuffer.c (gtk_text_buffer_class_init): Use
      GTK_TYPE_TEXT_ITER and BOXED marshallers
      
      * gtk/gtktexttagtable.c (gtk_text_tag_table_class_init): ditto
      
      * gtk/gtktexttag.c (gtk_text_tag_class_init): ditto
      
      * gtk/gtk-boxed.defs: add GtkTextIter
      
      * gtk/gtkmarshal.list: Add marshallers for text widget that
      properly use OBJECT and BOXED
      820e79a4
  11. 01 Nov, 2000 1 commit
    • Havoc Pennington's avatar
      New function to create a pixbuf pointing to a subregion of another pixbuf. · fe9f9d03
      Havoc Pennington authored
      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
      fe9f9d03
  12. 30 Oct, 2000 1 commit
    • Havoc Pennington's avatar
      Massive reindentation and reformatting. Arg alignment and comments still · 5190c739
      Havoc Pennington authored
      2000-10-30  Havoc Pennington  <hp@redhat.com>
      
      	* gtktextbtree.c, gtktextbtree.h, gtktextbuffer.c,
      	gtktextbuffer.h, gtktextchild.c, gtktextchild.h,
      	gtktextchildprivate.h, gtktextdisplay.c, gtktextdisplay.h,
      	gtktextiter.c, gtktextiter.h, gtktextiterprivate.h,
      	gtktextlayout.c, gtktextlayout.h, gtktextmark.c, gtktextmark.h,
      	gtktextmarkprivate.h, gtktextsegment.c, gtktextsegment.h,
      	gtktexttag.c, gtktexttag.h, gtktexttagprivate.h,
      	gtktexttagtable.c, gtktexttagtable.h, gtktexttypes.c,
      	gtktexttypes.h, gtktextview.c, gtktextview.h:
      
      	Massive reindentation and reformatting. Arg alignment and comments
      	still need fixing in various places.
      5190c739
  13. 26 Oct, 2000 1 commit
    • Havoc Pennington's avatar
      add new marshallers used by the text widget · a291b0be
      Havoc Pennington authored
      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.
      a291b0be
  14. 25 Oct, 2000 1 commit
    • Tim Janik's avatar
      urg, removed implementation of gtk_marshal_VOID__INT_INT_INT_INT. if · d69496c0
      Tim Janik authored
      Wed Oct 25 20:47:41 2000  Tim Janik  <timj@gtk.org>
      
              * gtk/gdk-pixbuf-loader.c (gdk_pixbuf_loader_class_init): urg, removed
              implementation of gtk_marshal_VOID__INT_INT_INT_INT. if people do that,
              couldn't they at least give it a non-standard name?
      
              * gtk/gtktextlayout.c: arg! yet another implementation of
              gtk_marshal_VOID__INT_INT_INT_INT(), is this a conspiracy?
      
              * gtk/gtktextbuffer.c: gotcha! captured a vagabonding
              gtk_marshal_VOID__INT_POINTER_INT() implementation, braught it back
              home. now i know this _is_ a conspiracy.
      
              * gtk/gtkwidget.c (gtk_widget_class_init): marshaller fixups for
              ::state-changed.
      
              * gtk/gtkaccelgroup.c (gtk_accel_group_create_remove):
              (gtk_accel_group_create_add): marshaller signature fixups.
      
              * gtk/gtklistitem.c (gtk_list_item_class_init): signal creation fixups,
              pass in GTK_TYPE_SCROLL_TYPE instead of GTK_TYPE_ENUM.
      
              * gtk/gtkobject.[hc]: removed GTK_CONNECTED flag, it's not valid
              anymore.
      
      Tue Oct 24 23:59:21 2000  Tim Janik  <timj@gtk.org>
      
              * docs/reference/Makefile.am: disabled SUBDIRS for the moment, since
              due to the signal system changes, it wouldn't build currently. to
              be fixed soon.
      
              * docs/Changes-2.0.txt: GtkSignal/GSignal updates.
      
              * gtk/gtkwidget.c: ::direction_changed takes an enum as argument,
              so it needs gtk_marshal_VOID__ENUM() instead of
              gtk_marshal_NONE__UINT().
      
              * gdk/gdk*.c: adapted type registration functions.
      
              * gtk/gtkbindings.c:
              * gtk/gtkaccelgroup.c: operate on GSignalQuery, GtkSignalQuery is
              gone.
      
              * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType.
      
              * gtk/gtkobject.c:
              (gtk_object_destroy):
              (gtk_object_shutdown): fixed recursion guards. basically we have to
              catch the case where any of GObject.shutdown() or gtk_object_destroy()
              is called during ::destroy, and avoid recursion there.
      
              * gtk/gtktypeutils.c:
              * gtk/maketypes.awk: awk-script hackup to provide gtk_type_init() with
              boxed_copy/boxed_free. this needs a more general solution based on a
              publically installed code-generator utility.
      
              * gtk/gtktypeutils.[hc]: compat aliased GTK_TYPE_BOXED to G_TYPE_BOXED,
              glib's gobject has support for that now.
              define GtkSignalMarshaller in terms of GSignalCMarshaller.
      
      
      Mon Oct 23 09:36:42 2000  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.[hc]:
              * gtk/gtkmarshal.[hc]:
              * gtk/Makefile.am: generate marshallers with glib-genmarshal and don't
              compile gtkmarshal.c on its own anymore, just include it in gtksignal.c.
              removed #include <gtkmarshal.h>s all over the place, gtksignal.h takes
              care of that.
      
              * *.c: marshaller name fixups.
      
              * gtk/gtkmarshal.list: added a comment briefing the format.
      
      Sun Oct 22 23:14:39 2000  Tim Janik  <timj@gtk.org>
      
              * gtk/gtksignal.[hc]: nuked old implementation. we mostly have
              compatibility macros here now. more specifically, most of
              the API is preserved (yes, _most_, nonwithstanding the
              following exceptions listed, the API is stil lHUGE ;)
              things that got removed completely:
              GtkSignalQuery, gtk_signal_query(), gtk_signal_n_emissions(),
              gtk_signal_n_emissions_by_name(), gtk_signal_handlers_destroy(),
              gtk_signal_set_funcs(), gtk_signal_handler_pending_by_id(),
              gtk_signal_add_emission_hook(), gtk_signal_add_emission_hook_full(),
              gtk_signal_remove_emission_hook().
              non-functional functions variants:
              gtk_signal_add_emission_hook(), gtk_signal_remove_emission_hook().
              the GtkCallbackMarshal argument to gtk_signal_connect_full() is
              not supported anymore.
              (gtk_signal_compat_matched): new internal function to aid
              implementation of the compatibility macros, it  provides
              functionality to block/unblock/disconnect handlers based
              on func/data.
      
              * gtk/gtkenums.h: define GtkSignalRunType in terms of GSignalType,
      
              * *.c: adaptions to new type registration API signatures.
      
      
      Fri Oct 20 15:26:33 2000  Tim Janik  <timj@gtk.org>
      
              * gtk/gtktypeutils.[hc]: removed G_TYPE_GTK_POINTER cludge.
      d69496c0
  15. 24 Oct, 2000 1 commit
    • Havoc Pennington's avatar
      make it a static function · 2fab0eb1
      Havoc Pennington authored
      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
      2fab0eb1
  16. 22 Oct, 2000 1 commit
    • Tor Lillqvist's avatar
      gtk/makefile.mingw.in Updates. · 5fd61965
      Tor Lillqvist authored
      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.
      5fd61965
  17. 18 Oct, 2000 1 commit
    • Havoc Pennington's avatar
      Some updates · 7a4c6893
      Havoc Pennington authored
      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.
      7a4c6893
  18. 04 Oct, 2000 1 commit
    • Havoc Pennington's avatar
      clean up trailing whitespace, add extensive tests for tag toggle · 928c0698
      Havoc Pennington authored
      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...
      928c0698
  19. 02 Oct, 2000 1 commit
    • Havoc Pennington's avatar
      text_window_* weren't static and should have been. Start work on child · 8ebf77d1
      Havoc Pennington authored
      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
      8ebf77d1
  20. 30 Sep, 2000 2 commits
    • Havoc Pennington's avatar
      Handle NULL start/end pointers · 632fda6f
      Havoc Pennington authored
      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
      632fda6f
    • Havoc Pennington's avatar
      fix indentation · 244996ff
      Havoc Pennington authored
      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
      244996ff
  21. 25 Sep, 2000 1 commit
    • Havoc Pennington's avatar
      Draw the focus, and leave space to do so. · 9bec105a
      Havoc Pennington authored
      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
      9bec105a
  22. 14 Sep, 2000 1 commit
    • Owen Taylor's avatar
      Remove g_convert (moved to glib) and now useless utf_to_latin1() · 39339f14
      Owen Taylor authored
      Thu Sep 14 12:21:12 2000  Owen Taylor  <otaylor@redhat.com>
      
              * gtk/gtktexttypes.[ch]: Remove g_convert (moved to
      	glib) and now useless utf_to_latin1() latin1_to_utf()
      
      	* gtk/gtktextview.[ch]: Change ::move_insert and
      	::delete_text action signals to ::move and ::delete;
      	create the signals with the right enumeration type,
      	not GTK_TYPE_ENUM so that bindings work. Add C-d, M-d,
      	C-v bindings, change Home, End to move to beginning/end
      	of line, Add C-Home C-End to move to beginning/end
      	of buffer. Change ::cut_text to ::cut_clipboard, etc;
      	combine ::scroll_text into ::move; use new GtkSelectionData
      	functions to simplify DND text handling.
      
      	* gtk/gtkenums.h gtk/gtktextview.h: Move movement,
      	deletion enumerations here, rename enumeration values to
      	be consistently plural.
      
      	* gtk/gtktextbuffer.c: Use new clipboard interfaces
      	for cut/copy/paste and primary selection.
      
      	* gtk/gtktextbuffer.[ch]: Remove excess time and
      	'interactive' arguments from cut/copy/paste;
      	rename cut to cut_clipboard, etc; remove
      	gtk_text_buffer_get_clipboard_contents().
      
      	* gtk/gtktextlayout.[ch]: Add
      	gtk_text_layout_move_iter_to_line_end() to move	the iter to
      	line ends.
      
      	* gtk/gtkselection.[ch] (gtk_selection_data_set/get_text):
      	Functions to set or get a UTF-8 string on the selection
      	data.
      
      	* gtk/gtkclipboard.[ch]: New, simplified selection handling
      	interfaces.
      
      	* gtk/gtkinvisible.c (gtk_invisible_new): Realize newly
      	created widgets - one of these is useless if we don't.
      
      	* gtk/gtkselection.[ch] (gtk_selection_clear_targets): Export
      	a public function clear all targets registered for the
      	widget.
      
      	* gtk/gtkselection.c (gtk_selection_owner_set) docs/Changes-2.0.txt:
      	Never call gtk_widget_realize() - that was just asking
      	for bizarre side-effects.
      
      	* gtk/gtkselection.c (gtk_selection_owner_set): Call
      	gdk_selection_owner_set even if the widget is the
      	same so that we reliably update the timestamp on
      	the server.
      
      	* gdk/x11/gdkevents-x11.c gdk/x11/gdkx.h: Add a
      	gdk_x11_get_server_time() function.
      
      	* gdk/x11/gdkevents-x11.c gdk/x11/gdkprivate-x11.h
      	gdk/x11/gdkselection-x11.c gdk/x11/gdkwindow-x11.h:
      	Add some tricky filtering on serial numbers for
      	selection clear events to fix up long-standard
      	race condition FIXME's in gtkselection.c.
      
      	* gdk/gdkproperty.h gdk/x11/gdkselection-x11.h: Add
      	routines to convert from utf8 to compound text or
      	STRING and from a text property to UTF-8.
      
      	* gtk/gtkmain.[ch] (gtk_get_current_event_time): Add
      	a convenience function gdk_get_current_event_time().
      
      	* gtk/gtkselection.c (gtk_selection_data_copy/free): Copy
      	and free selection_data->data properly
      39339f14
  23. 07 Sep, 2000 1 commit
    • Owen Taylor's avatar
      Doc comment fixing. (Mostly non-matching parameter names.) · 21b53897
      Owen Taylor authored
      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.
      21b53897
  24. 31 Aug, 2000 2 commits
    • Havoc Pennington's avatar
      Add marshallers for changed GtkTextBuffer signals. · a9de9539
      Havoc Pennington authored
      2000-08-30  Havoc Pennington  <hp@pobox.com>
      
      * gtk/gtkmarshal.list: Add marshallers for changed GtkTextBuffer
      signals.
      
      * gtk/gtktextbuffer.h: Add "interactive" arg to insert_text and
      delete_text signals. This allows the signals to be used for
      implementing undo.
      
      * gtk/gtktextbuffer.c: Change signal handler signatures;
      provide "interactive" argument when emitting insert_text or
      delete_text signal.
      a9de9539
    • Havoc Pennington's avatar
      Docs · b9680416
      Havoc Pennington authored
      2000-08-30  Havoc Pennington  <hp@pobox.com>
      
      * gtk/gtktextbuffer.c: Docs
      b9680416
  25. 25 Jul, 2000 1 commit
    • Havoc Pennington's avatar
      update to reflect text widget changes. · a4762fbf
      Havoc Pennington authored
      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
      a4762fbf
  26. 02 Jun, 2000 2 commits
    • Havoc Pennington's avatar
      Test program to make sure GtkTextBuffer is in working order. · e86329d5
      Havoc Pennington authored
      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)
      e86329d5
    • Havoc Pennington's avatar
      Remove all references to offscreen flag which was no longer used. · 9ae724bf
      Havoc Pennington authored
      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.
      9ae724bf