In practice this shape is only used to outline the popover when it is
above native windows, in the most normal full-csw case the shape won't apply
visibly, so popovers will still be able to cast a shadow there.
If there are native windows below the popover, the shape will exclude the
shadow, so there are no alpha contents above the window. One worst case that
might happen is that the popover lays above patches of native/client-side
windows, so the shadow could come and go around the border. But first let's
see whether that happens often or visibly enough before adding something more
convoluted.
This hideous hack is necessary so far because the main users of
GtkScaleButton are also clutter users, so the GtkScaleButton popover
will be very likely shaped against a clutter-enabled native window.
https://bugzilla.gnome.org/show_bug.cgi?id=723556
We rename the gtk_widget_class_bind_template_child{_internal}
macros by appending a _private to their name. Otherwise, it
would be too magic to pass the 'public' names as arguments,
but affect a member of the Private struct. At the same time,
Add two new macros with the old names,
gtk_widget_class_bind_template_child{_internal} that operate
on members of the instance struct.
The macros and functions are inconsistently named, and are not tied to
the "template" concept - to the point that it seems plausible to use
them without setting the template.
The new naming scheme is as follows:
gtk_widget_class_bind_template_child_full
gtk_widget_class_bind_template_callback_full
With the convenience macros:
gtk_widget_class_bind_template_child
gtk_widget_class_bind_template_child_internal
gtk_widget_class_bind_template_callback
https://bugzilla.gnome.org/show_bug.cgi?id=700898https://bugzilla.gnome.org/show_bug.cgi?id=700896
Using an offset from the struct means you can have children in
both the public and private (via G_PRIVATE_OFFSET) parts of the
instance. It also matches the new private macros nicer.
https://bugzilla.gnome.org/show_bug.cgi?id=702563
Signed-off-by: Emmanuele Bassi <ebassi@gnome.org>
I'm adding a bunch of fixes for gcc complaining about
-Wmissing-declarations.
This set of patches makes private classes in gtk/*.c that use
G_DEFINE_TYPE() safe by adding definitions for the get_type() function
that can't be made static.
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.
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
GtkIconSize is an extensible enumeration (via
gtk_icon_size_register()), so methods that claim to take/return a
GtkIconSize need to actually use "int" to work correctly with bindings
that are strict about enum values.
https://bugzilla.gnome.org/show_bug.cgi?id=604895
Don't pass the click on the button through to the scale when the
dock popup will be moved, otherwise we could end up changing the
sound in unexcepted ways (to zero for vertical popups at the bottom
of the screen for example).
2009-03-18 Michael Natterer <mitch@gimp.org>
* gtk/gtkscalebutton.c: add static function
gtk_scale_button_set_orientation_private() and use it instead of
the public but deprecated gtk_scale_button_set_orientation().
svn path=/trunk/; revision=22574
2009-02-19 Michael Natterer <mitch@imendio.com>
* gtk/gtkscalebutton.c: make the orientation flipping much simpler
by using the GtkOrientable features of the involved widgets:
(gtk_scale_button_init): create the frame, box and scale here,
they never need to be recreated because they implement GtkOrientable.
(gtk_scale_button_constructor): remove their construction here.
(gtk_scale_button_set_orientation): don't destroy and re-create
anything. Instead, simply set the orientation of the above created
widgets and fiddle a bit with the "plus" and "minus" buttons'
packing and the scale's "inverted" state.
Remove separate internal GtkScaleButtonHScale and
GtkScaleButtonVScale subclasses and simply have a
GtkScaleButtonScale directly inherited from GtkScale.
svn path=/trunk/; revision=22375
* gtk/gtkscalebutton.c (gtk_scale_button_set_adjustment):
Create a new adjustment if NULL is passed, like other widgets
svn path=/trunk/; revision=21620
2008-10-01 Tor Lillqvist <tml@novell.com>
* gtk/gtkscalebutton.c: Don't #define _GNU_SOURCE on Windows as it
confuses newest mingw headers.
svn path=/trunk/; revision=21559
2008-07-04 Michael Natterer <mitch@imendio.com>
Bug 539944 – Add GtkScaleButton API so struct fields can be marked
as private
* gtk/gtk.symbols
* gtk/gtkscalebutton.[ch]: add gtk_scale_button_get_plus_button()
and _get_minus_button(). Patch by Christian Dywan.
svn path=/trunk/; revision=20757
2008-07-03 Michael Natterer <mitch@imendio.com>
* gtk/gtkscalebutton.c: remove "_from_bindings" suffix from the
names of binding signal implementations.
svn path=/trunk/; revision=20744
2008-07-01 Michael Natterer <mitch@imendio.com>
Bug 442042 – GtkScaleButton is too limited
* gtk/gtkscalebutton.[ch]: turn "orientation" into a normal
property that can be changed at any time after widget
creation. Add public API for it.
* gtk/gtk.symbols: add gtk_scale_button_get/set_orientation.
svn path=/trunk/; revision=20710
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-06-27 Michael Natterer <mitch@imendio.com>
Bug 442042 – GtkScaleButton is too limited
* gtk/gtkscalebutton.c (gtk_scale_button_init): set the name
"gtk-scalebutton-popup-window" on the popup window so it is
properly themeable.
svn path=/trunk/; revision=20698
2008-06-27 Michael Natterer <mitch@imendio.com>
Bug 442042 – GtkScaleButton is too limited
* gtk/gtkscalebutton.c: add "orientation" property. Make sure the
stuff that is part of the public API continues to be created in
init() to stay compatible. Move creating of the popup scale to
constructor(). Add an internal HScale class. Changed popup
positioning for horizontal scales accordingly.
svn path=/trunk/; revision=20692
2008-02-12 Matthias Clasen <mclasen@redhat.com>
* gtk/*.c: Unify the handling of various "Enter" keysyms
all over the place. (#515047, Christian Persch)
svn path=/trunk/; revision=19528
2007-07-16 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkscalebutton.c: Apply a patch by Guillaume Cottenceau
to improve the signal docs. (#456258)
svn path=/trunk/; revision=18475
2007-07-02 Jan Arne Petersen <jpetersen@jpetersen.org>
* gtk/gtkscalebutton.c: (gtk_scale_button_update_icon): Add
parentheses to fix the operator order in the icon selection.
svn path=/trunk/; revision=18331
2007-05-21 Tor Lillqvist <tml@novell.com>
* gtk/gtkscalebutton.c (gtk_scale_popup): Make it work better with
multiple monitors.
svn path=/trunk/; revision=17881
2007-05-19 Bastien Nocera <hadess@hadess.net>
reviewed by: Matthias Clasen <mclasen@redhat.com>
* gtk/Makefile.am:
* gtk/gtk.h:
* gtk/gtk.symbols:
* gtk/gtkscalebutton.[ch]: Add the GtkScaleButton widget,
a button that pops up a scale when pressed
2007-05-19 Bastien Nocera <hadess@hadess.net>
* POTFILES.in: Add scale button to the list
2007-05-20 Bastien Nocera <hadess@hadess.net>
* gtk/gtk-docs.sgml:
* gtk/gtk-sections.txt: add the GtkScaleButton widget
to the docs
svn path=/trunk/; revision=17876