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_drawable_tree_view_constructed (GObject *object) { GimpContainerTreeView *tree_view = GIMP_CONTAINER_TREE_VIEW (object); GimpItemTreeView *item_view = GIMP_ITEM_TREE_VIEW (object); G_OBJECT_CLASS (parent_class)->constructed (object); gimp_dnd_viewable_dest_add (gimp_item_tree_view_get_new_button (item_view), GIMP_TYPE_PATTERN, gimp_drawable_tree_view_new_pattern_dropped, item_view); gimp_dnd_color_dest_add (gimp_item_tree_view_get_new_button (item_view), gimp_drawable_tree_view_new_color_dropped, item_view); gimp_dnd_color_dest_add (GTK_WIDGET (tree_view->view), NULL, tree_view); gimp_dnd_viewable_dest_add (GTK_WIDGET (tree_view->view), GIMP_TYPE_PATTERN, NULL, tree_view); }
static void gimp_palette_view_set_viewable (GimpView *view, GimpViewable *old_viewable, GimpViewable *new_viewable) { GimpPaletteView *pal_view = GIMP_PALETTE_VIEW (view); pal_view->dnd_entry = NULL; gimp_palette_view_select_entry (pal_view, NULL); if (old_viewable) { g_signal_handlers_disconnect_by_func (old_viewable, gimp_palette_view_invalidate, view); if (! new_viewable) { gimp_dnd_color_source_remove (GTK_WIDGET (view)); gimp_dnd_color_dest_remove (GTK_WIDGET (view)); } } GIMP_VIEW_CLASS (parent_class)->set_viewable (view, old_viewable, new_viewable); if (new_viewable) { g_signal_connect (new_viewable, "invalidate-preview", G_CALLBACK (gimp_palette_view_invalidate), view); /* unset the palette drag handler set by GimpView */ gimp_dnd_viewable_source_remove (GTK_WIDGET (view), GIMP_TYPE_PALETTE); if (! old_viewable) { gimp_dnd_color_source_add (GTK_WIDGET (view), gimp_palette_view_drag_color, view); gimp_dnd_color_dest_add (GTK_WIDGET (view), gimp_palette_view_drop_color, view); } } }
void gimp_display_shell_dnd_init (GimpDisplayShell *shell) { g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell)); gimp_dnd_uri_list_dest_add (shell->canvas, gimp_display_shell_drop_uri_list, shell); gimp_dnd_viewable_dest_add (shell->canvas, GIMP_TYPE_LAYER, gimp_display_shell_drop_drawable, shell); gimp_dnd_viewable_dest_add (shell->canvas, GIMP_TYPE_LAYER_MASK, gimp_display_shell_drop_drawable, shell); gimp_dnd_viewable_dest_add (shell->canvas, GIMP_TYPE_CHANNEL, gimp_display_shell_drop_drawable, shell); gimp_dnd_viewable_dest_add (shell->canvas, GIMP_TYPE_VECTORS, gimp_display_shell_drop_vectors, shell); gimp_dnd_viewable_dest_add (shell->canvas, GIMP_TYPE_PATTERN, gimp_display_shell_drop_pattern, shell); gimp_dnd_viewable_dest_add (shell->canvas, GIMP_TYPE_BUFFER, gimp_display_shell_drop_buffer, shell); gimp_dnd_color_dest_add (shell->canvas, gimp_display_shell_drop_color, shell); gimp_dnd_svg_dest_add (shell->canvas, gimp_display_shell_drop_svg, shell); gimp_dnd_component_dest_add (shell->canvas, gimp_display_shell_drop_component, shell); gimp_dnd_pixbuf_dest_add (shell->canvas, gimp_display_shell_drop_pixbuf, shell); }
static void gimp_palette_editor_init (GimpPaletteEditor *editor) { GimpDataEditor *data_editor = GIMP_DATA_EDITOR (editor); GtkWidget *hbox; GtkWidget *label; GtkWidget *spinbutton; editor->zoom_factor = 1.0; editor->col_width = 0; editor->last_width = 0; editor->columns = COLUMNS; data_editor->view = gtk_scrolled_window_new (NULL, NULL); gtk_widget_set_size_request (data_editor->view, -1, PREVIEW_HEIGHT); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (data_editor->view), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); gtk_box_pack_start (GTK_BOX (editor), data_editor->view, TRUE, TRUE, 0); gtk_widget_show (data_editor->view); editor->view = gimp_view_new_full_by_types (NULL, GIMP_TYPE_PALETTE_VIEW, GIMP_TYPE_PALETTE, PREVIEW_WIDTH, PREVIEW_HEIGHT, 0, FALSE, TRUE, FALSE); gimp_view_renderer_palette_set_cell_size (GIMP_VIEW_RENDERER_PALETTE (GIMP_VIEW (editor->view)->renderer), -1); gimp_view_renderer_palette_set_draw_grid (GIMP_VIEW_RENDERER_PALETTE (GIMP_VIEW (editor->view)->renderer), TRUE); gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (data_editor->view), editor->view); gtk_widget_show (editor->view); g_signal_connect (gtk_widget_get_parent (editor->view), "size-allocate", G_CALLBACK (palette_editor_viewport_size_allocate), editor); g_signal_connect (editor->view, "entry-clicked", G_CALLBACK (palette_editor_entry_clicked), editor); g_signal_connect (editor->view, "entry-selected", G_CALLBACK (palette_editor_entry_selected), editor); g_signal_connect (editor->view, "entry-activated", G_CALLBACK (palette_editor_entry_activated), editor); g_signal_connect (editor->view, "entry-context", G_CALLBACK (palette_editor_entry_context), editor); g_signal_connect (editor->view, "color-dropped", G_CALLBACK (palette_editor_color_dropped), editor); gimp_dnd_viewable_dest_add (editor->view, GIMP_TYPE_PALETTE, palette_editor_drop_palette, editor); gimp_dnd_viewable_dest_add (gtk_widget_get_parent (editor->view), GIMP_TYPE_PALETTE, palette_editor_drop_palette, editor); gimp_dnd_color_dest_add (gtk_widget_get_parent (editor->view), palette_editor_drop_color, editor); hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 2); gtk_box_pack_start (GTK_BOX (editor), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); /* The color name entry */ editor->color_name = gtk_entry_new (); gtk_box_pack_start (GTK_BOX (hbox), editor->color_name, TRUE, TRUE, 0); gtk_entry_set_text (GTK_ENTRY (editor->color_name), _("Undefined")); gtk_editable_set_editable (GTK_EDITABLE (editor->color_name), FALSE); gtk_widget_show (editor->color_name); g_signal_connect (editor->color_name, "changed", G_CALLBACK (palette_editor_color_name_changed), editor); label = gtk_label_new (_("Columns:")); gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0); gtk_widget_show (label); editor->columns_adj = (GtkAdjustment *) gtk_adjustment_new (0, 0, 64, 1, 4, 0); spinbutton = gtk_spin_button_new (editor->columns_adj, 1.0, 0); gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton), TRUE); gtk_box_pack_start (GTK_BOX (hbox), spinbutton, FALSE, FALSE, 0); gtk_widget_show (spinbutton); g_signal_connect (editor->columns_adj, "value-changed", G_CALLBACK (palette_editor_columns_changed), editor); }