static void gimp_component_editor_class_init (GimpComponentEditorClass *klass) { GimpImageEditorClass *image_editor_class = GIMP_IMAGE_EDITOR_CLASS (klass); image_editor_class->set_image = gimp_component_editor_set_image; }
static void gimp_selection_editor_set_image (GimpImageEditor *image_editor, GimpImage *image) { GimpSelectionEditor *editor = GIMP_SELECTION_EDITOR (image_editor); if (image_editor->image) { g_signal_handlers_disconnect_by_func (image_editor->image, gimp_selection_editor_mask_changed, editor); } GIMP_IMAGE_EDITOR_CLASS (parent_class)->set_image (image_editor, image); if (image) { g_signal_connect (image, "mask-changed", G_CALLBACK (gimp_selection_editor_mask_changed), editor); gimp_view_set_viewable (GIMP_VIEW (editor->view), GIMP_VIEWABLE (gimp_image_get_mask (image))); } else { gimp_view_set_viewable (GIMP_VIEW (editor->view), NULL); } }
static void gimp_histogram_editor_class_init (GimpHistogramEditorClass *klass) { GimpImageEditorClass *image_editor_class = GIMP_IMAGE_EDITOR_CLASS (klass); image_editor_class->set_image = gimp_histogram_editor_set_image; }
static void gimp_histogram_editor_set_image (GimpImageEditor *image_editor, GimpImage *image) { GimpHistogramEditor *editor = GIMP_HISTOGRAM_EDITOR (image_editor); GimpHistogramView *view = GIMP_HISTOGRAM_BOX (editor->box)->view; if (image_editor->image) { if (editor->idle_id) { g_source_remove (editor->idle_id); editor->idle_id = 0; } g_signal_handlers_disconnect_by_func (image_editor->image, gimp_histogram_editor_layer_changed, editor); g_signal_handlers_disconnect_by_func (image_editor->image, gimp_histogram_editor_menu_update, editor); if (editor->histogram) { gimp_histogram_unref (editor->histogram); editor->histogram = NULL; gimp_histogram_view_set_histogram (view, NULL); } if (editor->bg_histogram) { gimp_histogram_unref (editor->bg_histogram); editor->bg_histogram = NULL; gimp_histogram_view_set_background (view, NULL); } } GIMP_IMAGE_EDITOR_CLASS (parent_class)->set_image (image_editor, image); if (image) { editor->histogram = gimp_histogram_new (); gimp_histogram_view_set_histogram (view, editor->histogram); g_signal_connect_object (image, "mode-changed", G_CALLBACK (gimp_histogram_editor_menu_update), editor, G_CONNECT_SWAPPED); g_signal_connect_object (image, "active-layer-changed", G_CALLBACK (gimp_histogram_editor_layer_changed), editor, 0); g_signal_connect_object (image, "mask-changed", G_CALLBACK (gimp_histogram_editor_update), editor, G_CONNECT_SWAPPED); } gimp_histogram_editor_layer_changed (image, editor); }
static void gimp_selection_editor_class_init (GimpSelectionEditorClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GimpImageEditorClass *image_editor_class = GIMP_IMAGE_EDITOR_CLASS (klass); object_class->constructor = gimp_selection_editor_constructor; image_editor_class->set_image = gimp_selection_editor_set_image; }
static void gimp_sample_point_editor_set_image (GimpImageEditor *image_editor, GimpImage *image) { GimpSamplePointEditor *editor = GIMP_SAMPLE_POINT_EDITOR (image_editor); if (image_editor->image) { g_signal_handlers_disconnect_by_func (image_editor->image, gimp_sample_point_editor_point_added, editor); g_signal_handlers_disconnect_by_func (image_editor->image, gimp_sample_point_editor_point_removed, editor); g_signal_handlers_disconnect_by_func (image_editor->image, gimp_sample_point_editor_point_moved, editor); g_signal_handlers_disconnect_by_func (gimp_image_get_projection (image_editor->image), gimp_sample_point_editor_proj_update, editor); } GIMP_IMAGE_EDITOR_CLASS (parent_class)->set_image (image_editor, image); if (image) { g_signal_connect (image, "sample-point-added", G_CALLBACK (gimp_sample_point_editor_point_added), editor); g_signal_connect (image, "sample-point-removed", G_CALLBACK (gimp_sample_point_editor_point_removed), editor); g_signal_connect (image, "sample-point-moved", G_CALLBACK (gimp_sample_point_editor_point_moved), editor); g_signal_connect (gimp_image_get_projection (image), "update", G_CALLBACK (gimp_sample_point_editor_proj_update), editor); } gimp_sample_point_editor_points_changed (editor); }
static void gimp_component_editor_set_image (GimpImageEditor *editor, GimpImage *image) { GimpComponentEditor *component_editor = GIMP_COMPONENT_EDITOR (editor); if (editor->image) { gimp_component_editor_clear_components (component_editor); g_signal_handlers_disconnect_by_func (editor->image, gimp_component_editor_mode_changed, component_editor); g_signal_handlers_disconnect_by_func (editor->image, gimp_component_editor_alpha_changed, component_editor); g_signal_handlers_disconnect_by_func (editor->image, gimp_component_editor_visibility_changed, component_editor); g_signal_handlers_disconnect_by_func (editor->image, gimp_component_editor_active_changed, component_editor); } GIMP_IMAGE_EDITOR_CLASS (parent_class)->set_image (editor, image); if (editor->image) { gimp_component_editor_create_components (component_editor); g_signal_connect (editor->image, "mode-changed", G_CALLBACK (gimp_component_editor_mode_changed), component_editor); g_signal_connect (editor->image, "alpha-changed", G_CALLBACK (gimp_component_editor_alpha_changed), component_editor); g_signal_connect (editor->image, "component-visibility-changed", G_CALLBACK (gimp_component_editor_visibility_changed), component_editor); g_signal_connect (editor->image, "component-active-changed", G_CALLBACK (gimp_component_editor_active_changed), component_editor); } }
static void gimp_sample_point_editor_class_init (GimpSamplePointEditorClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass); GimpImageEditorClass *image_editor_class = GIMP_IMAGE_EDITOR_CLASS (klass); object_class->constructed = gimp_sample_point_editor_constructed; object_class->dispose = gimp_sample_point_editor_dispose; object_class->get_property = gimp_sample_point_editor_get_property; object_class->set_property = gimp_sample_point_editor_set_property; widget_class->style_set = gimp_sample_point_editor_style_set; image_editor_class->set_image = gimp_sample_point_editor_set_image; g_object_class_install_property (object_class, PROP_SAMPLE_MERGED, g_param_spec_boolean ("sample-merged", NULL, NULL, TRUE, GIMP_PARAM_READWRITE | G_PARAM_CONSTRUCT)); }