+static void
+gtk_switch_set_action_name (GtkActionable *actionable,
+ const gchar *action_name)
+{
+ GtkSwitch *sw = GTK_SWITCH (actionable);
+
+ if (!sw->priv->action_helper)
+ sw->priv->action_helper = gtk_action_helper_new (actionable);
+
+ gtk_action_helper_set_action_name (sw->priv->action_helper, action_name);
+}
+
+static void
+gtk_switch_set_action_target_value (GtkActionable *actionable,
+ GVariant *action_target)
+{
+ GtkSwitch *sw = GTK_SWITCH (actionable);
+
+ if (!sw->priv->action_helper)
+ sw->priv->action_helper = gtk_action_helper_new (actionable);
+
+ gtk_action_helper_set_action_target_value (sw->priv->action_helper, action_target);
+}
+
+static const gchar *
+gtk_switch_get_action_name (GtkActionable *actionable)
+{
+ GtkSwitch *sw = GTK_SWITCH (actionable);
+
+ return gtk_action_helper_get_action_name (sw->priv->action_helper);
+}
+
+static GVariant *
+gtk_switch_get_action_target_value (GtkActionable *actionable)
+{
+ GtkSwitch *sw = GTK_SWITCH (actionable);
+
+ return gtk_action_helper_get_action_target_value (sw->priv->action_helper);
+}
+
+static void
+gtk_switch_actionable_iface_init (GtkActionableInterface *iface)
+{
+ iface->get_action_name = gtk_switch_get_action_name;
+ iface->set_action_name = gtk_switch_set_action_name;
+ iface->get_action_target_value = gtk_switch_get_action_target_value;
+ iface->set_action_target_value = gtk_switch_set_action_target_value;
+}
+