I'm currently working on porting view::FieldEntry (from libview) to C for use in
upstream GTK+. FieldEntry is a widget which allows users to enter structured
text such as IPv4 addresses or serial numbers. The way that FieldEntry
delineates the fields within the entry is with tabstops, using PangoTabArray
entries to precisely position the fields and delimiters. Because GtkEntry
rebuilds its internal PangoLayout fairly frequently, this requires a property in
the entry that will set the tabs on the layout whenever that happens. This API
looks very similar to one in GtkTextView.
Patch by David Trowbridge <trowbrds@gmail.com>. Updated for Gtk+ 3.10.
https://bugzilla.gnome.org/show_bug.cgi?id=697399
We do this by making the ::populate-popup signals a little more
flexible. They used to just accept a GtkMenu as argument, now
they can take a menu or a toolbar. To not break the expectations
of existing callbacks, we only emit ::populate-popup with a toolbar
if the :populate-toolbar property is TRUE.
This patch changes all uses of GDK_DEPRECATED(_FOR) in gtk headers
by the versioned variants, GDK_DEPRECATED_IN_3_x(_FOR). At the same
time, we add GDK_AVAILABLE_IN_3_x annotations for all API additions
in 3.2 and 3.4.
gtk_entry_set_placeholder_text() makes the entry display the given text
when it is empty and unfocused. Based on previous patch by Alberto
Garcia.
https://bugzilla.gnome.org/show_bug.cgi?id=440963
Use input-only windows for capturing input, and just draw onto
the parent window. This allows themes to make entries with rounded
corners. Patch by Boram Park.
https://bugzilla.gnome.org/show_bug.cgi?id=632736
Also, added api to allow an input method to internally handle
key press and release events in the GtkTextView and GtkEntry
cases.
This is simply a wrapper to the gtk_im_context_filter_keypress()
function, but It's added to not access the ->im_context
directly.
Based on a Christian Dywan patch
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=163251
Adds a 'model' type buffer for GtkEntry in which the actual
textual data is stored. GtkEntryBuffer can be subclassed.
Among other things, this allows GtkEntry to be used for secrets
that need to be stored in non-pageable memory. It also allows
buffers to be shared by entries.
See bug #576801.
* gtk/gtk.symbols:
* gtk/gtkentry.[hc]: Use the last chance to get the api right,
and rename things for consistency, requested by Murray Cumming.
In detail,
gtk_entry_get_stock -> gtk_entry_get_icon_stock
gtk_entry_get_pixbuf -> gtk_entry_get_icon_pixbuf
gtk_entry_get_gicon -> gtk_entry_get_icon_gicon
gtk_entry_get_storage_type -> gtk_entry_get_icon_storage_type
::prelight -> ::icon-prelight
::pixbuf-primary -> ::primary-icon-pixbuf
::stock-primary -> ::primary-icon-stock
::icon-name-primary -> ::primary-icon-name
::gicon-primary-> ::primary-icon-gicon
::storage-type-primary -> ::primary-icon-storage-type
::activatable->primary -> ::primary-icon-activatable
::sensitive-primary -> ::primary-icon-sensitive
(and similar for secondary properties)
svn path=/trunk/; revision=22134
2008-12-19 Cody Russell <bratsche@gnome.org>
Bug 85292 – add an icon to gtkentry
* gtk/gtkmarshalers.list: Add VOID:INT,BOXED
* tests/testentryicons.c: Initial icon entry test
* tests/Makefile.am: Add testentryicons
* gtk/gtkentry.[ch]: Add API for setting primary/secondary icons
and other features related to them.
svn path=/trunk/; revision=21914
2008-12-05 Michael Natterer <mitch@imendio.com>
Bug 546285 – Allow GtkEntry to draw progress
* gtk/gtkentry.[ch]: add new API similar to GtkProgressBar which
allows to set the entry's progress_fraction, its progress_pulse_step
and to let the entry's progress pulse.
* gtk/gtk.symbols: updated.
* tests/testgtk.c: add progress demo code to the "Entry" window.
svn path=/trunk/; revision=21846
2008-10-30 Michael Natterer <mitch@imendio.com>
* gtk/*.h: no need to include <gdk/gdk.h> in any widget header,
it's included via gtkwidget.h anyway.
svn path=/trunk/; revision=21732
2008-09-19 Carlos Garnacho <carlos@imendio.com>
Bug 83935 – GtkEntry's default invisible char should be U+25CF
* gtk/gtkentry.c (find_invisible_char) (gtk_entry_init): Find a
more suitable invisible char than '*' based on the used font.
(gtk_entry_class_init) (gtk_entry_set_property)
(gtk_entry_get_property): Add a "invisible-char-set" property.
(gtk_entry_unset_invisible_char): New function, needed now that the
default invisible char isn't fixed.
* gtk/gtkentry.h:
* gtk/gtk.symbols:
* docs/reference/gtk/gtk-sections.txt: Add the new function.
svn path=/trunk/; revision=21446
2008-06-30 Cody Russell <bratsche@gnome.org>
* Practically everything changed.
Change all references of GIMP Toolkit (and variations of it)
to GTK+ Toolkit, showing no mercy at all to our beloved
ancestry. (#540529)
svn path=/trunk/; revision=20709
2008-05-28 Michael Natterer <mitch@imendio.com>
* gtk/gtk*.h: whitespace cleanup: remove trailing whitespace and
excess newlines and sprinkled some newlines where needed. Zero
code or formatting changes included.
svn path=/trunk/; revision=20225
2008-05-28 Michael Natterer <mitch@imendio.com>
* gtk/gtk.h: define __GTK_H_INSIDE__ around including all other
headers.
* gtk/gtktypebuiltins.h.template
* gtk/gtkversion.h.in
* gtk/gtk*.h: add single-include guards that #error out if
GTK_DISABLE_SINGLE_INCLUDES is defined and any of these files is
included individually.
* gtk/gtkprintbackend.h
* gtk/gtkprinter-private.h
* gtk/gtktextlayout.h
* gtk/gtktexttagprivate.h
* gtk/gtktexttypes.h
* gtk/gtktreedatalist.h: include <gtk/gtk.h> instead of individual
headers in these private or semi-private headers.
* gtk/gtkimmodule.h: also here because it's not in gtk.h.
* gtk/gtkpagesetupunixdialog.h
* gtk/gtkprinter.h
* gtk/gtkprintjob.h
* gtk/gtkprintunixdialog.h: likewise in the gtkunixprint headers.
* gtk/gtkclist.h
* gtk/gtkcombo.h
* gtk/gtkctree.h
* gtk/gtkfilesel.h
* gtk/gtkitemfactory.h
* gtk/gtklist.h
* gtk/gtklistitem.h
* gtk/gtkoldeditable.h
* gtk/gtkoptionmenu.h
* gtk/gtkpixmap.h
* gtk/gtkpreview.h
* gtk/gtksignal.h
* gtk/gtktipsquery.h: whenever possible, include only <gtk/gtk.h>
instead of individual headers in these deprecated headers. They
don't get included at all when GTK_DISABLE_DEPRECATED is defined,
so if an app needs them anyway, it must undef GTK_DISABLE_DEPRECATED
and include them individually, which should continue to work.
* gtk/gtkclist.c: include "gtkctree.h" because of the change
above.
svn path=/trunk/; revision=20221
2006-08-15 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentryprivate.h:
* gtk/gtkentry.c (_gtk_entry_effective_inner_border): Export
privately. Adjust all callers.
* gtk/gtkspinbutton.c (gtk_spin_button_size_request): Use it
here to get the actual inner border. (#349429, Benjamin Berg)
2006-03-10 Michael Natterer <mitch@gimp.org>
* gtk/gtkentry.[ch]: applied refactored patch from maemo-gtk that
replaces the INNER_BORDER define by an "inner-border" style
property of type GtkBorder. Additionally, add an "inner-border"
object property plus API which allows to override any theme
border, to allow pixel-perfect positioning of entries for inline
editing. Fixes bug #333922.
* gtk/gtk.symbols: add the new public functions.
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.
2004-10-08 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkentry.h:
* gtk/gtkentry.c:
* gtk/gtkentrycompletion.c:
* gtk/gtkspinbutton.c: Share the three copies of get_borders()
under the name _gtk_entry_get_borders(). (#116368, Owen Taylor)
Mon Aug 9 10:50:05 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkentry.h: Add gtk_entry_layout_index_to_text_index()
and its inverse. The have always been exported and are meant
to be public.