Commit Graph

79 Commits

Author SHA1 Message Date
Michael Natterer
6c1d990adc Add infrastructure for copy/paste and DND of rich text for GtkTextBuffer.
2006-03-07  Michael Natterer  <mitch@imendio.com>

	Add infrastructure for copy/paste and DND of rich text for
	GtkTextBuffer. Fixes bug #324177.

	* gtk/gtktextbufferrichtext.[ch]: new files implementing a
	per-buffer registry of rich text formats.

	* gtk/gtk.h: #include gtktextbufferrichtext.h

	* gtk/gtktextbufferserialize.[ch]: new files implementing an
	internal serialization format that can handle all of a text
	buffer's tags and pixbufs. It's not useful for anything except
	tranfer between instances of GtkTextBuffer (Anders Carlsson).

	* gtk/Makefile.am: build the new files.

	* gtk/gtkclipboard.[ch]: added convenience APIs for rich text,
	just as they exist for plain text and pixbufs.

	* gtk/gtkselection.[ch]: added rich text convenience APIs here
	too.  Return the target list from gtk_target_list_ref(). Register
	GtkTargetList as boxed type. Added
	gtk_target_table_new_from_list() and gtk_target_table_free(),
	which make converting between GtkTargetList and arrays of
	GtkTargetEntry considerably easier.

	* gtk/gtktextutil.[ch]: added _gtk_text_util_create_rich_drag_icon()
	which creates a fancy rich text icon (Matthias Clasen).

	* gtk/gtktextbuffer.[ch]: use all the new stuff above and
	implement copy and paste of rich text. Added APIs for getting the
	target lists used for copy and paste. Added public enum
	GtkTextBufferTargetInfo which contains the "info" IDs associated
	with the entries of the target lists.

	* gtk/gtktextview.c: use the new rich text APIs and
	GtkTextBuffer's new target list API to enable DND of rich text
	chunks.

	* gtk/gtk.symbols: export all the new symbols added.

	* tests/testtext.c: added rich text testing stuff.
2006-03-07 13:46:11 +00:00
Matthias Clasen
06e735a652 Add Copyright/License information. 2005-07-13 05:44:22 +00:00
Matthias Clasen
7d2d8182b4 Add some more attribute tests.
2005-04-29  Matthias Clasen  <mclasen@redhat.com>

	* tests/testtext.c: Add some more attribute tests.

	* gtk/gtktexttag.c (gtk_text_tag_class_init): Correct the documentation
	of the rise property. String change, but it is more important to
	be correct than to be translated.  (#301740)
2005-04-29 14:43:50 +00:00
Matthias Clasen
41312f2c99 Add a "Select All" menuitem. (#156792, Paolo Borelli)
2004-10-30  Matthias Clasen  <mclasen@redhat.com>

	* tests/testtext.c: Add a "Select All" menuitem.  (#156792,
	Paolo Borelli)
2004-10-30 04:13:24 +00:00
Matthias Clasen
d5f92150d4 Fix many sparse warnings. 2004-10-28 15:00:05 +00:00
Federico Mena Quintero
80581c3011 Fixes #136082 and #135265, patch by Morten Welinder.
2004-03-05  Federico Mena Quintero  <federico@ximian.com>

	Fixes #136082 and #135265, patch by Morten Welinder.

	* configure.in: Use AC_SYS_LARGEFILE.

	* */*.c: #include <config.h>
2004-03-06 03:38:59 +00:00
Owen Taylor
4ea9813d23 Add gtk_entry_set_alignment() to allow right-aligned entries and a
Sun Feb 29 22:01:49 2004  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkentry.[ch]: Add gtk_entry_set_alignment()
        to allow right-aligned entries and a "xalign"
        property. (#59799, patch from Egon Andersen and
        Steffen Gutmann)

        * gtk/gtkmisc.c (gtk_misc_class_init): Use improved
        xalign property description here too.

        * tests/testtext.c: UNDERLINE_ERROR test addition
        from Nicolas Settons' patch.
2004-03-01 03:30:27 +00:00
Matthias Clasen
e4507b6018 Turn off GTK_DISABLE_DEPRECATED, since this test uses the
2003-09-27  Matthias Clasen  <maclas@gmx.de>

	* tests/testtext.c: Turn off GTK_DISABLE_DEPRECATED, since
	this test uses the soon-to-be-deprecated GtkItemFactory.

	* demos/gtk-demo/Makefile.am (demos): Add ui_manager.c,
	remove item_factory.c

	* demos/gtk-demo/ui_manager.c: Duplicate of item_factory.c
	using GtkUIManager instead of GtkItemFactory.
2003-09-26 23:33:46 +00:00
Matthias Clasen
0df78ed774 Use g_setenv() instead of putenv(). 2003-08-02 21:35:44 +00:00
Manish Singh
dd74be94c6 demos/gtk-demo/main.c demos/gtk-demo/tree_store.c gdk/x11/gdkscreen-x11.c
Thu Feb 27 17:44:24 2003  Manish Singh  <yosh@gimp.org>

        * demos/gtk-demo/main.c
        * demos/gtk-demo/tree_store.c
        * gdk/x11/gdkscreen-x11.c
        * gtk/gtkcellrenderertoggle.c
        * gtk/gtkcolorsel.c
        * gtk/gtkdnd.c
        * gtk/gtkeditable.c
        * gtk/gtkentry.c
        * gtk/gtkmenu.c
        * gtk/gtkmenubar.c
        * gtk/gtkmenuitem.c
        * gtk/gtkmenushell.c
        * gtk/gtkrc.c
        * gtk/gtksettings.c
        * gtk/gtkstyle.c
        * gtk/gtktextbuffer.c
        * gtk/gtktextview.c
        * gtk/gtktreeviewcolumn.c
        * tests/testgtk.c
        * tests/testtext.c
        * tests/testtreeedit.c
        * tests/testtreefocus.c
        * tests/testtreeview.c: remove unnecessary G_OBJECT() casts.
2003-02-28 01:45:51 +00:00
Manish Singh
c71f8b39dc declare gtk_selection_clear in GTK_COMPILATION too, for gtkwidget.c.
Thu Jan 30 17:16:05 2003  Manish Singh  <yosh@gimp.org>

        * gtk/gtkselection.h: declare gtk_selection_clear in GTK_COMPILATION
        too, for gtkwidget.c. Remember people, when introducing new
        deprecations, make sure internal code isn't using it, or if so,
        reorganize appropriately like I've done in other places.

        * tests/testtext.c: don't use deprecated gtk_timeout_* stuff.
2003-01-31 01:20:56 +00:00
Owen Taylor
f9d1107b60 Use octal escapes rather than literal UTF-8.
Fri Dec  6 19:00:59 2002  Owen Taylor  <otaylor@redhat.com>

        * demos/gtk-demo/testview.c tests/testgtk.c
        tests/testtext.c tests/testtextbuffer.c: Use
        octal escapes rather than literal UTF-8.
2002-12-07 00:03:34 +00:00
Matthias Clasen
2d1ce5a4fb Put into #ifdef DO_BLINK to avoid an unused static function. (#97965)
* tests/testtext.c (blink_timeout): Put into #ifdef DO_BLINK to
	avoid an unused static function.  (#97965)

	* gtk/gtktextiter.c (backward_line_leaving_caches_unmodified):
	* gtk/gtkstyle.c (radio_aa_bits):
	(draw_spin_entry_shadow): #if-0-out unused static functions and
	variables.  (#97965)

	* gtk/gtktextview.c (text_window_get_allocation):
	* gtk/gtkcolorsel.c (gtk_color_selection_get_palette_size):
	(gtk_color_selection_get_palette_color):
	(gtk_color_selection_unset_palette_color): Remove unused static
	functions.  (#97965)

	* gtk/gtkcolorsel.c
	(gtk_color_selection_set_change_palette_with_screen_hook): Fix doc
	comment.
2002-11-08 22:34:38 +00:00
Manish Singh
37278865e1 Deprecation cleanup
Sun Oct 13 16:20:41 2002  Manish Singh  <yosh@gimp.org>

        * tests/pixbuf-randomly-modified.c tests/prop-editor.c
        tests/testcalendar.c tests/testdnd.c tests/testgtk.c tests/testinput.c
        tests/testmultidisplay.c tests/testmultiscreen.c tests/testrgb.c
        tests/testselection.c tests/testsocket.c tests/testsocket_common.c
        tests/testtext.c tests/testtextbuffer.c tests/testtreecolumns.c
        tests/testtreeedit.c tests/testtreeflow.c tests/testtreefocus.c
        tests/testtreesort.c tests/testtreeview.c tests/testxinerama.c
        tests/treestoretest.c: Deprecation cleanup

        * tests/Makefile.am: Added disable deprecation flags
2002-10-13 23:22:33 +00:00
Owen Taylor
47bed428ff Improve checks on public entry points, including, among other things
Fri Oct  4 17:13:03 2002  Owen Taylor  <otaylor@redhat.com>

        * gtk/gtkdnd.c: Improve checks on public entry points,
        including, among other things checking whether drag
        contexts passed in are source or dest. (Fixes
        #76762, Alexey A. Malyshev)

        * tests/testtext.c tests/testgtk.c tests/testdnd.c:
        Fix uninstalled operation for new pixbuf changes.

        * gtk/stock-icons/Makefile.am (pixbuf_csource):
        Fix makefile for uninstalled operation.
2002-10-04 21:25:47 +00:00
Owen Taylor
92fa223146 Fix error in computing length and a memory leak. (Fixes #94072, reported
Thu Oct  3 19:00:55 2002  Owen Taylor  <otaylor@redhat.com>

        * gdk/x11/gdkselection-x11.c (gdk_selection_property_get):
        Fix error in computing length and a memory leak.
        (Fixes #94072, reported by Hema Seetharamaiah)

        * gtk/gtkmenu.c (gtk_menu_motion_notify): Fix &event
        used instead of event.
2002-10-03 23:23:16 +00:00
Owen Taylor
090a1ac1cb Add a note that yes, we do know what () means and we can't change it.
Mon Aug  5 14:50:13 2002  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkitemfactory.h: Add a note that yes, we do know
	what () means and we can't change it.

	Fixes for warnings reported by David L. Cooper II

	* tests/testtext.c: Warning fixes. Fix order of arguments
	to gtk_message_dialog_new(). (#85891)

	* gtk/gtktreeitem.c (gtk_tree_item_paint): Fix incorrect
	use GTK_STATE_INSENSITIVE for a shadow type. (Not clear
	what the drawing intent was, but it's ENABLE_BROKEN
	anyways.) (#85880)

	* gtk/gtktexttypes.c: Use character literals
	instead of direct constants to avoid warning. (#85878)

	* gtk/theme-bits/decompose-bits.c gtk/gtkstyle.c:
	Fix some signed/unsigned problems (#85876)

	* gtk/gtksignal.c (gtk_signal_newv): Add an explicit
	cast from GtkSignalRunType to GSignalFlags. (#85875)

	* gtk/gtkitemfactory.c (gtk_item_factory_add_item): Fix
	use of guint instead of GdkModifierType (#85871)

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
	Fix signed/unsigned problem (#85870)

	* gtk/gtkimcontext.c (gtk_im_context_class_init): Get
	rid of GtkType/Signal*. (Fixes #85869 as a side effect)

	* gtk/gtkdnd.c (gtk_drag_get_cursor): Fix some
	signed/unsigned warnings (#85865)
2002-08-05 18:52:28 +00:00
Owen Taylor
b47b15f6ba Fixes for uninstalled operation with module suffixes other than .so and in
Sat Mar  2 23:08:23 2002  Owen Taylor  <otaylor@redhat.com>

        Fixes for uninstalled operation with module suffixes
        other than .so and in general for platforms like AIX where
        the module suffix isn't predictable. (#72185, problems
        reported by Miroslaw Dobrzanski-Neumann)

        * modules/input/Makefile.am (gtk.immodules): Query .la
        files rather than shared objects in .libs when creating the
        uninstalled gtk.immodules file.

        * gtk/gtkmain.c (_gtk_find_module): Look for .la files
        after looking for the normal soname extension to handle
        cases where the soname extension isn't predictable,
        like AIX.

        * gtk/gtkthemes.c (gtk_theme_engine_load): Don't
        call g_module_build_path... leave that to
        gtk_rc_find_module_in_path.

        * demos/gtk-demo/main.c (main) demos/pixbuf-init.c (pixbuf_init):
        tests/testgtk.c (test_init): tests/testtext.c (test_init)
        tests/testdnd.c (test_init): Point gdk-pixbuf to .la
        files rather than poking in .libs for .so files.

        * gtk/stock-icons/Makefile.am (gtkstockpixbufs.h): Remove
        .libs from GDK_PIXBUF_MODULEDIR.
2002-03-03 04:16:30 +00:00
Havoc Pennington
a760ad804e just go ahead and flush all the first validate stuff if it hasn't been
2002-02-13  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_paint): just go ahead and flush
	all the first validate stuff if it hasn't been done, presumably
	someone called process_updates at a weird time.

	* tests/testtext.c (do_apply_colors): terminate on >= end, not >
	end, avoids infinite loop when end is at the end of the buffer.

	* gtk/gtktextbtree.c (_gtk_text_btree_delete): when creating a
	line data, we were adding it to the wrong line ("line" instead of
	"start_line")
2002-02-13 23:44:03 +00:00
Havoc Pennington
290e4efdfe propagate exposes to no window children not in the buffer window.
2002-01-01  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextview.c (gtk_text_view_expose_event): propagate
	exposes to no window children not in the buffer window.
	(gtk_text_view_class_init): add move_focus bindings for Ctrl-Tab
	- is this the right way to do it?
	(gtk_text_view_focus): add focus method, just chains up for now,
	I'm not sure why the GtkContainer implementation doesn't work

	* gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): fill
	in the text line for the child anchor segment

	* tests/testtext.c (do_add_focus_children): add another test
	example (to put focusable buttons into the widget)
2002-01-02 03:49:09 +00:00
Havoc Pennington
d07cd9f865 remove backward_char since we no longer have bogus newline
2001-12-31  Havoc Pennington  <hp@pobox.com>

	* tests/testtext.c (do_insert_and_scroll): remove backward_char
	since we no longer have bogus newline
	(dialog_response_callback): remove another backward_char horkage,
	reported by Matthias Clasen #63065
2001-12-31 22:35:20 +00:00
Havoc Pennington
650e82680a put in a test for negative indentation values
2001-11-19  Havoc Pennington  <hp@pobox.com>

	* tests/testtext.c (fill_example_buffer): put in a test for
	negative indentation values
2001-11-19 20:55:46 +00:00
Havoc Pennington
e9c62bf674 add set_border_width for testing 2001-11-14 00:33:45 +00:00
Havoc Pennington
10b3db0836 add border width to requisition, request non-anchored children
2001-11-13  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_size_request): add border width
	to requisition, request non-anchored children
	(gtk_text_view_size_allocate): handle border width, allocate
	non-anchored children
	(text_view_child_new_window): set the child as object data
	(gtk_text_view_move_child): allow children at negative
	coordinates, no reason why not
	(gtk_text_view_forall): make it copy the list of children before
	walking it, to avoid reentrancy issues
	(gtk_text_view_move_child): short-circuit if position is unchanged
	(changed_handler): only queue_resize if requisition has changed
	(gtk_text_view_init): don't redraw_on_allocate, since we can do
	a better job of invalidation ourselves

	* tests/testtext.c: add tests for the fixed-position children
2001-11-13 23:36:18 +00:00
Havoc Pennington
d73ad69c8d lost this file due to CVS broken pipe 2001-11-06 17:12:42 +00:00
Havoc Pennington
72e6566b0d Clarify behavior in docs, #61777 (gtk_text_iter_forward_search)
2001-10-22  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextiter.c (gtk_text_iter_set_line): Clarify behavior in
	docs, #61777
	(gtk_text_iter_forward_search) (gtk_text_iter_backward_search):
	change the two boolean args to a flags field, so we can extend
	to add case insensitive, regexp searches later. #61852
2001-10-22 19:13:28 +00:00
Owen Taylor
dfb3a1b0f8 Call setlocale (LC_ALL, ""). (#60606)
Wed Oct 10 12:48:38 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtkmain.c (gtk_init_check): Call setlocale (LC_ALL, "").
	(#60606)

	* gtk/gtkmain.c (gtk_disable_setlocale): Add function
	to disable calling setlocale (LC_ALL, "").

	* gtk/gtkmain.c (gtk_set_locale): Indicate in the
	docs that this function is not typically useful.

	* gdk/x11/{gdkim-x11.c,gdkmain-x11.c,gdkprivate-x11.h}:
	Automatically initialize GDK for the current locale
	on gdk_init(). Don't reset locale to C when
	XSupportsLocale() fails.

	* gdk/linux-fb/gdkim-fb.c (gdk_set_locale): Remove
	useless checks for UTF-8 locale breakage that mattered
	only for X.

	* examples/calendar/calendar.c
	tests/{testgtk.c,testtext.c,testcalendar.c}: Remove calls to
	gtk_set_locale().

	* gtk/gtkiconfactory.c gtk/gtkitemfactory.c:
	gdk_pixbuf_new_from_stream => gdk_pixbuf_new_from_inline.
2001-10-10 16:56:54 +00:00
Havoc Pennington
f1427cd9bb update adjustments after validating destination yrange; fixes #53918 (This
2001-09-07  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c (gtk_text_view_flush_scroll): update
	adjustments after validating destination yrange; fixes #53918
	(This may cause other issues, but I hope it won't)

2001-09-05  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbtree.c (_gtk_text_btree_delete): when merging end
	line into start line, update the character counts in parent nodes;
	caused a bug when end and start line had different parent nodes.

2001-08-30  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktexttag.c (_gtk_text_attributes_fill_from_tags): add
	assertion that tag is in a table
2001-09-07 21:39:18 +00:00
Tim Janik
10f047cf4c up version to 1.3.7, interface age 0, binary age 0. depend on glib 1.3.7.
Thu Jun 28 17:18:41 2001  Tim Janik  <timj@gtk.org>

	* configure.in (GTK_MICRO_VERSION): up version to 1.3.7, interface
	age 0, binary age 0. depend on glib 1.3.7.

	* gtk/gtkcontainer.c: remove g_signal_handlers_disconnect_by_func() hack.

	* gtk/gtkmenubar.c: same here.

	* gtk/gtkcontainer.c (gtk_container_focus_tab): fix param-spec retrival.

	* gtk/gtkcolorsel.c (gtk_color_selection_init): fix connect_data() usage.

	* gtk/gtkentry.c (gtk_entry_focus_in): same here.

	* gtk/gtkmenubar.c (add_to_window): likewise.

	* gtk/gtktextbtree.c: and here...

	* gtk/gtktextview.c (gtk_text_view_ensure_layout): same thing.

	* gtk/gtktoolbar.c (gtk_toolbar_init): once more.

	* gtk/gtktreemodel.c (connect_ref_callbacks): and another time.

	* gtk/gtktreeviewcolumn.c:
	(_gtk_tree_view_column_set_tree_view): yet again.

	* demos/gtk-demo/images.c (progressive_timeout): demonstrate
	signal connections without g_signal_connect_data().

	* demos/gtk-demo/stock_browser.c (do_stock_browser): second
	demo of the matter.

	* demos/testpixbuf.c (main): running out of equality phrases for the
	ChangeLog, but had to adapt connections here as well.

	* demos/testanimation.c (progressive_timeout): and for the fun of it,
	tackled this the same way.

	* tests/testtext.c (create_view): ok, it's becoming a pain at this
	point, but had enough enery for one more fix.

	* tests/testtreecolumns.c (main): stand up man, do your work!

	* tests/testtreeview.c (set_columns_type): ok, this is the last file i
	fix, either that's been all of it or CVS gtk is broken yet again.
2001-06-28 17:12:40 +00:00
Havoc Pennington
87684f9549 get sizes an icon set can render without falling back to missing image
2001-05-25  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkiconfactory.c (gtk_icon_set_get_sizes): get sizes an icon
	set can render without falling back to missing image icon

	* gtk/gtktextview.c (gtk_text_view_size_request): request full
	size of text, instead of random values

	* gtk/gtktreeview.c (gtk_tree_view_size_request): request full
	size of tree view, instead of random values

	* gtk/gtkiconfactory.c (gtk_icon_set_render_icon): render fallback
	image in an appropriate size

        * gtk/gtkstock.h: Rename the stock items including _BUTTON_,
	etc. not to include that. i.e. s/GTK_STOCK_BUTTON_OK/GTK_STOCK_OK/

        Throughout: fix GTK_STOCK_BUTTON_ instances

	* gtk/gtkstock.h, gtk/gtkstock.c, gtk/gtkiconfactory.h,
	gtk/gtkiconfactory.c, gtk/stock-icons/Makefile.am:
	Add a bunch of new stock items/icons

	* gtk/gtktreeview.c (gtk_tree_view_insert_column_with_data_func):
	new function, convenience for inserting columns with a data func

	* gtk/gtkiconfactory.c: keep a list of all existing icon factories
	(_gtk_icon_factory_list_ids): use list of all factories to
	generate a list of all known IDs

	* gtk/gtkstock.c (gtk_stock_list_ids): replace
	gtk_stock_list_items() with a function that returns all IDs known
	including those for GtkIconFactory.
2001-05-25 20:41:46 +00:00
Alexander Larsson
811543ce37 Added properties. Based on patch by Lee Mallabone.
2001-05-21  Alexander Larsson  <alexl@redhat.com>

	* gtk/gtkfontsel.c:
	Added properties. Based on patch by Lee Mallabone.

	* gtk/gtkruler.c:
	* gtk/gtkhruler.c:
	* gtk/gtkvruler.c:
	* gtk/gtktext.c:
	* gtk/gtktextview.c:
	Converted GtkArg to GParam. Based on patches by John Margaglione.

	* tests/Makefile.am:
	* tests/testtext.c:
	Add a property editor to testtext.
2001-05-22 00:11:10 +00:00
Havoc Pennington
b4e4a0ed9d fix some shell typos
2001-05-04  Havoc Pennington  <hp@redhat.com>

	* configure.in: fix some shell typos

	* gtk/gtkcolorsel.c (gtk_color_selection_destroy): warning fix

	* gtk/gtkimage.c: handle animations

	* gtk/gtkcheckbutton.c (gtk_check_button_size_request): request
	border_width * 2, not just border_width

	* gtk/gtkscale.c: add "format_value" signal to allow people
	to override the way values are drawn.
	(gtk_scale_get_value_size): fix width/height mistake,
	and compute size from actual displayed text, not
	from made-up text.

	* gtk/gtktexttag.c (gtk_text_tag_class_init): fix return type in
	signal registration

	* tests/testtext.c: Add "Remove all tags" menu item for testing

	* gtk/gtktextbuffer.c (gtk_text_buffer_remove_all_tags): implement

	* demos/gtk-demo/main.c (main): add hack so we can find modules
	without installing gtk

	* demos/gtk-demo/textview.c (insert_text): demo font scaling

	* gtk/gtkcellrenderertext.c: Add "scale" property (font scaling
	factor)
	(gtk_cell_renderer_text_set_property): remove some bogus
	g_object_notify

	* gtk/gtktexttag.c: add "scale" property which is a font scaling
	factor

	* gtk/gtktextlayout.c (add_text_attrs): add font scale attribute
	to layout

	* gtk/gtktextiter.c (gtk_text_iter_is_start): rename from
	gtk_text_iter_is_first

2001-05-04  Havoc Pennington  <hp@redhat.com>

	* pixops/pixops.c (pixops_process): merge fix from stable: Patch
	 from hoshem@mel.comcen.com.au to fix nonzero X offsets.  Fixes
	 bug #50371.

        * gdk-pixbuf/pixops/pixops.c (pixops_composite_nearest): merge
	from stable: Patch from OKADA Mitsuru <m-okada@fjb.co.jp> to fix
	confusion of using "src" instead of "p".
        (pixops_composite_color_nearest): Use a more accurate (and
	correct, to begin with) compositing method.  This cures checks
	showing through on images with no alpha.

	* gdk-pixbuf.c (gdk_pixbuf_fill): fix bug that left some trailing
	bytes unfilled.

	* gdk-pixbuf-io.h: fix UpdatedNotifyFunc to use signed ints

	* gdk-pixbuf-loader.h (struct _GdkPixbufLoaderClass): Change
	area_updated signal to use signed ints.  Removed animation-related
	signals.

	* io-gif.c, io-gif-animation.h, io-gif-animation.c: Massive
	rewrite action

	* gdk-pixbuf-animation.c: Add GdkPixbufAnimationIter to abstract
	all the pesky details. Remove old frame-based API. Make
	GdkPixbufAnimation an abstract base class, derived by the loaders.
2001-05-07 15:58:47 +00:00
Owen Taylor
7e9df6443b Patch from Juan Pablo Mendoza Mendoza to fix things so clicking inside
Thu May  3 07:00:09 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/gtktextview.c: Patch from Juan Pablo Mendoza Mendoza
	to fix things so clicking inside selection leaves cursor
	at point where clicked. (#50324)

	* gtk/gtksettings.c (gtk_settings_class_init): Restore
	sane value for default double click time.

	* tests/testtext.c (test_init): Really path to input modules.
2001-05-03 11:15:26 +00:00
Havoc Pennington
2635496aeb fix to work with gtk_paint_layout change
2001-04-30  Havoc Pennington  <hp@pobox.com>

	* tests/testtext.c (line_numbers_expose): fix to work with
	gtk_paint_layout change
2001-05-01 01:32:41 +00:00
Havoc Pennington
7e9b154f0c fix warning
2001-04-27  Havoc Pennington  <hp@redhat.com>

	* gtk/gtkcombo.c (gtk_combo_popup_button_press): fix warning

	* gtk/gtkmessagedialog.c (gtk_message_dialog_init): make messages selectable

	* gtk/gtkentry.c (gtk_entry_real_insert_text): don't strip
	line/para separators
	(gtk_entry_create_layout): set single paragraph mode on the layout

	* gtk/gtkbutton.c (gtk_button_new_from_stock): don't put much
	spacing between the image and label; instead, inside a button box
	the button will get extra space that will go there, but if people
	configure button box for 0 chubbiness, then there's no spacing.

	* gtk/gtkbbox.c (gtk_button_box_class_init): Make child ipadding
	and min/max size style properties, so people can tune their
	chubbiness.

	* tests/testgtk.c (make_toolbar): remove calls to removed toolbar
	functions

	* gtk/gtktoolbar.c (gtk_toolbar_class_init): Make space_size,
	space_style, and button_relief into style properties, remove
	functions for setting them

	* gtk/gtkmenu.c (gtk_menu_key_press): handle menu bar accel to pop
	it back down

	* gtk/gtkoptionmenu.c (gtk_option_menu_get_props): free boxed
	types from gtk_widget_style_get

	* gtk/gtkmenubar.c (gtk_menu_bar_set_shadow_type): Remove, replace
	with a style property.

	* gdk/x11/gdkevents-x11.c: namespace the settings

	* gtk/gtkmenubar.c: Add F10 accelerator to move between menubars.

	* gtk/gtksettings.c (gtk_settings_class_init): remove code with
	side effects from inside g_assert(), so that G_DISABLE_ASSERT can
	be used. Also, translate doc strings for settings. Also, namespace
	the double-click-time property. Also, remove bell properties crap.
2001-04-28 00:12:47 +00:00
Chookij Vanatham
d483ebcff1 Added Hebrew Punctuation/Point Marks to the text. 2001-04-26 19:03:58 +00:00
Havoc Pennington
b84d2f1234 handle 0-height empty/invisible lines.
2001-04-21  Havoc Pennington  <hp@pobox.com>

	* gtk/gtktextdisplay.c (gtk_text_layout_draw): handle 0-height
	empty/invisible lines.

	* gtk/gtktextiter.c (gtk_text_iter_set_visible_line_offset)
	(gtk_text_iter_set_visible_line_index): new functions to set
	indexes excluding invisible text

	* gtk/gtktextlayout.c (line_display_iter_to_index): get visible
	index

	* gtk/gtktextiter.c (gtk_text_iter_get_visible_line_index)
	(gtk_text_iter_get_visible_line_offset): new functions to
	get indexes excluding invisible text

	* gtk/gtkmessagedialog.c (gtk_message_dialog_init): strip out a
	bunch of extra padding that served no purpose

	* gtk/gtkdialog.c: Make all the spacings configurable via style
	properties, for chubbiness configuration in themes

	* tests/testtext.c: fix path to the immodules.
2001-04-24 12:24:35 +00:00
Chookij Vanatham
1c537e5853 Added Thai UTF-8 text which also has the wrong written syntax. 2001-03-29 18:18:46 +00:00
Owen Taylor
1586ade9c5 Add missing NULL on valist.
Wed Mar 28 19:20:43 2001  Owen Taylor  <otaylor@redhat.com>

	* gtk/testtext.c (create_buffer): Add missing NULL on
	valist.

	* gtk/gtkcheckmenuitem.c (gtk_check_menu_item_class_init): Fix
	c-n-p problem with INCONSISTENT property.

        [ Patch from Havoc Pennington  <hp@redhat.com> ]

	* gtk/gtkentry.h (struct _GtkEntryClass): add same populate_popup
	hook.

	* gtk/gtktextview.h (struct _GtkTextViewClass): add populate_popup
	signal as a hook for extending the default popup menu

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
	use radio menu items for the input method menuitems

	* gtk/gtkimcontextsimple.c (check_hex): do better validation of
	inserted unicode from Ctrl-Shift-hex input method

	* gtk/gtktextbtree.c (_gtk_text_btree_insert): remove utf8
	validatation here, already done at GtkTextBuffer level.

	* gtk/gtkwidget.c (gtk_widget_class_init): add binding set, add
	popup_menu run action signal and Shift+F10 and Menu keybindings.

	* gtk/gtkentry.c: implement a default handler for popup_menu

	* gtk/gtktextview.c: implement a default handler for popup_menu

	* gtk/gtkmenu.c (gtk_menu_popup): select first item if popup is
	from a key event

	* gtk/gtklabel.c: remove "trailer" cruft
2001-03-29 00:24:58 +00:00
Havoc Pennington
b6b4e13fd8 fix warnings
2001-03-23  Havoc Pennington  <hp@redhat.com>

	* gtk/testgtk.c: fix warnings

	* gtk/gtktoolbar.c (gtk_toolbar_insert_element): fix return value

	* gtk/gtktextview.c: fix warnings

	* gtk/gtktext.c (find_cursor_at_line): fix warning

	* gtk/gtkselection.c (gtk_selection_notify): fix warning

	* gtk/gtkitemfactory.c (gtk_item_factory_menu_pos): fix signature
	of this function

	* gtk/gtkimmulticontext.c (gtk_im_multicontext_append_menuitems):
	fix warning

	* gtk/gtkhandlebox.c (gtk_handle_box_style_set): fix warning

	* gtk/gtkfontsel.c: fix warning

	* gtk/gtkcolorsel.c: fix warnings
2001-03-24 00:07:16 +00:00
Havoc Pennington
e7a21a2eec add varargs for properties to set on the tag.
2001-03-15  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbuffer.c (gtk_text_buffer_create_tag): add varargs
	for properties to set on the tag.

	* gtk/testtext.c: fixups to reflect create_tag change

	* gtk/gtktexttag.c (gtk_text_tag_set_property):
	background/foreground stipple are objects, not boxed.

	* demos/gtk-demo/textview.c: intellihancing
2001-03-16 19:32:20 +00:00
Havoc Pennington
bc31a1bcca add insert_child_anchor signal, bug #50245
2001-02-19  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextbuffer.h (struct _GtkTextBufferClass): add
	insert_child_anchor signal, bug #50245

	* gtk/gtktextbtree.c (_gtk_text_btree_insert_child_anchor): change
	from create_child_anchor, so the anchor is passed in

	* gtk/gtktextchild.c (gtk_text_child_anchor_new): new function
	(_gtk_widget_segment_new): have the child anchor object passed in,
	instead of creating it.

	* gtk/gtktextbuffer.c (gtk_text_buffer_modified): rename
	to gtk_text_buffer_get_modified
2001-02-19 23:27:27 +00:00
Havoc Pennington
08add3cd50 convert the X coordinates so they're with respect to the line, rather than
2001-02-15  Havoc Pennington  <hp@redhat.com>

	* gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region): convert
	the X coordinates so they're with respect to the line, rather than
	with respect to the layout.

	* gtk/gtkalignment.c: Convert to new property API, patch from Lee
	Mallabone

	* gtk/testgtk.c (create_range_controls): add vscale tests,
	and inverted test

	* gtk/gtkrange.c (gtk_range_set_inverted): new function to fix
	#50806

	* gtk/gtkentry.c (gtk_entry_get_text): add G_CONST_RETURN

	* gtk/gtktextiter.h (gtk_text_iter_is_last): rename
	gtk_text_iter_is_end

	* gtk/gtktextbuffer.h (gtk_text_buffer_get_last_iter):
	rename gtk_text_buffer_get_end_iter

	* gtk/testgtk.c (create_labels): Add test for selectable

	* gtk/gtkentry.c (gtk_entry_draw_text): Use new GDK API to draw
	the selection stuff. This code is kind of broken since it doesn't
	use the theme engine.

	* gdk/gdkpango.c (gdk_pango_layout_line_get_clip_region):
	fix infinite loop and y offset problem
	(gdk_draw_layout_line_with_colors): fix foreground color handling

        * gtk/gtklabel.h, gtk/gtklabel.c: Implement a "selectable" flag
	that makes the label selectable.

	* gtk/gtklabel.c (gtk_label_style_set): recreate the label's
	layout when the style is set, since fonts etc. could have changed.
2001-02-17 00:11:03 +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
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
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
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