Remove GtkActionGroup

This commit is contained in:
Timm Bäder 2016-10-16 20:46:37 +02:00 committed by Benjamin Otte
parent 1bb3501ef7
commit ead36206a3
15 changed files with 4 additions and 2358 deletions

View File

@ -256,49 +256,6 @@ GTK_TYPE_ACTIVATABLE
gtk_activatable_get_type
</SECTION>
<SECTION>
<FILE>gtkactiongroup</FILE>
<TITLE>GtkActionGroup</TITLE>
GtkActionGroup
GtkActionGroupClass
gtk_action_group_new
gtk_action_group_get_name
gtk_action_group_get_sensitive
gtk_action_group_set_sensitive
gtk_action_group_get_visible
gtk_action_group_set_visible
gtk_action_group_get_accel_group
gtk_action_group_set_accel_group
gtk_action_group_get_action
gtk_action_group_list_actions
gtk_action_group_add_action
gtk_action_group_add_action_with_accel
gtk_action_group_remove_action
GtkActionEntry
gtk_action_group_add_actions
gtk_action_group_add_actions_full
GtkToggleActionEntry
gtk_action_group_add_toggle_actions
gtk_action_group_add_toggle_actions_full
GtkRadioActionEntry
gtk_action_group_add_radio_actions
gtk_action_group_add_radio_actions_full
GtkTranslateFunc
gtk_action_group_set_translate_func
gtk_action_group_set_translation_domain
gtk_action_group_translate_string
<SUBSECTION Standard>
GTK_TYPE_ACTION_GROUP
GTK_ACTION_GROUP
GTK_ACTION_GROUP_CLASS
GTK_IS_ACTION_GROUP
GTK_IS_ACTION_GROUP_CLASS
GTK_ACTION_GROUP_GET_CLASS
<SUBSECTION Private>
gtk_action_group_get_type
GtkActionGroupPrivate
</SECTION>
<SECTION>
<FILE>gtkadjustment</FILE>
<TITLE>GtkAdjustment</TITLE>

View File

@ -1,6 +1,5 @@
deprecated_h_sources = \
deprecated/gtkaction.h \
deprecated/gtkactiongroup.h \
deprecated/gtkgradient.h \
deprecated/gtksymboliccolor.h
@ -10,6 +9,5 @@ deprecated_private_h_sources = \
deprecated_c_sources = \
deprecated/gtkaction.c \
deprecated/gtkactiongroup.c \
deprecated/gtkgradient.c \
deprecated/gtksymboliccolor.c

View File

@ -129,8 +129,6 @@ struct _GtkActionPrivate
GClosure *accel_closure;
GQuark accel_quark;
GtkActionGroup *action_group;
/* list of proxy widgets */
GSList *proxies;
};
@ -158,7 +156,6 @@ enum
PROP_HIDE_IF_EMPTY,
PROP_SENSITIVE,
PROP_VISIBLE,
PROP_ACTION_GROUP,
PROP_ALWAYS_SHOW_IMAGE
};
@ -182,8 +179,6 @@ static void gtk_action_get_property (GObject *object,
guint prop_id,
GValue *value,
GParamSpec *pspec);
static void gtk_action_set_action_group (GtkAction *action,
GtkActionGroup *action_group);
static GtkWidget *create_menu_item (GtkAction *action);
static GtkWidget *create_tool_item (GtkAction *action);
@ -475,22 +470,6 @@ gtk_action_class_init (GtkActionClass *klass)
P_("Whether the action is visible."),
TRUE,
GTK_PARAM_READWRITE));
/**
* GtkAction:action-group:
*
* The GtkActionGroup this GtkAction is associated with, or NULL
* (for internal use).
*
* Deprecated: 3.10: Lookup the #GAction using g_action_map_lookup_action()
* instead
*/
g_object_class_install_property (gobject_class,
PROP_ACTION_GROUP,
g_param_spec_object ("action-group",
P_("Action Group"),
P_("The GtkActionGroup this GtkAction is associated with, or NULL (for internal use)."),
GTK_TYPE_ACTION_GROUP,
GTK_PARAM_READWRITE));
/**
* GtkAction:always-show-image:
@ -569,8 +548,6 @@ gtk_action_init (GtkAction *action)
g_closure_ref (action->private_data->accel_closure);
g_closure_sink (action->private_data->accel_closure);
action->private_data->action_group = NULL;
action->private_data->proxies = NULL;
action->private_data->gicon = NULL;
}
@ -713,9 +690,6 @@ gtk_action_set_property (GObject *object,
case PROP_VISIBLE:
gtk_action_set_visible (action, g_value_get_boolean (value));
break;
case PROP_ACTION_GROUP:
gtk_action_set_action_group (action, g_value_get_object (value));
break;
case PROP_ALWAYS_SHOW_IMAGE:
gtk_action_set_always_show_image (action, g_value_get_boolean (value));
break;
@ -779,9 +753,6 @@ gtk_action_get_property (GObject *object,
case PROP_VISIBLE:
g_value_set_boolean (value, action->private_data->visible);
break;
case PROP_ACTION_GROUP:
g_value_set_object (value, action->private_data->action_group);
break;
case PROP_ALWAYS_SHOW_IMAGE:
g_value_set_boolean (value, action->private_data->always_show_image);
break;
@ -827,9 +798,6 @@ connect_proxy (GtkAction *action,
g_object_ref_sink (proxy);
if (action->private_data->action_group)
_gtk_action_group_emit_connect_proxy (action->private_data->action_group, action, proxy);
}
static void
@ -837,11 +805,9 @@ disconnect_proxy (GtkAction *action,
GtkWidget *proxy)
{
remove_proxy (action, proxy);
if (action->private_data->action_group)
_gtk_action_group_emit_disconnect_proxy (action->private_data->action_group, action, proxy);
}
/**
* _gtk_action_sync_menu_visible:
* @action: (allow-none): a #GtkAction, or %NULL to determine the action from @proxy
@ -887,23 +853,6 @@ _gtk_action_sync_menu_visible (GtkAction *action,
void
_gtk_action_emit_activate (GtkAction *action)
{
GtkActionGroup *group = action->private_data->action_group;
if (group != NULL)
{
g_object_ref (action);
g_object_ref (group);
_gtk_action_group_emit_pre_activate (group, action);
}
g_signal_emit (action, action_signals[ACTIVATE], 0);
if (group != NULL)
{
_gtk_action_group_emit_post_activate (group, action);
g_object_unref (group);
g_object_unref (action);
}
}
/**
@ -1140,9 +1089,7 @@ gtk_action_is_sensitive (GtkAction *action)
g_return_val_if_fail (GTK_IS_ACTION (action), FALSE);
priv = action->private_data;
return priv->sensitive &&
(priv->action_group == NULL ||
gtk_action_group_get_sensitive (priv->action_group));
return priv->sensitive;
}
/**
@ -1220,9 +1167,7 @@ gtk_action_is_visible (GtkAction *action)
g_return_val_if_fail (GTK_IS_ACTION (action), FALSE);
priv = action->private_data;
return priv->visible &&
(priv->action_group == NULL ||
gtk_action_group_get_visible (priv->action_group));
return priv->visible;
}
/**
@ -1837,17 +1782,6 @@ closure_accel_activate (GClosure *closure,
}
}
static void
gtk_action_set_action_group (GtkAction *action,
GtkActionGroup *action_group)
{
if (action->private_data->action_group == NULL)
g_return_if_fail (GTK_IS_ACTION_GROUP (action_group));
else
g_return_if_fail (action_group == NULL);
action->private_data->action_group = action_group;
}
/**
* gtk_action_set_accel_path:

File diff suppressed because it is too large Load Diff

View File

@ -1,270 +0,0 @@
/*
* GTK - The GIMP Toolkit
* Copyright (C) 1998, 1999 Red Hat, Inc.
* All rights reserved.
*
* This Library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This Library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
/*
* Author: James Henstridge <james@daa.com.au>
*
* Modified by the GTK+ Team and others 2003. See the AUTHORS
* file for a list of people on the GTK+ Team. See the ChangeLog
* files for a list of changes. These files are distributed with
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
#ifndef __GTK_ACTION_GROUP_H__
#define __GTK_ACTION_GROUP_H__
#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
#error "Only <gtk/gtk.h> can be included directly."
#endif
#include <gtk/deprecated/gtkaction.h>
G_BEGIN_DECLS
#define GTK_TYPE_ACTION_GROUP (gtk_action_group_get_type ())
#define GTK_ACTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_ACTION_GROUP, GtkActionGroup))
#define GTK_ACTION_GROUP_CLASS(vtable) (G_TYPE_CHECK_CLASS_CAST ((vtable), GTK_TYPE_ACTION_GROUP, GtkActionGroupClass))
#define GTK_IS_ACTION_GROUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_ACTION_GROUP))
#define GTK_IS_ACTION_GROUP_CLASS(vtable) (G_TYPE_CHECK_CLASS_TYPE ((vtable), GTK_TYPE_ACTION_GROUP))
#define GTK_ACTION_GROUP_GET_CLASS(inst) (G_TYPE_INSTANCE_GET_CLASS ((inst), GTK_TYPE_ACTION_GROUP, GtkActionGroupClass))
typedef struct _GtkActionGroup GtkActionGroup;
typedef struct _GtkActionGroupPrivate GtkActionGroupPrivate;
typedef struct _GtkActionGroupClass GtkActionGroupClass;
typedef struct _GtkActionEntry GtkActionEntry;
typedef struct _GtkToggleActionEntry GtkToggleActionEntry;
typedef struct _GtkRadioActionEntry GtkRadioActionEntry;
struct _GtkActionGroup
{
GObject parent;
/*< private >*/
GtkActionGroupPrivate *priv;
};
/**
* GtkActionGroupClass:
* @parent_class: The parent class.
* @get_action: Looks up an action in the action group by name.
*/
struct _GtkActionGroupClass
{
GObjectClass parent_class;
GtkAction *(* get_action) (GtkActionGroup *action_group,
const gchar *action_name);
/*< private >*/
/* Padding for future expansion */
void (*_gtk_reserved1) (void);
void (*_gtk_reserved2) (void);
void (*_gtk_reserved3) (void);
void (*_gtk_reserved4) (void);
};
/**
* GtkActionEntry:
* @name: The name of the action.
* @stock_id: The stock id for the action, or the name of an icon from the
* icon theme.
* @label: The label for the action. This field should typically be marked
* for translation, see gtk_action_group_set_translation_domain(). If
* @label is %NULL, the label of the stock item with id @stock_id is used.
* @accelerator: The accelerator for the action, in the format understood by
* gtk_accelerator_parse().
* @tooltip: The tooltip for the action. This field should typically be
* marked for translation, see gtk_action_group_set_translation_domain().
* @callback: The function to call when the action is activated.
*
* #GtkActionEntry structs are used with gtk_action_group_add_actions() to
* construct actions.
*
* Deprecated: 3.10
*/
struct _GtkActionEntry
{
const gchar *name;
const gchar *stock_id;
const gchar *label;
const gchar *accelerator;
const gchar *tooltip;
GCallback callback;
};
/**
* GtkToggleActionEntry:
* @name: The name of the action.
* @stock_id: The stock id for the action, or the name of an icon from the
* icon theme.
* @label: The label for the action. This field should typically be marked
* for translation, see gtk_action_group_set_translation_domain().
* @accelerator: The accelerator for the action, in the format understood by
* gtk_accelerator_parse().
* @tooltip: The tooltip for the action. This field should typically be
* marked for translation, see gtk_action_group_set_translation_domain().
* @callback: The function to call when the action is activated.
* @is_active: The initial state of the toggle action.
*
* #GtkToggleActionEntry structs are used with
* gtk_action_group_add_toggle_actions() to construct toggle actions.
*
* Deprecated: 3.10
*/
struct _GtkToggleActionEntry
{
const gchar *name;
const gchar *stock_id;
const gchar *label;
const gchar *accelerator;
const gchar *tooltip;
GCallback callback;
gboolean is_active;
};
/**
* GtkRadioActionEntry:
* @name: The name of the action.
* @stock_id: The stock id for the action, or the name of an icon from the
* icon theme.
* @label: The label for the action. This field should typically be marked
* for translation, see gtk_action_group_set_translation_domain().
* @accelerator: The accelerator for the action, in the format understood by
* gtk_accelerator_parse().
* @tooltip: The tooltip for the action. This field should typically be
* marked for translation, see gtk_action_group_set_translation_domain().
* @value: The value to set on the radio action. See
* gtk_radio_action_get_current_value().
*
* #GtkRadioActionEntry structs are used with
* gtk_action_group_add_radio_actions() to construct groups of radio actions.
*
* Deprecated: 3.10
*/
struct _GtkRadioActionEntry
{
const gchar *name;
const gchar *stock_id;
const gchar *label;
const gchar *accelerator;
const gchar *tooltip;
gint value;
};
GDK_DEPRECATED_IN_3_10
GType gtk_action_group_get_type (void) G_GNUC_CONST;
GDK_DEPRECATED_IN_3_10
GtkActionGroup *gtk_action_group_new (const gchar *name);
GDK_DEPRECATED_IN_3_10
const gchar *gtk_action_group_get_name (GtkActionGroup *action_group);
GDK_DEPRECATED_IN_3_10
gboolean gtk_action_group_get_sensitive (GtkActionGroup *action_group);
GDK_DEPRECATED_IN_3_10
void gtk_action_group_set_sensitive (GtkActionGroup *action_group,
gboolean sensitive);
GDK_DEPRECATED_IN_3_10
gboolean gtk_action_group_get_visible (GtkActionGroup *action_group);
GDK_DEPRECATED_IN_3_10
void gtk_action_group_set_visible (GtkActionGroup *action_group,
gboolean visible);
GDK_DEPRECATED_IN_3_10
GtkAccelGroup *gtk_action_group_get_accel_group (GtkActionGroup *action_group);
GDK_DEPRECATED_IN_3_10
void gtk_action_group_set_accel_group (GtkActionGroup *action_group,
GtkAccelGroup *accel_group);
GDK_DEPRECATED_IN_3_10
GtkAction *gtk_action_group_get_action (GtkActionGroup *action_group,
const gchar *action_name);
GDK_DEPRECATED_IN_3_10
GList *gtk_action_group_list_actions (GtkActionGroup *action_group);
GDK_DEPRECATED_IN_3_10
void gtk_action_group_add_action (GtkActionGroup *action_group,
GtkAction *action);
GDK_DEPRECATED_IN_3_10
void gtk_action_group_add_action_with_accel (GtkActionGroup *action_group,
GtkAction *action,
const gchar *accelerator);
GDK_DEPRECATED_IN_3_10
void gtk_action_group_remove_action (GtkActionGroup *action_group,
GtkAction *action);
GDK_DEPRECATED_IN_3_10
void gtk_action_group_add_actions (GtkActionGroup *action_group,
const GtkActionEntry *entries,
guint n_entries,
gpointer user_data);
GDK_DEPRECATED_IN_3_10
void gtk_action_group_add_toggle_actions (GtkActionGroup *action_group,
const GtkToggleActionEntry *entries,
guint n_entries,
gpointer user_data);
GDK_DEPRECATED_IN_3_10
void gtk_action_group_add_radio_actions (GtkActionGroup *action_group,
const GtkRadioActionEntry *entries,
guint n_entries,
gint value,
GCallback on_change,
gpointer user_data);
GDK_DEPRECATED_IN_3_10
void gtk_action_group_add_actions_full (GtkActionGroup *action_group,
const GtkActionEntry *entries,
guint n_entries,
gpointer user_data,
GDestroyNotify destroy);
GDK_DEPRECATED_IN_3_10
void gtk_action_group_add_toggle_actions_full (GtkActionGroup *action_group,
const GtkToggleActionEntry *entries,
guint n_entries,
gpointer user_data,
GDestroyNotify destroy);
GDK_DEPRECATED_IN_3_10
void gtk_action_group_add_radio_actions_full (GtkActionGroup *action_group,
const GtkRadioActionEntry *entries,
guint n_entries,
gint value,
GCallback on_change,
gpointer user_data,
GDestroyNotify destroy);
GDK_DEPRECATED_IN_3_10
void gtk_action_group_set_translate_func (GtkActionGroup *action_group,
gpointer data,
GDestroyNotify notify);
GDK_DEPRECATED_IN_3_10
void gtk_action_group_set_translation_domain (GtkActionGroup *action_group,
const gchar *domain);
GDK_DEPRECATED_IN_3_10
const gchar * gtk_action_group_translate_string (GtkActionGroup *action_group,
const gchar *string);
/* Protected for use by GtkAction */
void _gtk_action_group_emit_connect_proxy (GtkActionGroup *action_group,
GtkAction *action,
GtkWidget *proxy);
void _gtk_action_group_emit_disconnect_proxy (GtkActionGroup *action_group,
GtkAction *action,
GtkWidget *proxy);
void _gtk_action_group_emit_pre_activate (GtkActionGroup *action_group,
GtkAction *action);
void _gtk_action_group_emit_post_activate (GtkActionGroup *action_group,
GtkAction *action);
G_END_DECLS
#endif /* __GTK_ACTION_GROUP_H__ */

View File

@ -245,7 +245,6 @@
#ifndef GTK_DISABLE_DEPRECATED
#include <gtk/deprecated/gtkaction.h>
#include <gtk/deprecated/gtkactiongroup.h>
#include <gtk/deprecated/gtkgradient.h>
#include <gtk/deprecated/gtksymboliccolor.h>
#endif /* GTK_DISABLE_DEPRECATED */

View File

@ -124,7 +124,6 @@ noinst_PROGRAMS = $(TEST_PROGS) \
testverticalcells \
treestoretest \
testxinerama \
testactions \
testgrouping \
testtooltips \
testexpand \
@ -249,7 +248,6 @@ testtreesort_DEPENDENCIES = $(DEPS)
testverticalcells_DEPENDENCIES = $(DEPS)
treestoretest_DEPENDENCIES = $(TEST_DEPS)
testxinerama_DEPENDENCIES = $(TEST_DEPS)
testactions_DEPENDENCIES = $(TEST_DEPS)
testgrouping_DEPENDENCIES = $(TEST_DEPS)
testtooltips_DEPENDENCIES = $(TEST_DEPS)
testvolumebutton_DEPENDENCIES = $(TEST_DEPS)
@ -372,9 +370,6 @@ testprint_SOURCES = \
testspinbutton_SOURCES = \
testspinbutton.c
testactions_SOURCES = \
testactions.c
testbaseline_SOURCES = \
testbaseline.c

View File

@ -1,217 +0,0 @@
/* testactions.c
* Copyright (C) 2003 Matthias Clasen
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*/
#include "config.h"
#define GDK_DISABLE_DEPRECATION_WARNINGS
#include <gtk/gtk.h>
static GtkActionGroup *action_group = NULL;
static GtkToolbar *toolbar = NULL;
static void
activate_action (GtkAction *action)
{
const gchar *name = gtk_action_get_name (action);
const gchar *typename = G_OBJECT_TYPE_NAME (action);
g_message ("Action %s (type=%s) activated", name, typename);
}
static void
recent_action (GtkAction *action)
{
const gchar *name = gtk_action_get_name (action);
const gchar *typename = G_OBJECT_TYPE_NAME (action);
gchar *uri = gtk_recent_chooser_get_current_uri (GTK_RECENT_CHOOSER (action));
g_message ("Action %s (type=%s) activated (uri=%s)",
name, typename,
uri ? uri : "no item selected");
g_free (uri);
}
static void
toggle_cnp_actions (GtkAction *action)
{
gboolean sensitive = FALSE;
action = gtk_action_group_get_action (action_group, "cut");
g_object_set (action, "sensitive", sensitive, NULL);
action = gtk_action_group_get_action (action_group, "copy");
g_object_set (action, "sensitive", sensitive, NULL);
action = gtk_action_group_get_action (action_group, "paste");
g_object_set (action, "sensitive", sensitive, NULL);
action = gtk_action_group_get_action (action_group, "toggle-cnp");
if (sensitive)
g_object_set (action, "label", "Disable Cut and paste ops", NULL);
else
g_object_set (action, "label", "Enable Cut and paste ops", NULL);
}
static void
show_accel_dialog (GtkAction *action)
{
g_message ("Sorry, accel dialog not available");
}
static void
toolbar_size_small (GtkAction *action)
{
g_return_if_fail (toolbar != NULL);
gtk_toolbar_set_icon_size (toolbar, GTK_ICON_SIZE_SMALL_TOOLBAR);
}
static void
toolbar_size_large (GtkAction *action)
{
g_return_if_fail (toolbar != NULL);
gtk_toolbar_set_icon_size (toolbar, GTK_ICON_SIZE_LARGE_TOOLBAR);
}
/* convenience functions for declaring actions */
static GtkActionEntry entries[] = {
{ "Menu1Action", NULL, "Menu _1" },
{ "Menu2Action", NULL, "Menu _2" },
{ "Menu3Action", NULL, "_Dynamic Menu" },
{ "attach", "mail-attachment", "_Attachment...", "<Control>m",
"Attach a file", G_CALLBACK (activate_action) },
{ "cut", NULL, "C_ut", "<control>X",
"Cut the selected text to the clipboard", G_CALLBACK (activate_action) },
{ "copy", NULL, "_Copy", "<control>C",
"Copy the selected text to the clipboard", G_CALLBACK (activate_action) },
{ "paste", NULL, "_Paste", "<control>V",
"Paste the text from the clipboard", G_CALLBACK (activate_action) },
{ "quit", NULL, NULL, "<control>Q",
"Quit the application", G_CALLBACK (gtk_main_quit) },
{ "customise-accels", NULL, "Customise _Accels", NULL,
"Customise keyboard shortcuts", G_CALLBACK (show_accel_dialog) },
{ "toolbar-small-icons", NULL, "Small Icons", NULL,
NULL, G_CALLBACK (toolbar_size_small) },
{ "toolbar-large-icons", NULL, "Large Icons", NULL,
NULL, G_CALLBACK (toolbar_size_large) }
};
static guint n_entries = G_N_ELEMENTS (entries);
enum {
JUSTIFY_LEFT,
JUSTIFY_CENTER,
JUSTIFY_RIGHT,
JUSTIFY_FILL
};
/* XML description of the menus for the test app. The parser understands
* a subset of the Bonobo UI XML format, and uses GMarkup for parsing */
static const gchar *ui_info =
" <menubar>\n"
" <menu name=\"Menu _1\" action=\"Menu1Action\">\n"
" <menuitem name=\"cut\" action=\"cut\" />\n"
" <menuitem name=\"copy\" action=\"copy\" />\n"
" <menuitem name=\"paste\" action=\"paste\" />\n"
" <separator name=\"sep1\" />\n"
" <menuitem name=\"bold1\" action=\"bold\" />\n"
" <menuitem name=\"bold2\" action=\"bold\" />\n"
" <separator name=\"sep2\" />\n"
" <menuitem name=\"recent\" action=\"recent\" />\n"
" <separator name=\"sep3\" />\n"
" <menuitem name=\"toggle-cnp\" action=\"toggle-cnp\" />\n"
" <separator name=\"sep4\" />\n"
" <menuitem name=\"quit\" action=\"quit\" />\n"
" </menu>\n"
" <menu name=\"Menu _2\" action=\"Menu2Action\">\n"
" <menuitem name=\"cut\" action=\"cut\" />\n"
" <menuitem name=\"copy\" action=\"copy\" />\n"
" <menuitem name=\"paste\" action=\"paste\" />\n"
" <separator name=\"sep5\"/>\n"
" <menuitem name=\"bold\" action=\"bold\" />\n"
" <separator name=\"sep6\"/>\n"
" <menuitem name=\"justify-left\" action=\"justify-left\" />\n"
" <menuitem name=\"justify-center\" action=\"justify-center\" />\n"
" <menuitem name=\"justify-right\" action=\"justify-right\" />\n"
" <menuitem name=\"justify-fill\" action=\"justify-fill\" />\n"
" <separator name=\"sep7\"/>\n"
" <menuitem name=\"customise-accels\" action=\"customise-accels\" />\n"
" <separator name=\"sep8\"/>\n"
" <menuitem action=\"toolbar-icons\" />\n"
" <menuitem action=\"toolbar-text\" />\n"
" <menuitem action=\"toolbar-both\" />\n"
" <menuitem action=\"toolbar-both-horiz\" />\n"
" <separator name=\"sep9\"/>\n"
" <menuitem action=\"toolbar-small-icons\" />\n"
" <menuitem action=\"toolbar-large-icons\" />\n"
" </menu>\n"
" <menu name=\"DynamicMenu\" action=\"Menu3Action\" />\n"
" </menubar>\n"
" <toolbar name=\"toolbar\">\n"
" <toolitem name=\"attach\" action=\"attach\" />\n"
" <toolitem name=\"cut\" action=\"cut\" />\n"
" <toolitem name=\"copy\" action=\"copy\" />\n"
" <toolitem name=\"paste\" action=\"paste\" />\n"
" <toolitem name=\"recent\" action=\"recent\" />\n"
" <separator name=\"sep10\" />\n"
" <toolitem name=\"bold\" action=\"bold\" />\n"
" <separator name=\"sep11\" />\n"
" <toolitem name=\"justify-left\" action=\"justify-left\" />\n"
" <toolitem name=\"justify-center\" action=\"justify-center\" />\n"
" <toolitem name=\"justify-right\" action=\"justify-right\" />\n"
" <toolitem name=\"justify-fill\" action=\"justify-fill\" />\n"
" <separator name=\"sep12\"/>\n"
" <toolitem name=\"quit\" action=\"quit\" />\n"
" </toolbar>\n"
" <popup name=\"popup\">\n"
" <menuitem name=\"popcut\" action=\"cut\" />\n"
" <menuitem name=\"popcopy\" action=\"copy\" />\n"
" <menuitem name=\"poppaste\" action=\"paste\" />\n"
" </popup>\n";
static guint ui_id = 0;
static GtkActionGroup *dag = NULL;
static void
create_window (GtkActionGroup *action_group)
{
}
int
main (int argc, char **argv)
{
GtkAction *action;
gtk_init (&argc, &argv);
if (g_file_test ("accels", G_FILE_TEST_IS_REGULAR))
gtk_accel_map_load ("accels");
action_group = gtk_action_group_new ("TestActions");
gtk_action_group_add_actions (action_group,
entries, n_entries,
NULL);
create_window (action_group);
gtk_main ();
g_object_unref (action);
g_object_unref (action_group);
gtk_accel_map_save ("accels");
return 0;
}

View File

@ -800,159 +800,6 @@ new_pixbuf (char *filename,
return widget;
}
static void
set_toolbar_small_stock (GtkWidget *widget,
gpointer data)
{
gtk_toolbar_set_icon_size (GTK_TOOLBAR (data), GTK_ICON_SIZE_SMALL_TOOLBAR);
}
static void
set_toolbar_large_stock (GtkWidget *widget,
gpointer data)
{
gtk_toolbar_set_icon_size (GTK_TOOLBAR (data), GTK_ICON_SIZE_LARGE_TOOLBAR);
}
static void
set_toolbar_horizontal (GtkWidget *widget,
gpointer data)
{
gtk_orientable_set_orientation (GTK_ORIENTABLE (data), GTK_ORIENTATION_HORIZONTAL);
}
static void
set_toolbar_vertical (GtkWidget *widget,
gpointer data)
{
gtk_orientable_set_orientation (GTK_ORIENTABLE (data), GTK_ORIENTATION_VERTICAL);
}
static void
set_toolbar_icons (GtkWidget *widget,
gpointer data)
{
gtk_toolbar_set_style (GTK_TOOLBAR (data), GTK_TOOLBAR_ICONS);
}
static void
set_toolbar_text (GtkWidget *widget,
gpointer data)
{
gtk_toolbar_set_style (GTK_TOOLBAR (data), GTK_TOOLBAR_TEXT);
}
static void
set_toolbar_both (GtkWidget *widget,
gpointer data)
{
gtk_toolbar_set_style (GTK_TOOLBAR (data), GTK_TOOLBAR_BOTH);
}
static void
set_toolbar_both_horiz (GtkWidget *widget,
gpointer data)
{
gtk_toolbar_set_style (GTK_TOOLBAR (data), GTK_TOOLBAR_BOTH_HORIZ);
}
static GtkActionEntry create_toolbar_items[] = {
{ NULL, NULL, NULL, NULL, "Stock icon: New",
G_CALLBACK (set_toolbar_small_stock) },
{ NULL, NULL, NULL, NULL, "Stock icon: Open",
G_CALLBACK (set_toolbar_large_stock) },
{ NULL, NULL, "Horizontal", NULL, "Horizontal toolbar layout",
G_CALLBACK (set_toolbar_horizontal) },
{ NULL, NULL, "Vertical", NULL, "Vertical toolbar layout",
G_CALLBACK (set_toolbar_vertical) },
{ NULL },
{ NULL, NULL, "Icons", NULL, "Only show toolbar icons",
G_CALLBACK (set_toolbar_icons) },
{ NULL, NULL, "Text", NULL, "Only show toolbar text",
G_CALLBACK (set_toolbar_text) },
{ NULL, NULL, "Both", NULL, "Show toolbar icons and text",
G_CALLBACK (set_toolbar_both) },
{ NULL, NULL, "Both (horizontal)", NULL, "Show toolbar icons and text in a horizontal fashion",
G_CALLBACK (set_toolbar_both_horiz) },
{ NULL },
{ "entry", NULL, NULL, "This is an unusable GtkEntry ;)",
NULL },
{ NULL },
{ NULL },
{ NULL, NULL, "Frobate", NULL, "Frobate tooltip",
NULL },
{ NULL, NULL, "Baz", NULL, "Baz tooltip",
NULL },
{ NULL },
{ NULL, NULL, "Blah", NULL, "Blash tooltip",
NULL },
{ NULL, NULL, "Bar", NULL, "Bar tooltip",
NULL },
};
static void
create_toolbar (GtkWidget *widget)
{
static GtkWidget *window = NULL;
GtkWidget *toolbar;
if (!window)
{
guint i;
window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_screen (GTK_WINDOW (window),
gtk_widget_get_screen (widget));
gtk_window_set_title (GTK_WINDOW (window), "Toolbar test");
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_widget_destroyed),
&window);
gtk_widget_realize (window);
toolbar = gtk_toolbar_new ();
for (i = 0; i < G_N_ELEMENTS (create_toolbar_items); i++)
{
GtkToolItem *toolitem;
if (create_toolbar_items[i].tooltip == NULL)
toolitem = gtk_separator_tool_item_new ();
else if (g_strcmp0 (create_toolbar_items[i].name, "entry") == 0)
{
GtkWidget *entry;
toolitem = gtk_tool_item_new ();
entry = gtk_entry_new ();
gtk_container_add (GTK_CONTAINER (toolitem), entry);
}
else
{
GtkWidget *icon;
icon = new_pixbuf ("test.xpm", gtk_widget_get_window (window));
toolitem = gtk_tool_button_new (icon, create_toolbar_items[i].label);
}
if (create_toolbar_items[i].callback)
g_signal_connect (toolitem, "clicked",
create_toolbar_items[i].callback, toolbar);
gtk_tool_item_set_tooltip_text (toolitem, create_toolbar_items[i].tooltip);
gtk_toolbar_insert (GTK_TOOLBAR (toolbar), toolitem, -1);
}
gtk_container_add (GTK_CONTAINER (window), toolbar);
gtk_widget_set_size_request (toolbar, 200, -1);
}
if (!gtk_widget_get_visible (window))
gtk_widget_show_all (window);
else
gtk_widget_destroy (window);
}
/*
* GtkStatusBar
*/
@ -9023,7 +8870,6 @@ struct {
{ "test selection", create_selection_test },
{ "test timeout", create_timeout_test },
{ "toggle buttons", create_toggle_buttons },
{ "toolbar", create_toolbar },
{ "tooltips", create_tooltips },
{ "WM hints", create_wmhints },
{ "window sizing", create_window_sizing },

View File

@ -1961,32 +1961,6 @@ test_add_objects (void)
" </child>"
" </object>"
"<interface/>";
const gchar buffer2[] =
"<interface>"
" <object class=\"GtkLabel\" id=\"uimgr1\">"
" <child>"
" <object class=\"GtkActionGroup\" id=\"ag1\">"
" <child>"
" <object class=\"GtkAction\" id=\"file\">"
" <property name=\"label\">_File</property>"
" </object>"
" <accelerator key=\"n\" modifiers=\"GDK_CONTROL_MASK\"/>"
" </child>"
" </object>"
" </child>"
" <ui>"
" <menubar name=\"menubar1\">"
" <menu action=\"file\">"
" </menu>"
" </menubar>"
" </ui>"
" </object>"
" <object class=\"GtkWindow\" id=\"window1\">"
" <child>"
" <object class=\"GtkMenuBar\" id=\"menubar1\" constructor=\"uimgr1\"/>"
" </child>"
" </object>"
"</interface>";
error = NULL;
builder = gtk_builder_new ();

View File

@ -517,8 +517,7 @@ test_type (gconstpointer data)
continue;
/* Deprecated, not getting fixed */
if (g_str_equal (g_type_name (pspec->owner_type), "GtkActionGroup") ||
g_str_equal (g_type_name (pspec->owner_type), "GtkAction"))
if (g_str_equal (g_type_name (pspec->owner_type), "GtkAction"))
continue;
if (g_type_is_a (pspec->owner_type, GTK_TYPE_CONTAINER) &&

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkActionGroup" id="actiongroup1"/>
<object class="GtkWindow" id="window1">
<property name="width_request">20</property>
<property name="height_request">20</property>

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkActionGroup" id="actiongroup1"/>
<object class="GtkWindow" id="window1">
<property name="width_request">20</property>
<property name="height_request">20</property>

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkActionGroup" id="actiongroup1"/>
<object class="GtkWindow" id="window1">
<property name="width_request">10</property>
<property name="height_request">10</property>

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<interface>
<!-- interface-requires gtk+ 3.0 -->
<object class="GtkActionGroup" id="actiongroup1"/>
<object class="GtkWindow" id="window1">
<property name="width_request">10</property>
<property name="height_request">10</property>