This commit introduces a private convenience API that derived
dialogs can call in their instance init. This is necessary to
make the setting work as intended in the face of 3rd party
dialogs derived e.g. from GtkFileChooserDialog, which are
created with g_object_new.
This change makes it possible for GtkDialog to pack
its action widgets into a header bar, instead of the
traditional action area. This change is controlled
by the use-header-bar construct-only property.
https://bugzilla.gnome.org/show_bug.cgi?id=720059
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>
We've recently a number of classes wholly. For these cases,
move the headers and sources to gtk/deprecated/ and adjust
Makefiles and includes accordingly.
Affected classes:
GtkAction
GtkActionGroup
GtkActivatable
GtkIconFactory
GtkImageMenuItem
GtkRadioAction
GtkRecentAction
GtkStock
GtkToggleAction
GtkUIManager
As the first composite widget in GTK+, this patch also
adds some Makefile mechanics to list the ui files as
dependencies of the global GTK+ resources, and adds the
initial test case where composite classes should be tested.
In particular gtksettings.h and gtkstylecontext.h needed to be included
in lots of places now.
Also, I order the includes alphabetically in a bunch of headers.
GtkDialog changes its size depending on style properties. If
we only do this in response to ::style-updated, it happens during
the initial realization of the dialog and leads to the dialog
'growing' between when we determine the initial window size and
when we allocate it that size. So, do this beforehand.
The transfer annotation was (transfer full) but the caller actually
doesn't own a reference of the object. This made the pygobject test suite
crash because pygobject was trying to unref the returned GtkButton
instance.
https://bugzilla.gnome.org/show_bug.cgi?id=639949
This change does not introduce any functionality change, mostly
cosmtic cleanups, like re-linebreak when introduced annotations messed
up indentation or whitespace errors fixes.
We were trying to avoid selecting a label initially, but the code
was sometimes leaving labels selected when the focus eventually
ended up on a button instead.
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.
We had code that tried to prevent selecting the text in the label
if we end up focusing a label, but it didn't take effect, because
we were moving the focus into the label again afterwards.
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.
Add API for GtkDialog to return widgets by response ID.
Added gtk_dialog_get_widget_for_response() to access to all kinds
of buttons with all kinds of responses.
* gtk/gtkbox.c (gtk_box_init), (gtk_box_set_spacing),
(_gtk_box_set_spacing_set), (_gtk_box_get_spacing_set):
* gtk/gtkbox.h:
* gtk/gtkdialog.c (gtk_dialog_class_init), (update_spacings):
Implement "content-area-spacing" style property in GtkDialog
and internal helper _gtk_box_get_spacing_set in GtkBox.
Patch by Tim Janik, Sven Herzberg and myself.
svn path=/trunk/; revision=21508
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-24 Michael Natterer <mitch@imendio.com>
* gtk/gtkdialog.c (gtk_dialog_init): also revert change in how
the dialog's vbox was added (bug #539732).
svn path=/trunk/; revision=20681
2008-06-24 Carlos Garnacho <carlos@imendio.com>
* gtk/gtkdialog.[ch]: Remove container implementation, which isn't
thought for handling non-direct children. Fixes#539732.
(gtk_dialog_pack_start) (gtk_dialog_pack_end): Removed as well, it
doesn't provide enough control to API users (removing, reordering...),
this is better handled through:
(gtk_dialog_get_content_area): New function which just returns
dialog->vbox.
* gtk/gtk.symbols: Modify accordingly.
* docs/reference/gtk/tmpl/gtkdialog.sgml: Update docs to recommend
using gtk_dialog_get_[action|content]_area() instead of accessing
dialog struct members directly.
svn path=/trunk/; revision=20680
2008-06-20 Michael Natterer <mitch@imendio.com>
* gtk/gtkdialog.c (gtk_dialog_get_action_area): change return
value from GtkHButtonBox to GtkWidget.
svn path=/trunk/; revision=20637
2008-01-24 Johan Dahlin <johan@gnome.org>
* gtk/gtkdialog.c (gtk_dialog_buildable_get_internal_child):
Chain up to parent, so widgets can have internal children.
svn path=/trunk/; revision=19394
2007-12-28 Johan Dahlin <johan@gnome.org>
* gtk/gtkdialog.c (gtk_dialog_buildable_custom_finished)
(gtk_dialog_buildable_custom_tag_start): Chain up.
This makes it possible to have accelerators tags on GtkDialog
subclasses.
svn path=/trunk/; revision=19268
2007-11-25 Matthias Clasen <mclasen@redhat.com>
* gtk/gtkdialog.c: Move signal and property documentation inline,
fix a problem with the ::response signal docs. (#499133, Josselin
Mouette)
svn path=/trunk/; revision=19038
2007-07-03 Johan Dahlin <jdahlin@async.com.br>
* gtk/gtkdialog.c (gtk_dialog_buildable_custom_finished): Mimic the behavior
of gtk_dialog_add_action_widget closer, to make clicking on the buttons
actually work.
svn path=/trunk/; revision=18349
2006-06-18 Christian Persch <chpe@cvs.gnome.org>
* gtk/gtkdialog.c: (gtk_dialog_class_init): Set default action area
spacing to HIG-compliant 6px. Bug #345106, follow-up from bug #163850.
2006-04-26 Federico Mena Quintero <federico@novell.com>
* gtk/gtkdialog.c (gtk_dialog_close): Don't make this conditional
on having a GTK_RESPONSE_CANCEL button -> end the idiocy. Fixes
bug #101293.
2005-12-26 Matthias Clasen <mclasen@redhat.com>
* gtk/gtklabel.c (gtk_label_class_init): Add a gtk-label-select-on-focus
setting.
(gtk_label_grab_focus): And use it here to select the contents of
the label when appropriate.
(gtk_label_class_init): Use the same keybindings for select all/
unselect all as GtkEntry and GtkTextView.
* gtk/gtkdialog.c (gtk_dialog_map): When looking for the initial
focus, avoid leaving a selection in a label.