70
static GimpItemTreeViewClass *parent_class = NULL;
67
G_DEFINE_TYPE_WITH_CODE (GimpVectorsTreeView, gimp_vectors_tree_view,
68
GIMP_TYPE_ITEM_TREE_VIEW,
69
G_IMPLEMENT_INTERFACE (GIMP_TYPE_CONTAINER_VIEW,
70
gimp_vectors_tree_view_view_iface_init))
72
#define parent_class gimp_vectors_tree_view_parent_class
71
74
static GimpContainerViewInterface *parent_view_iface = NULL;
75
gimp_vectors_tree_view_get_type (void)
77
static GType view_type = 0;
81
static const GTypeInfo view_info =
83
sizeof (GimpVectorsTreeViewClass),
85
NULL, /* base_finalize */
86
(GClassInitFunc) gimp_vectors_tree_view_class_init,
87
NULL, /* class_finalize */
88
NULL, /* class_data */
89
sizeof (GimpVectorsTreeView),
91
(GInstanceInitFunc) gimp_vectors_tree_view_init,
94
static const GInterfaceInfo view_iface_info =
96
(GInterfaceInitFunc) gimp_vectors_tree_view_view_iface_init,
97
NULL, /* iface_finalize */
101
view_type = g_type_register_static (GIMP_TYPE_ITEM_TREE_VIEW,
102
"GimpVectorsTreeView",
105
g_type_add_interface_static (view_type, GIMP_TYPE_CONTAINER_VIEW,
113
78
gimp_vectors_tree_view_class_init (GimpVectorsTreeViewClass *klass)
115
GObjectClass *object_class;
116
GimpContainerTreeViewClass *view_class;
117
GimpItemTreeViewClass *item_view_class;
119
object_class = G_OBJECT_CLASS (klass);
120
view_class = GIMP_CONTAINER_TREE_VIEW_CLASS (klass);
121
item_view_class = GIMP_ITEM_TREE_VIEW_CLASS (klass);
123
parent_class = g_type_class_peek_parent (klass);
125
object_class->constructor = gimp_vectors_tree_view_constructor;
127
view_class->drop_svg = gimp_vectors_tree_view_drop_svg;
129
item_view_class->item_type = GIMP_TYPE_VECTORS;
130
item_view_class->signal_name = "active-vectors-changed";
132
item_view_class->get_container = gimp_image_get_vectors;
133
item_view_class->get_active_item = (GimpGetItemFunc) gimp_image_get_active_vectors;
134
item_view_class->set_active_item = (GimpSetItemFunc) gimp_image_set_active_vectors;
135
item_view_class->reorder_item = (GimpReorderItemFunc) gimp_image_position_vectors;
136
item_view_class->add_item = (GimpAddItemFunc) gimp_image_add_vectors;
137
item_view_class->remove_item = (GimpRemoveItemFunc) gimp_image_remove_vectors;
138
item_view_class->new_item = gimp_vectors_tree_view_item_new;
140
item_view_class->action_group = "vectors";
141
item_view_class->activate_action = "vectors-path-tool";
142
item_view_class->edit_action = "vectors-edit-attributes";
143
item_view_class->new_action = "vectors-new";
144
item_view_class->new_default_action = "vectors-new-last-values";
145
item_view_class->raise_action = "vectors-raise";
146
item_view_class->raise_top_action = "vectors-raise-to-top";
147
item_view_class->lower_action = "vectors-lower";
148
item_view_class->lower_bottom_action = "vectors-lower-to-bottom";
149
item_view_class->duplicate_action = "vectors-duplicate";
150
item_view_class->delete_action = "vectors-delete";
151
item_view_class->reorder_desc = _("Reorder path");
80
GObjectClass *object_class = G_OBJECT_CLASS (klass);
81
GimpContainerTreeViewClass *view_class = GIMP_CONTAINER_TREE_VIEW_CLASS (klass);
82
GimpItemTreeViewClass *iv_class = GIMP_ITEM_TREE_VIEW_CLASS (klass);
84
object_class->constructor = gimp_vectors_tree_view_constructor;
86
view_class->drop_svg = gimp_vectors_tree_view_drop_svg;
88
iv_class->item_type = GIMP_TYPE_VECTORS;
89
iv_class->signal_name = "active-vectors-changed";
91
iv_class->get_container = gimp_image_get_vectors;
92
iv_class->get_active_item = (GimpGetItemFunc) gimp_image_get_active_vectors;
93
iv_class->set_active_item = (GimpSetItemFunc) gimp_image_set_active_vectors;
94
iv_class->reorder_item = (GimpReorderItemFunc) gimp_image_position_vectors;
95
iv_class->add_item = (GimpAddItemFunc) gimp_image_add_vectors;
96
iv_class->remove_item = (GimpRemoveItemFunc) gimp_image_remove_vectors;
97
iv_class->new_item = gimp_vectors_tree_view_item_new;
99
iv_class->action_group = "vectors";
100
iv_class->activate_action = "vectors-path-tool";
101
iv_class->edit_action = "vectors-edit-attributes";
102
iv_class->new_action = "vectors-new";
103
iv_class->new_default_action = "vectors-new-last-values";
104
iv_class->raise_action = "vectors-raise";
105
iv_class->raise_top_action = "vectors-raise-to-top";
106
iv_class->lower_action = "vectors-lower";
107
iv_class->lower_bottom_action = "vectors-lower-to-bottom";
108
iv_class->duplicate_action = "vectors-duplicate";
109
iv_class->delete_action = "vectors-delete";
110
iv_class->reorder_desc = _("Reorder path");
114
gimp_vectors_tree_view_view_iface_init (GimpContainerViewInterface *iface)
116
parent_view_iface = g_type_interface_peek_parent (iface);
118
iface->set_container = gimp_vectors_tree_view_set_container;
256
215
GimpViewable *dest_viewable,
257
216
GtkTreeViewDropPosition drop_pos)
259
GimpItemTreeView *view = GIMP_ITEM_TREE_VIEW (tree_view);
260
GimpImage *gimage = view->gimage;
261
GError *error = NULL;
218
GimpItemTreeView *view = GIMP_ITEM_TREE_VIEW (tree_view);
219
GimpImage *image = view->image;
221
GError *error = NULL;
264
if (gimage->gimp->be_verbose)
223
if (image->gimp->be_verbose)
265
224
g_print ("%s: SVG dropped (len = %d)\n", G_STRFUNC, (gint) svg_data_len);
267
index = gimp_image_get_vectors_index (gimage, GIMP_VECTORS (dest_viewable));
269
if (drop_pos == GTK_TREE_VIEW_DROP_AFTER)
272
if (! gimp_vectors_import_buffer (gimage, svg_data, svg_data_len,
273
TRUE, TRUE, index, &error))
275
g_message (error->message);
228
index = gimp_image_get_vectors_index (image,
229
GIMP_VECTORS (dest_viewable));
231
if (drop_pos == GTK_TREE_VIEW_DROP_AFTER)
235
if (! gimp_vectors_import_buffer (image, svg_data, svg_data_len,
236
TRUE, TRUE, index, NULL, &error))
238
gimp_message (image->gimp, G_OBJECT (tree_view), GIMP_MESSAGE_ERROR,
239
"%s", error->message);
276
240
g_clear_error (&error);
280
gimp_image_flush (gimage);
244
gimp_image_flush (image);