static void gimp_selection_editor_init (GimpSelectionEditor *editor) { GtkWidget *frame; frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); gtk_box_pack_start (GTK_BOX (editor), frame, TRUE, TRUE, 0); gtk_widget_show (frame); editor->view = gimp_view_new_by_types (NULL, GIMP_TYPE_VIEW, GIMP_TYPE_SELECTION, GIMP_VIEW_SIZE_HUGE, 0, TRUE); gimp_view_renderer_set_background (GIMP_VIEW (editor->view)->renderer, GIMP_STOCK_TEXTURE); gtk_widget_set_size_request (editor->view, GIMP_VIEW_SIZE_HUGE, GIMP_VIEW_SIZE_HUGE); gimp_view_set_expand (GIMP_VIEW (editor->view), TRUE); gtk_container_add (GTK_CONTAINER (frame), editor->view); gtk_widget_show (editor->view); g_signal_connect (editor->view, "button-press-event", G_CALLBACK (gimp_selection_view_button_press), editor); gimp_dnd_color_dest_add (editor->view, gimp_selection_editor_drop_color, editor); gtk_widget_set_sensitive (GTK_WIDGET (editor), FALSE); }
static void gimp_navigation_editor_init (GimpNavigationEditor *editor) { GtkWidget *frame; editor->context = NULL; editor->shell = NULL; editor->scale_timeout = 0; frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN); gtk_box_pack_start (GTK_BOX (editor), frame, TRUE, TRUE, 0); gtk_widget_show (frame); editor->view = gimp_view_new_by_types (NULL, GIMP_TYPE_NAVIGATION_VIEW, GIMP_TYPE_IMAGE, GIMP_VIEW_SIZE_MEDIUM, 0, TRUE); gtk_container_add (GTK_CONTAINER (frame), editor->view); gtk_widget_show (editor->view); g_signal_connect (editor->view, "marker-changed", G_CALLBACK (gimp_navigation_editor_marker_changed), editor); g_signal_connect (editor->view, "zoom", G_CALLBACK (gimp_navigation_editor_zoom), editor); g_signal_connect (editor->view, "scroll", G_CALLBACK (gimp_navigation_editor_scroll), editor); gtk_widget_set_sensitive (GTK_WIDGET (editor), FALSE); }
GtkWidget * gimp_view_new (GimpContext *context, GimpViewable *viewable, gint size, gint border_width, gboolean is_popup) { GtkWidget *view; g_return_val_if_fail (context == NULL || GIMP_IS_CONTEXT (context), NULL); g_return_val_if_fail (GIMP_IS_VIEWABLE (viewable), NULL); view = gimp_view_new_by_types (context, GIMP_TYPE_VIEW, G_TYPE_FROM_INSTANCE (viewable), size, border_width, is_popup); if (view) gimp_view_set_viewable (GIMP_VIEW (view), viewable); gimp_view_renderer_remove_idle (GIMP_VIEW (view)->renderer); return view; }
static LayerSelect * layer_select_new (GimpImage *image, GimpLayer *layer, gint view_size) { LayerSelect *layer_select; GtkWidget *frame1; GtkWidget *frame2; GtkWidget *hbox; GtkWidget *alignment; layer_select = g_slice_new0 (LayerSelect); layer_select->image = image; layer_select->orig_layer = layer; layer_select->window = gtk_window_new (GTK_WINDOW_POPUP); gtk_window_set_role (GTK_WINDOW (layer_select->window), "gimp-layer-select"); gtk_window_set_title (GTK_WINDOW (layer_select->window), _("Layer Select")); gtk_window_set_position (GTK_WINDOW (layer_select->window), GTK_WIN_POS_MOUSE); gtk_widget_set_events (layer_select->window, GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK | GDK_BUTTON_PRESS_MASK); g_signal_connect (layer_select->window, "event", G_CALLBACK (layer_select_events), layer_select); frame1 = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_OUT); gtk_container_add (GTK_CONTAINER (layer_select->window), frame1); gtk_widget_show (frame1); frame2 = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame2), GTK_SHADOW_IN); gtk_container_add (GTK_CONTAINER (frame1), frame2); gtk_widget_show (frame2); hbox = gtk_hbox_new (FALSE, 6); gtk_container_set_border_width (GTK_CONTAINER (hbox), 6); gtk_container_add (GTK_CONTAINER (frame2), hbox); gtk_widget_show (hbox); /* The view */ alignment = gtk_alignment_new (0.5, 0.5, 0.0, 0.0); gtk_box_pack_start (GTK_BOX (hbox), alignment, FALSE, FALSE, 0); gtk_widget_show (alignment); layer_select->view = gimp_view_new_by_types (gimp_get_user_context (image->gimp), GIMP_TYPE_VIEW, GIMP_TYPE_LAYER, view_size, 1, FALSE); gimp_view_set_viewable (GIMP_VIEW (layer_select->view), GIMP_VIEWABLE (layer)); gtk_container_add (GTK_CONTAINER (alignment), layer_select->view); gtk_widget_show (layer_select->view); gtk_widget_show (alignment); /* the layer name label */ layer_select->label = gtk_label_new (gimp_object_get_name (layer)); gtk_box_pack_start (GTK_BOX (hbox), layer_select->label, FALSE, FALSE, 0); gtk_widget_show (layer_select->label); return layer_select; }