Commit Graph

56 Commits

Author SHA1 Message Date
Matthias Clasen
66910ed998 Restore the GtkTextchild abi
Move the new chars field to a private struct.

Fixes: #4531
2021-12-11 10:58:58 -05:00
Matthias Clasen
2d062fedd9 Add a missing since tag
gtk_text_child_anchor_new_with_replacement was
recently added.
2021-12-10 11:26:46 -05:00
Georg Vienna
c517e945de textchildanchor: allow to specify replacement character 2021-12-03 16:02:48 +00:00
Matthias Clasen
05b13dca55 textchild: Convert docs 2021-03-11 16:37:36 +00:00
Kalev Lember
c514c41d0e Avoid diagnostics for gcc-11 false positive out of bounds accesses
This is a patch by Jeff Law <law@redhat.com> done in downstream Fedora
to fix the build with gcc 11.
2021-01-11 17:19:36 +01:00
Matthias Clasen
7082624fd7 textview: Properly delete anchored children
When we remove anchors with widgets from the text
buffer, we used to call gtk_widget_destroy(), which
indirectly called gtk_container_remove() which cleared
the child properly. When gtk_widget_destroy() was
removed, we replaced the calls with gtk_widget_unparent(),
but that is not enough. Explicitly call
gtk_text_view_remove() instead - we know the parent
is a text view.
2020-09-16 23:01:49 -04:00
Matthias Clasen
3412f0554f gtk: Documentation fixups
Document missing symbols, and other cleanups.
2020-06-05 22:50:30 -04:00
Matthias Clasen
025375ff5f Replace gtk_widget_destroy everywhere
Replace all remaining uses of gtk_widget_destroy
by gtk_container_remove or g_object_unref.
2020-05-11 12:20:59 -04:00
Emmanuele Bassi
56d3a79990 Annotate gtk_text_child_anchor_get_widgets() correctly
We switched from returning a list to returning a C array, which means we
need to update the introspection annotation and the documentation to
match the implementation.
2020-05-06 23:09:53 +01:00
Timm Bäder
289b157e32 textchild: Return an array from get_widgets
Yay, one GList less.
2020-05-05 08:20:09 +02:00
Alexander Larsson
8282698201 textview: Use paintables instead of textures, and fix the support
This changes gtk_text_buffer_insert_texture() to
gtk_text_buffer_insert_paintable() which is strictly more useful
(as textures are paintables). It also fixes the code to actually
support drawing the paintables (as well as tracking changes
to the paintables.
2020-02-06 17:47:56 +01:00
Matthias Clasen
0b39631464 textview: Replace pixbufs by textures
This affects a few apis, such as gtk_text_iter_get_pixbuf,
gtk_text_buffer_insert_pixbuf and GtkTextBuffer::insert-pixbuf,
which have all been replaced by texture equivalents.

Update all callers.
2017-11-29 23:22:13 -05:00
Benjamin Otte
17600b6bab textview: Make the semi-private headrs really private
Rename the files to have the private.h ending.

And remove gtktextdisplay.h from the installed files.
2017-11-11 05:01:31 +01:00
Matthias Clasen
060948d806 Don't use g_slist_next in gtktextchild.c
We generally use ->next directly.
2015-10-20 06:14:57 -04:00
Matthias Clasen
9f24b54786 Code cleanup
Use g_slist_free_full more consistently. This commit just converts
the obvious cases where g_slist_forall is directly followed by
g_slist_free.
2015-07-31 22:23:35 -04:00
Matthias Clasen
700e78d847 Remove more leftover &mdash;es
These were leftover at various places in the documentation.
2014-09-08 16:51:44 -04:00
Sébastien Wilmet
983a03d5f8 GtkTextView: use GSlice to allocate GtkTextLineSegment's
Use GSlice to allocate all types of segments:
- char
- toggle
- mark
- pixbuf
- child widget

Char segments are a bit more complicated because the length of the text
is determined at run time and stored in the 'byte_count' field. If the
text is long, GSlice will call the system malloc() anyway, so it's
better to always use GSlice for GtkTextLineSegment.

Toggle segments are also freed in gtktextbtree.c, hence the function
_gtk_toggle_segment_free() (for a later commit it would be nice to
rename those functions with the _gtk_text prefix).

https://bugzilla.gnome.org/show_bug.cgi?id=727908
2014-04-13 14:04:12 -07:00
William Jon McCann
469d333aa2 docs: use Returns: consistently
Instead of Return value:
2014-02-19 18:56:05 -05:00
Sébastien Wilmet
fcc3f973d3 gtktextchild: replace hard-coded values by a macro
The macro already exists, so it's better to use it.

https://bugzilla.gnome.org/show_bug.cgi?id=700007
2013-05-12 18:09:11 +02:00
Tor Lillqvist
87141cf4c8 Get rid of the rest of variables exported from libgtk
Especially the gtk_*_type ones in gtktexttypes.h were mentioned in
gtk.symbols presumably by accident. That header isn't even installed,
so no way can they be supposed to be public.

gtk_text_attr_appearance_type is from the installed but "semi-private"
gtktextlayout.h, so drop that one too from gtk.symbols for now.

The use of gtk_text_unknown_char_utf8 is bit of a mess. Code in a few
files knew implicitly that it is three bytes. Define a symbolic name
for the length of it instead. Add an exported function
gtk_text_unknown_char_utf8_gtk_tests_only() that returns a pointer to
it just for the sake of gtk/tests/textbuffer.c. Prefix the variable
with an underscore.

I doubt the usefulness of the test_utf8() in textbuffer.c. If it could
be dropped, gtk_text_unknown_char_utf8_gtk_tests_only() could be
dropped, too.
2010-09-08 21:31:34 +03:00
Javier Jardón
0a07e9733b gtk/: fully remove gtkalias hacks
https://bugzilla.gnome.org/show_bug.cgi?id=623845
2010-07-10 02:51:26 +02:00
Colin Walters
6529c07614 [introspection] Merge in Gtk-custom.c annotations
The Gtk-custom.c file in gir-repository contained a number of
introspection annotations.  Merge those into the GTK source files.

Some documentation was moved from the tmpl/ files to accomodate
the addition of annotations.
2009-12-16 17:22:01 -02:00
Johan Dahlin
d97cdbdf53 Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch and Tim


svn path=/trunk/; revision=20669
2008-06-22 14:28:52 +00:00
Michael Natterer
2bf99bb12e gtk/gtktextchild.c meant to use G_STRFUNC, not G_STRLOC...
2008-01-28  Michael Natterer  <mitch@imendio.com>

	* gtk/gtktextchild.c
	* gtk/gtktextview.c: meant to use G_STRFUNC, not G_STRLOC...


svn path=/trunk/; revision=19418
2008-01-28 15:16:13 +00:00
Michael Natterer
f6f6a2a4b0 gtk/gtktextchild.c use G_STRLOC instead of G_GNUC_FUNCTION (which is
2008-01-28  Michael Natterer  <mitch@imendio.com>

	* gtk/gtktextchild.c
	* gtk/gtktextview.c: use G_STRLOC instead of G_GNUC_FUNCTION (which
	is deprecated now).


svn path=/trunk/; revision=19416
2008-01-28 13:01:01 +00:00
Matthias Clasen
113f364a37 More of the same 2006-05-14 04:25:34 +00:00
Matthias Clasen
f26aad1916 Boilerplate reduction 2006-05-02 23:56:43 +00:00
Matthias Clasen
8de7c8b761 Fix a warning.
* gtk/gtktextlayout.c: Fix a warning.

	* gtk/gtktextsegment.h:
	* gtk/gtktextsegment.c:
	* gtk/gtktextchild.c:
	* gtk/gtktextbtree.c:
	* gtk/gtktextmark.c:
	* gtk/gtktexttypes.h: Make the segment class pointers const.

	* gtk/gtktextbufferserialize.c: Make parser struct const.

	* gtk/gtkuimanager.c: Make parser struct const.
2006-04-03 15:50:30 +00:00
Matthias Clasen
94eec04267 Intern some more strings.
2005-09-01  Matthias Clasen  <mclasen@redhat.com>

        * gdk/*.c: Intern some more strings.
        * gtk/gtkintl.h:
        * gtk/*.c: Define an I_() macro and use it instead of the
        bulky g_intern_static_string().
2005-09-01 05:11:46 +00:00
Matthias Clasen
f4bbe8f0de Also intern static strings passed to g_object_set_data() 2005-08-31 17:58:55 +00:00
Matthias Clasen
c09cc89317 Intern type names in code generated by glib-mkenums, too.
2005-08-31  Matthias Clasen  <mclasen@redhat.com>

	* gdk/Makefile.am:
	* gtk/Makefile.am: Intern type names in code generated by
	glib-mkenums, too.

	* gtk/*.c:
	* gdk/x11/*.c:
	* gdk/*.c: Intern type names before registering the type to avoid
	unnecessary copies.
2005-08-31 16:53:43 +00:00
Matthias Clasen
cca8dd6347 Make PLT-reduction work with gcc4, and don't include everything in
2005-03-20  Matthias Clasen  <mclasen@redhat.com>

	Make PLT-reduction work with gcc4, and don't include
	everything in gdkalias.h:

	* gtk/grk.symbols: Group symbols by header and source file.
	* gtk/makegtkalias.pl: Protect definitions by the same
	preprocessor symbols used to guard the headers. Move
	the alias declarations to a separate file which is
	produced when calling makegtkalias.pl -def
	* gdk/Makefile.am (gtkaliasdef.c): Add a rule to generate
	this file.
	* gtk/*.c: Include gtkalias.h after the other headers,
	include gtkaliasdef.c at the bottom.
	* gtk/*.h: Small cleanups.
2005-03-20 07:01:23 +00:00
Matthias Clasen
3612aee585 Add hidden aliases for exported symbols which are used internally in order
Mon Aug  9 12:48:04 2004  Matthias Clasen  <maclas@gmx.de>

	Add hidden aliases for exported symbols which are
	used internally in order to get rid of many PLT
	entries.  (#145519, Arjan van de Ven)

	* gtk/Makefile.am: Add rules to generate gtk.def and
	from gtk.symbols, and make make check check the abi
	with abicheck.sh.
	(gtk_private_h_sources): Add gtkinternals.h
	(gtk_built_private_headers): Add gtkalias.h
	(gtk_extra_sources): Add gtk.symbols
	(EXTRA_DIST): Add makegtkalias.pl and abicheck.sh

	* gtk/gtk.symbols: New file. Definition of the GTK+ ABI.
	The file can be processed by cpp to filter out certain
	subsets of symbols.

	* gtk/abicheck.sh: New file. Script to check the actually
	symbols exported from libgtk-x11.2.0.so against the symbols
	found in gtk.symbols.

	* gtk/makegtkalias.pl: New file. Perl script to generate the
	header containing the alias definitions for internally used
	exported symbols from a list of symbols.

	* gtk/gtkinternals.h: New file. An uninstalled header listing
	symbols which must be exported for some reason and do not appear
	in any other header.

	* gtk/*.c: Include gtkalias.h
2004-08-09 16:59:53 +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
Matthias Clasen
a362428d2a Add chains to the parent's ::finalize() handler (#134901, Morten Welinder,
Sun Feb 22 03:03:29 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtkaction.c: (gtk_action_finalize):
	* gtk/gtkclipboard.c: (gtk_clipboard_finalize):
	* gtk/gtkentrycompletion.c: (gtk_entry_completion_class_init),
	(gtk_entry_completion_finalize):
	* gtk/gtkfilechooserwidget.c: (gtk_file_chooser_widget_finalize):
	* gtk/gtkfilesystemmodel.c: (gtk_file_system_model_class_init),
	(gtk_file_system_model_finalize):
	* gtk/gtkicontheme.c: (gtk_icon_theme_class_init),
	(gtk_icon_theme_finalize):
	* gtk/gtktextchild.c: (gtk_text_child_anchor_finalize):
	* gtk/gtkuimanager.c: (gtk_ui_manager_class_init),
	(gtk_ui_manager_finalize):
	* modules/input/gtkimcontextxim.c: (gtk_im_context_xim_finalize):
	Add chains to the parent's ::finalize() handler  (#134901, Morten Welinder,
	patch by Jan Arne Petersen)
2004-02-22 02:06:49 +00:00
Matthias Clasen
16a0782cea Don't crash when finalizing an unused GtkTextChildAnchor. (#132260,
Sat Jan 31 23:13:43 2004  Matthias Clasen  <maclas@gmx.de>

	* gtk/gtktextchild.c (gtk_text_child_anchor_finalize): Don't
	crash when finalizing an unused GtkTextChildAnchor.  (#132260,
	muppet)
2004-01-31 22:11:07 +00:00
Manish Singh
62341005d1 Deprecation cleanup
Thu Oct 10 14:58:47 2002  Manish Singh  <yosh@gimp.org>

        * gtk/gtkaccelgroup.c gtk/gtkarrow.[ch] gtk/gtkeventbox.[ch]
        gtk/gtkiconfactory.c gtk/gtkinvisible.[ch] gtk/gtktextchild.c:
        Deprecation cleanup
2002-10-10 22:00:09 +00:00
Daniel Elstner
49eeb6c02d Use == rather than = in sanity checks. Ouch!
2002-02-09  Daniel Elstner  <daniel.elstner@gmx.net>

* gtk/gtktextchild.c: Use == rather than = in sanity checks.  Ouch!
2002-02-09 20:44:12 +00:00
Daniel Elstner
67e3121dec Add missing curled braces so that it doesn't always return. Also indent
2002-02-09  Daniel Elstner  <daniel.elstner@gmx.net>

* gtk/gtktextchild.c (CHECK_IN_BUFFER_RETURN): Add missing curled braces so that it doesn't always return.  Also indent both CHECK_IN_BUFFER* macros properly, and make use of G_STMT_START/G_STMT_END.
2002-02-09 19:14:54 +00:00
Laszlo Peter
54ddc51ec3 s/__FUNCTION__/G_GNUC_FUNCTION/ ditto
2002-02-08  Laszlo Peter  <laca@ireland.sun.com>

	* gtk/gtktextchild.c: s/__FUNCTION__/G_GNUC_FUNCTION/
	* gtk/gtktextview.c: ditto
2002-02-08 16:23:05 +00:00
Havoc Pennington
99b7d4a189 Add warnings if you try to use a child anchor that isn't inside a buffer.
2002-02-06  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextchild.c: Add warnings if you try to use a child
	anchor that isn't inside a buffer. Really kind of lame;
	we should separate the anchor from the buffer. But not worth
	fixing for now. #70601
2002-02-06 22:07:47 +00:00
Havoc Pennington
e7153de001 move README.linux-fb in here
2002-01-01  Havoc Pennington  <hp@pobox.com>

	* gtk/framebuffer.sgml: move README.linux-fb in here

	* gtk/tmpl/gtkpreview.sgml: explain what to use instead

	* gtk/tmpl/gtkseparator.sgml: typo fix

	* gtk/tmpl/gtkstock.sgml: add some overview docs

	* gtk/Makefile.am (content_files): add new files

	* gtk/changes-1.2.sgml: move Changes-1.2.txt in here

	* gtk/changes-2.0.sgml: move Changes-2.0.txt in here

	* gdk/tmpl/threads.sgml: mention gdk_threads_init() in the
	overview docs, copy in the examples from the FAQ

	* gtk/gtk-docs.sgml: change DTD to 3.1, and add
	question_index.sgml and changes-1.2, changes-2.0

	* gtk/tmpl/gtkdrawingarea.sgml: fixups to reflect 2.0 changes

	* gtk/question_index.sgml: new section with question-based
	index of the manual

	* gtk/text_widget.sgml: fix some cross-references

2002-01-01  Havoc Pennington  <hp@pobox.com>

	* docs/README.linux-fb: note that this file is obsolete

	* docs/Changes-2.0.txt, docs/Changes-1.2.txt: Add notes to these
	files that they should not be edited and look in the reference
	manual instead. Probably these files should just be replaced by
	the note, and their main contents deleted.

	* gtk/gtktextview.c: docs

	* gtk/gtktextmark.c: docs

	* gtk/gtktextchild.c: docs

	* gtk/gtktextbuffer.c: docs stuff

	* gtk/gtkclipboard.c (gtk_clipboard_get): fool with docs to maybe
	give people more leads in sorting out PRIMARY vs. CLIPBOARD
2002-01-01 23:51:00 +00:00
Havoc Pennington
6446484667 add a #error unless you define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API, so
2001-10-22  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextlayout.h: add a #error unless you define
	GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API, so people don't use this accidentally

        * gtk/gtktext*.c: #define GTK_TEXT_USE_INTERNAL_UNSUPPORTED_API as appropriate.
2001-10-22 21:52:47 +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
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
bacb35ba3c Put _ in front of every function in this header file
2000-12-13  Havoc Pennington  <hp@pobox.com>

* gtk/gtktextbtree.h: Put _ in front of every function in this
header file

* gtk/gtktext*.[hc]: update to reflect renamed btree functions
2000-12-14 04:54:03 +00:00
Havoc Pennington
310a0d4fcc Handle chopping off \r\n and 0x2029 in addition to \n before passing to
2000-12-11  Havoc Pennington  <hp@redhat.com>

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

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

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

	* gtk/gtktext*.[hc], gtk/testtext.c, gtk/testtextbuffer.c:
	s/gtk_text_iter_next_char/gtk_text_iter_forward_char/g;
	s/gtk_text_iter_prev_char/gtk_text_iter_backward_char/g;
2000-12-11 15:51:20 +00:00
Havoc Pennington
565074f9a3 fix breakage here that cause a segfault on text insertion
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
2000-12-08 20:08:52 +00:00
Havoc Pennington
6f7dd53b80 Semi-finish widget embedding. Need guffaw scrolling to be implemented in
2000-11-20  Havoc Pennington  <hp@redhat.com>

	* gtk/gtktextview.c, gtk/gtktextlayout.c, gtk/gtktextchild.c,
	gtk/testtext.c: Semi-finish widget embedding. Need guffaw
	scrolling to be implemented in GDK to finish. Also, right now
	we just size_allocate all children on every layout change,
	which is pretty lame. Test commented out of testtext.c,
	until it works better.
2000-11-20 23:51:51 +00:00
Havoc Pennington
c72cec38f1 change "offset" to "rise"
2000-11-14  Havoc Pennington  <hp@pobox.com>

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

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

* gtk/gtktexttypes.c: Change "unknown character" to 0xFFFC,
since the Unicode spec seems to prefer that character for our
purposes.
2000-11-15 03:41:45 +00:00