The keysyms create a lot of potential namespace conflicts for
C, and are especially problematic for introspection, where we take
constants into the namespace, so GDK_Display conflicts with GdkDisplay.
For C application compatiblity, add gdkkeysyms-compat.h which uses
the old names.
Just one user in GTK+ continues to use gdkkeysyms-compat.h, which is
the gtkimcontextsimple.c, since porting that requires porting more
custom Perl code.
Since we have a new mechanism for requesting sizes: GtkSizeRequestIface;
it makes no sense to maintain this cache on the GtkWidget structure...
removing the requisition cache however does not break the old "size-request"
signal which is there for backwards compatability reasons.
In any case widget->requisition should not have been accessed,
gtk_widget_get_child_requisition() would have been the correct way
to consult the cache.
This commit also deprecates the newly added gtk_widget_get_requisition()
API and makes it fallback on gtk_size_request_get_size().
In the early 2.14.x releases, GtkAdjustment was changed to enforce
that values are restricted to the range [lower, upper - page_size].
This has always been the documented behaviour, and the recommended
practice is to set page_size to 0 when using adjustments for simple
scalar values, like in a slider or spin button.
Due to the large number of applications that are affected by this
change, the behaviour has been reverted to the old behaviour in
2.14.3, with an explicit warning that this change will be
reintroduced in 2.90.
This reverts commit e6373738fc.
https://bugzilla.gnome.org/show_bug.cgi?id=619474
This commit was created using a script that searched for all docstrings
containing a parameter and the string 'or %NULL'.
Gdk backends and demos excluded as they are not part of a public API
https://bugzilla.gnome.org/show_bug.cgi?id=610474
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.
2008-08-12 Michael Natterer <mitch@imendio.com>
* gtk/*.c: consistently chain up using
GTK_FOO_CLASS(parent_class)->bar(instance) instead of
(*GTK_FOO_CLASS(parent_class))->bar(instance).
svn path=/trunk/; revision=21085
2008-07-21 Michael Natterer <mitch@imendio.com>
* gtk/gtkspinbutton.c: remove g_return_if_fail() from private
functions and virtual function implementations. Some minor
cleanups.
svn path=/trunk/; revision=20873
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
* gtk/gtkspinbutton.c (gtk_spin_button_real_value_change):
Commit the entry text before doing an increment. Patch by
Björn Lindqvist.
svn path=/trunk/; revision=20196
2008-04-03 Tor Lillqvist <tml@novell.com>
Bug 330743 - Up/down spinbuttons won't take zeros and exhibit
very strange behavior
* gtk/gtkspinbutton.c (gtk_spin_button_insert_text) [Win32]: Add
workaround for a specific kind of screwed up locale setting.
svn path=/trunk/; revision=19972
2008-01-06 Johan Dahlin <johan@gnome.org>
* gtk/gtkspinbutton.c: Declare value in the example code for
GtkSpinButton::output, as pointed out by Anders Carlsson.
svn path=/trunk/; revision=19319
2008-01-06 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkspinbutton.c: Document the ::output signal and
add an example. (#507566, example by Owen Taylor)
svn path=/trunk/; revision=19312
2007-03-12 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkspinbutton.c (gtk_spin_button_style_set): Set
the background of the panel window on style changes. (#402144,
Benjamin Berg)
svn path=/trunk/; revision=17492
2006-11-16 Michael Natterer <mitch@imendio.com>
Add new infrastructure for notifications of failed keyboard
navigation and navigation with restricted set of keys.
The patch handles configurable beeping, navigating the GUI with
cursor keys only (as in phone environments), and configurable
wrap-around. Fixes bugs #322640, #70986, #318827, #334726, #334742
and #309291.
* gtk/gtksettings.c: added properties gtk-keynav-cursor-only,
gtk-keynav-wrap-around and gtk-error-bell.
* gtk/gtkwidget.[ch]: added new signal "keynav-failed" and public
API to emit it. Added New function gtk_widget_error_bell() which
looks at the gtk-error-bell setting and calls gdk_window_beep()
accordingly.
* gtk/gtk.symbols: add the new widget symbols.
* gtk/gtkcellrendereraccel.c
* gtk/gtkimcontextsimple.c
* gtk/gtkmenu.c
* gtk/gtknotebook.c: use gtk_widget_error_bell() or look at the
gtk-error-bell setting instead of calling gdk_display_beep()
unconditionally.
* gtk/gtkcombobox.c
* gtk/gtkentry.c
* gtk/gtkiconview.c
* gtk/gtklabel.c
* gtk/gtkmenushell.c
* gtk/gtkspinbutton.c
* gtk/gtktextview.c
* gtk/gtktreeview.c: call gtk_widget_error_bell() on failed keynav.
* gtk/gtkentry.c
* gtk/gtklabel.c
* gtk/gtkrange.c
* gtk/gtktextview.c: consult gtk_widget_keynav_failed() on failed
cursor navigation and leave the widget if it returns FALSE.
* gtk/gtkmenushell.c
* gtk/gtknotebook.c: only wrap around if gtk-keynav-wrap-around
is TRUE.
* gtk/gtkradiobutton.c: ask gtk_widget_keynav_failed() to decide
whether to to wrap-around, and don't select active items on cursor
navigation if gtk-keynav-cursor-only is TRUE. Should look at
gtk-keynav-wrap-around too, will look into that.
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)
2005-11-22 Michael Natterer <mitch@imendio.com>
Made button-press timeouts which work like key repeat timeouts
configurable. Addresses bug #142582:
* gtk/gtksettings.c: added properties "gtk-timeout-initial" and
"gtk-timeout-repeat" which defalt to 200/20 (ms).
Use the values from GtkSettings instead of hardcoding them
(the repeat value is either taken as-is for fast repeat or
multiplied by 5 for slow repeat). Changed all places to use these
two standard initial/repeat timings:
* gtk/gtkcalendar.c (unchanged 200/20)
* gtk/gtknotebook.c (unchanged 200/100)
* gtk/gtkpathbar.c (changed from 300/150 to 200/100)
* gtk/gtkrange.c (changed from 250/100 to 200/100)
* gtk/gtkspinbutton.c (unchanged 200/20)
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-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-03-21 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkprivate.h: Define macros GTK_PARAM_READABLE,
GTK_PARAM_WRITABLE, GTK_PARAM_READWRITE which are like
their G_ counterparts, but also mark the name, nick
and blurb as static.
* gtk/*.c: Mark param spec strings as static, using
the new macros.
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 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
Thu Jul 15 20:31:28 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkspinbutton.c (start_spinning): Install the timeout
before changing the value, so that a ::value_changed handler
has a chance to remove it. (#122427, Elke Meier)
2004-04-22 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkspinbutton.c (spin_button_at_limit): Make spinbuttons
work with negative increments. (#137975, Tim Gerla)
Thu Mar 11 22:12:14 2004 Matthias Clasen <maclas@gmx.de>
* gtk/gtkspinbutton.c (gtk_spin_button_size_request): Use the same
logic as GtkEntry when calculating border width. (#116368, reported
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>
Fri Jan 16 23:59:01 2004 Matthias Clasen <maclas@gmx.de>
The first part of the fix for #114351 (see also
gdk-pixbuf/ChangeLog and po/ChangeLog):
* gtk/gtkintl.h:
* gdk-pixbuf/gdk-pixbuf-i18n.h:
* gdk/gdkintl.h: Define P_() for property blurbs and nicks.
* gdk/gdkdisplaymanager.c:
* gdk-pixbuf/gdk-pixbuf.c:
* modules/input/gtkimcontextxim.c:
* gtk/*.c: Mark property blurbs and nicks with P_().
* po/Makefile.in.in: Add --keyword=P_ to the xgettext
invocation, since property blurbs and nicks are
now marked with P_().
Thu Aug 21 01:33:51 2003 Kristian Rietveld <kris@gtk.org>
Merge from stable.
* gtk/gtkspinbutton.c (gtk_spin_button_size_request): always round
approximate digit widths up, to avoid truncation, convert to
pango pixels when we have the full string width instead of converting
the approx digit width to pango pixels, take inner border and
interior focus into account correctly. (Fixes#116368, patch from
Morten Welinder).
Wed Aug 20 22:03:25 2003 Kristian Rietveld <kris@gtk.org>
Merged from stable.
* gtk/gtkspinbutton.c (start_spinning): change the type of step
to gdouble, since it gets it's data from a gdouble (Fixes#113547).
2003-08-07 Matthias Clasen <maclas@gmx.de>
* gtk/gtkspinbutton.c (gtk_spin_button_default_input): Use g_strtod() to cope with C libraries with
crippled locale support. (#115293)
2003-03-29 Matthias Clasen <maclas@gmx.de>
Fixes for bug #56248:
* gtk/gtknotebook.c (stop_scrolling): New function to remove the
timer and queue a redraw.
(gtk_notebook_grab_notify):
(gtk_notebook_state_changed): New functions to call stop_scrolling()
if necessary.
(gtk_notebook_button_release): Use stop_scrolling().
(gtk_notebook_draw_arrow): Fix drawing of insensitive arrows.
* gtk/gtkrange.c (stop_scrolling): New function to remove the
grab, remove the timer and queue a redraw.
(gtk_range_grab_notify):
(gtk_range_state_changed): New functions to call stop_scrolling()
if necessary.
(gtk_range_button_release): Use stop_scrolling().
* gtk/gtkspinbutton.c (gtk_spin_button_grab_notify):
(gtk_spin_button_state_changed): Redraw after stop_spinning.
(gtk_spin_button_stop_spinning): Reset click_child to correct the
drawing of the arrows.
(gtk_spin_button_button_release): Use a local copy of click_child,
since stop_spinning() resets it.
Thu Aug 8 16:58:22 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkspinbutton.c (gtk_spin_button_real_change_value):
Remove the check for editable. (Reported by Brent Fox)
Tue Sep 24 04:50:28 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkspinbutton.c (gtk_spin_button_activate):
Chain up so that entry->activates_default is honored.
(#93865, Pieter Penninckx)
Mon Sep 23 12:12:48 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkspinbutton.c: Patch from Joshua N Pritikin to
fix problem where signal connection wasn't removed
from adjustment on finalize. (#93962)
Wed Mar 20 16:36:08 2002 Owen Taylor <otaylor@redhat.com>
* gtk/*.c: Patch from Erwann Chenede, #73900 fixing
a lot of warnings with Forte CC, mostly implicit
casts between void * and function pointers.
* gdk/gdkevents.c (gdk_event_get_state): GdkEventVisibility's
state field is not a GdkModifierType. (Also #73900)
Thu Feb 21 00:31:41 2002 Soeren Sandmann <sandmann@daimi.au.dk>
* gtk/gtkspinbutton.c: Many cleanups and fixes. Draw exclusively
in expose handler. Feedback when buttons are depressed.
* gtk/gtkstyle.c: update for changes in gtkspinbutton.c. Fix
spinbuttons for RTL langauges.
Thu Feb 7 19:00:10 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkspinbutton.c (gtk_spin_button_key_release): Convert
to using binding set for doing key bindings. (#62622,
Requested by Skip Montaro)
* gtk/gtkwindow.c (gtk_window_class_init): Add control-arrow
bindings as overrides along with control-tab bindings.
* gtk/gtknotebook.c (gtk_notebook_class_init): Fix return
type for ::focus_tab signal.
Tue Jan 29 14:24:49 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkwindow.c (gtk_window_class_init): Add <Control>Tab
bindings for "move-focus" so that Control-Tab to escape from
something that eats Tab just works if not otherwise overriden.
* gtk/gtkspinbutton.c (gtk_spin_button_new_with_range)
* gtk/gtkvscale.c (gtk_vscale_new_with_range)
* gtk/gtkhscale.c (gtk_hscale_new_with_range): Use a page_size
of zero for the adjustment, since at times we think that the range
is lower to upper - page_size. A page size equally to the
step_increment is, in any case, not meaningful.
Fri Jan 25 14:03:36 2002 Tim Janik <timj@gtk.org>
* gtk/gtkspinbutton.c (gtk_spin_button_draw_arrow): assert
that the passed in arrow is always _UP or _DOWN, this catches
false invocations which lead to drawing artefacts.
(start_spinning): likewise, i.e. sanity check the passed in arrow.
(gtk_spin_button_button_release): fix arrow redrawing.
(gtk_spin_button_button_press): must set click_child for
button3 even if we don't take spinning action right away.
* gtk/gtkspinbutton.h (struct _GtkSpinButton): document
valid values for click_child.
Tue Jan 15 18:10:24 2002 Owen Taylor <otaylor@redhat.com>
* gtk/gtkspinbutton.c (gtk_spin_button_grab_notify): Stop
the timer on destroy, or when we are notified that we are
shadowed by a modal dialog.
* gtk/gtkspinbutton.c: Remove explicit gtk_grab_add()/remove() -
not needed any more.
* gtk/gtkmain.c (gtk_grab_notify): Fix problem where notifications
weren't sent out for the default grab group.
* gtk/gtkmain.c (gtk_grab_notify): Fix notification of widgets that
were getting events because they were part of the previous grab.
Mon Dec 3 16:39:17 2001 Owen Taylor <otaylor@redhat.com>
Patch from Bill Haneman (with many modifications) to make
the focus color work on dark themes and to make the
focus line width configurable. (#61079, #63074)
* gtk/gtkwidget.c: Add style properties,
::focus-widget, ::focus-line-width, and ::focus-padding.
* gtk/gtkstyle.[ch]: Make gtk_paint_focus() take a
state argument as well so we can use fg[STATE] to
draw instead of always drawing with black.
Cange paint_focus() to respect GtkWidget::focus-width
and GtkWidget::focus-line-pattern. Fix continuity
problem where the default 1-1 stipple had a blob
in one corner and a gap in the other. Change the
interpretation of x/y/width/height to be the bounding
box of the focus rect instead of the rectangle
passed to gdk_draw_rectangle.
* gtk/gtkcheckbutton.c gtk/gtklistitem.c gtk/gtknotebook.c
gtk/gtkoptionmenu.c gtk/gtkradiobutton.c gtk/gtkspinbutton.c
gtk/gtktextview.c gtk/gtktreeview.c: Handle ::focus-width
and ::focus-line-padding.
* gtk/gtkentry.c: Handle :;focus-width property; cleanup
and remove duplicated code; fix drawing of focus rectangle
when interior-focus = FALSE. (#63072, #63073)
* gtk/gtkrange.c gtk/gtktext.c gtk/gtktreeitem.c
gtk/gtktreeviewcolumn.c: Basic fixups to make compile;
Range and TreeViewColumn will need more extensive fixing.
* gtk/gtkcolorsel.c: Honor focus line attributes when
drawing the focus on the color swatches. (#63071)
* gtk/gtkhsv.c: Honor focus line attributes when
drawing the focus for the ring and triangle.
* docs/widget_geometry.txt: Start at documenting how
various widgets are drawn.
* gtk/gtkbutton.c (_gtk_button_paint): Export
_gtk_button_paint() librarywide, so we don't have
duplicate a bunch of code in gtktogglebutton.c.
* gtk/gtktogglebutton.c: Use _gtk_button_paint().
Sat Nov 17 18:26:45 2001 Owen Taylor <otaylor@redhat.com>
* gtk/Makefile.am gtk/gtkmarshal.list gtk/gtkmarshalers.list
gtk/*.c gtk/gtksignal.h: Make gtkmarshal.list/gtkmarshal.h
only for compatibility with GTK+-1.2; and deprecate it;
put all marshalers we actually use into gtkmarshalers.list
and use the _gtk_marshal_ prefix for these marshalers.
2001-10-27 Anders Carlsson <andersca@gnu.org>
* gtk/gtkspinbutton.c (gtk_spin_button_new_with_range):
Clarify that we're returning a spin button in the _new function.
This fixes#54097.
Mon Oct 22 00:26:46 2001 Kristian Rietveld <kristian@planet.nl>
* gtk/gtkspinbutton.c: remove ARROW_SIZE constant, use
new function spin_button_get_arrow_size() instead.
* gtk/gtkstyle.c (gtk_default_draw_arrow): actual size of
arrow was hardcoded, it's now variable.
Fixes bug #50200
Wed Oct 3 23:47:25 Kristian Rietveld <kristian@planet.nl>
* gtk/gtkeditable.[ch]: move insert_text and delete_text virtual
functions to do_insert_text and do_delete_text, add signals
insert_text, delete_text and changed
* gtk/gtkentry.[ch]: remove signals insert_text, delete_text
and changed. Updates to match new situation.
* gtk/gtkspinbutton.c: updates to match new situation
* gtk/gtkoldeditable.h: remove signals changed, insert_text
and delete_text
* gtk/gtkoldeditable.c: updates to match new situation
* gtk/gtktext.c: updates to match new situation
Fixes bug #59803
Tue Sep 18 20:47:16 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkspinbutton.c (gtk_spin_button_size_request): Fix
incorrect parameter to compute_double_length
(#58680, patch from Matthias Clasen)
Fixes for compilation with Forte cc. (#59734, Derek Rafter)
* gtk/gtkwindow.h gtk/gtksizegroup.h: Remove extra ;.
* gdk/gdktypes.h (GdkModifierType): Write 1u << 31
for GDK_RELEASE_MASK to avoid warnings with Forte.
* gtk/gtktexttag.c gtk/gtkcellrendertext.c: Add some missing
break; statements.
Wed Sep 12 11:21:14 2001 Owen Taylor <otaylor@redhat.com>
* gtk/gtkcellrenderertext.[ch] gtk/gtktexttag.[ch]
gtk/gtktextview.c tests/testgtk.c: Fix up for changes to
PangoFontDescription.
* gtk/gtkentry.c gtk/gtkclist.c gtk/gtkcellrenderertext.c
gtk/gtkspinbutton.c: Fix up for change to PangoMetrics
structure.
* gtk/gtkfontsel.c: Fix up for new Pango font listing API.
* gtk/gtkstyle.[ch]: Add gtk_style_get_font/set_font to replace
direct access to style->font. Deprecate gtk_style_ref/unref.
* gtk/gtkclist.c gtk/gtkctree.c gtk/gtkstyle.c gtk/gtkwidget.c:
Remove gtk_style_ref/unref with g_object_ref/unref.
* gtk/gtkcalendar.c: Remove leftover macros accessing
style->font.
* gtk/gtkhruler.c (gtk_hruler_draw_ticks): Remove unused
variable.
* gtk/gtktext.c gtk/gtklabel.c: Use gtk_style_get_font() instead of
style->font.