static void gimp_action_connect_proxy (GtkAction *action, GtkWidget *proxy) { GTK_ACTION_CLASS (parent_class)->connect_proxy (action, proxy); gimp_action_set_proxy (GIMP_ACTION (action), proxy); gimp_action_set_proxy_tooltip (GIMP_ACTION (action), proxy); }
static void gimp_action_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GimpAction *action = GIMP_ACTION (object); switch (prop_id) { case PROP_CONTEXT: g_value_set_object (value, action->context); break; case PROP_COLOR: g_value_set_boxed (value, action->color); break; case PROP_VIEWABLE: g_value_set_object (value, action->viewable); break; case PROP_ELLIPSIZE: g_value_set_enum (value, action->ellipsize); break; case PROP_MAX_WIDTH_CHARS: g_value_set_int (value, action->max_width_chars); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } }
static void gimp_action_finalize (GObject *object) { GimpAction *action = GIMP_ACTION (object); if (action->context) { g_object_unref (action->context); action->context = NULL; } if (action->color) { g_free (action->color); action->color = NULL; } if (action->viewable) { g_object_unref (action->viewable); action->viewable = NULL; } G_OBJECT_CLASS (parent_class)->finalize (object); }
static void gimp_action_set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) { GimpAction *action = GIMP_ACTION (object); gboolean set_proxy = FALSE; switch (prop_id) { case PROP_CONTEXT: if (action->context) g_object_unref (action->context); action->context = g_value_dup_object (value); break; case PROP_COLOR: if (action->color) g_free (action->color); action->color = g_value_dup_boxed (value); set_proxy = TRUE; break; case PROP_VIEWABLE: if (action->viewable) g_object_unref (action->viewable); action->viewable = g_value_dup_object (value); set_proxy = TRUE; break; case PROP_ELLIPSIZE: action->ellipsize = g_value_get_enum (value); set_proxy = TRUE; break; case PROP_MAX_WIDTH_CHARS: action->max_width_chars = g_value_get_int (value); set_proxy = TRUE; break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } if (set_proxy) { GSList *list; for (list = gtk_action_get_proxies (GTK_ACTION (action)); list; list = g_slist_next (list)) { gimp_action_set_proxy (action, list->data); } } }
static void gimp_action_constructed (GObject *object) { GimpAction *action = GIMP_ACTION (object); g_signal_connect (action, "activate", (GCallback) gimp_action_history_activate_callback, NULL); }
void channels_new_last_vals_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GimpChannel *new_channel; gint width, height; GimpRGB color; return_if_no_image (image, data); if (GIMP_IS_CHANNEL (GIMP_ACTION (action)->viewable)) { GimpChannel *template = GIMP_CHANNEL (GIMP_ACTION (action)->viewable);
void channels_new_last_vals_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GimpChannel *new_channel; gint width, height; GimpRGB color; GimpDialogConfig *config; return_if_no_image (image, data); config = GIMP_DIALOG_CONFIG (image->gimp->config); if (GIMP_IS_CHANNEL (GIMP_ACTION (action)->viewable)) { GimpChannel *template = GIMP_CHANNEL (GIMP_ACTION (action)->viewable);
void layers_new_last_vals_cmd_callback (GtkAction *action, gpointer data) { GimpImage *image; GtkWidget *widget; GimpLayer *floating_sel; GimpLayer *new_layer; gint width, height; gint off_x, off_y; gdouble opacity; GimpLayerModeEffects mode; return_if_no_image (image, data); return_if_no_widget (widget, data); /* If there is a floating selection, the new command transforms * the current fs into a new layer */ if ((floating_sel = gimp_image_get_floating_selection (image))) { GError *error = NULL; if (! floating_sel_to_layer (floating_sel, &error)) { gimp_message_literal (image->gimp, G_OBJECT (widget), GIMP_MESSAGE_WARNING, error->message); g_clear_error (&error); return; } gimp_image_flush (image); return; } if (GIMP_IS_LAYER (GIMP_ACTION (action)->viewable)) { GimpLayer *template = GIMP_LAYER (GIMP_ACTION (action)->viewable);