static GObject * gimp_vectors_tree_view_constructor (GType type, guint n_params, GObjectConstructParam *params) { GObject *object; GimpEditor *editor; GimpContainerTreeView *tree_view; GimpVectorsTreeView *view; object = G_OBJECT_CLASS (parent_class)->constructor (type, n_params, params); editor = GIMP_EDITOR (object); tree_view = GIMP_CONTAINER_TREE_VIEW (object); view = GIMP_VECTORS_TREE_VIEW (object); /* hide basically useless edit button */ gtk_widget_hide (GIMP_ITEM_TREE_VIEW (view)->edit_button); view->toselection_button = gimp_editor_add_action_button (editor, "vectors", "vectors-selection-replace", "vectors-selection-add", GDK_SHIFT_MASK, "vectors-selection-subtract", GDK_CONTROL_MASK, "vectors-selection-intersect", GDK_SHIFT_MASK | GDK_CONTROL_MASK, NULL); gimp_container_view_enable_dnd (GIMP_CONTAINER_VIEW (editor), GTK_BUTTON (view->toselection_button), GIMP_TYPE_VECTORS); gtk_box_reorder_child (GTK_BOX (editor->button_box), view->toselection_button, 5); view->tovectors_button = gimp_editor_add_action_button (editor, "vectors", "vectors-selection-to-vectors", "vectors-selection-to-vectors-advanced", GDK_SHIFT_MASK, NULL); gtk_box_reorder_child (GTK_BOX (editor->button_box), view->tovectors_button, 6); view->stroke_button = gimp_editor_add_action_button (editor, "vectors", "vectors-stroke", "vectors-stroke-last-values", GDK_SHIFT_MASK, NULL); gimp_container_view_enable_dnd (GIMP_CONTAINER_VIEW (editor), GTK_BUTTON (view->stroke_button), GIMP_TYPE_VECTORS); gtk_box_reorder_child (GTK_BOX (editor->button_box), view->stroke_button, 7); gimp_dnd_svg_dest_add (GTK_WIDGET (tree_view->view), NULL, view); return object; }
static void gimp_vectors_tree_view_constructed (GObject *object) { GimpEditor *editor = GIMP_EDITOR (object); GimpContainerTreeView *tree_view = GIMP_CONTAINER_TREE_VIEW (object); GimpVectorsTreeView *view = GIMP_VECTORS_TREE_VIEW (object); GdkModifierType extend_mask; GdkModifierType modify_mask; G_OBJECT_CLASS (parent_class)->constructed (object); extend_mask = gtk_widget_get_modifier_mask (GTK_WIDGET (object), GDK_MODIFIER_INTENT_EXTEND_SELECTION); modify_mask = gtk_widget_get_modifier_mask (GTK_WIDGET (object), GDK_MODIFIER_INTENT_MODIFY_SELECTION); /* hide basically useless edit button */ gtk_widget_hide (gimp_item_tree_view_get_edit_button (GIMP_ITEM_TREE_VIEW (view))); view->toselection_button = gimp_editor_add_action_button (editor, "vectors", "vectors-selection-replace", "vectors-selection-add", extend_mask, "vectors-selection-subtract", modify_mask, "vectors-selection-intersect", extend_mask | modify_mask, NULL); gimp_container_view_enable_dnd (GIMP_CONTAINER_VIEW (editor), GTK_BUTTON (view->toselection_button), GIMP_TYPE_VECTORS); gtk_box_reorder_child (gimp_editor_get_button_box (editor), view->toselection_button, 5); view->tovectors_button = gimp_editor_add_action_button (editor, "vectors", "vectors-selection-to-vectors", "vectors-selection-to-vectors-advanced", GDK_SHIFT_MASK, NULL); gtk_box_reorder_child (gimp_editor_get_button_box (editor), view->tovectors_button, 6); view->stroke_button = gimp_editor_add_action_button (editor, "vectors", "vectors-stroke", "vectors-stroke-last-values", GDK_SHIFT_MASK, NULL); gimp_container_view_enable_dnd (GIMP_CONTAINER_VIEW (editor), GTK_BUTTON (view->stroke_button), GIMP_TYPE_VECTORS); gtk_box_reorder_child (gimp_editor_get_button_box (editor), view->stroke_button, 7); gimp_dnd_svg_dest_add (GTK_WIDGET (tree_view->view), NULL, 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); }