Blame synfig-studio/src/gui/iconcontroller.cpp

Carlos Lopez a09598
/* === S Y N F I G ========================================================= */
Carlos Lopez a09598
/*!	\file iconcontroller.cpp
Carlos Lopez a09598
**	\brief Template File
Carlos Lopez a09598
**
Carlos Lopez a09598
**	$Id$
Carlos Lopez a09598
**
Carlos Lopez a09598
**	\legal
Carlos Lopez a09598
**	Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
Carlos Lopez a09598
**	Copyright (c) 2007, 2008 Chris Moore
Carlos Lopez a09598
**  Copyright (c) 2008 Paul Wise
Carlos Lopez a09598
**  Copyright (c) 2009 Gerco Ballintijn
Carlos Lopez 42fd7a
**	Copyright (c) 2009, 2011 Carlos Lรณpez
Carlos Lopez 233516
**	Copyright (c) 2009 Nikita Kitaev
Carlos Lopez a09598
**
Carlos Lopez a09598
**	This package is free software; you can redistribute it and/or
Carlos Lopez a09598
**	modify it under the terms of the GNU General Public License as
Carlos Lopez a09598
**	published by the Free Software Foundation; either version 2 of
Carlos Lopez a09598
**	the License, or (at your option) any later version.
Carlos Lopez a09598
**
Carlos Lopez a09598
**	This package is distributed in the hope that it will be useful,
Carlos Lopez a09598
**	but WITHOUT ANY WARRANTY; without even the implied warranty of
Carlos Lopez a09598
**	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Carlos Lopez a09598
**	General Public License for more details.
Carlos Lopez a09598
**	\endlegal
Carlos Lopez a09598
*/
Carlos Lopez a09598
/* ========================================================================= */
Carlos Lopez a09598
Carlos Lopez a09598
/* === H E A D E R S ======================================================= */
Carlos Lopez a09598
Carlos Lopez a09598
#ifdef USING_PCH
Carlos Lopez a09598
#	include "pch.h"
Carlos Lopez a09598
#else
Carlos Lopez a09598
#ifdef HAVE_CONFIG_H
Carlos Lopez a09598
#	include <config.h></config.h>
Carlos Lopez a09598
#endif
Carlos Lopez a09598
bw 94d8a6
#include <synfig general.h=""></synfig>
bw 94d8a6
Carlos Lopez a09598
#include "iconcontroller.h"
Diego Barrios Romero 07d34c
#include <synfig valuenode_const.h="" valuenodes=""></synfig>
Carlos Lopez a09598
#include <gtkmm button.h=""></gtkmm>
Carlos Lopez a09598
#include <gtkmm window.h=""></gtkmm>
Carlos Lopez a09598
#include <synfigapp action.h=""></synfigapp>
Carlos Lopez 827eea
#include <synfig interpolation.h=""></synfig>
Carlos Lopez a09598
a53c41
#include <gdkmm.h></gdkmm.h>
a53c41
abdbf2
#include <gui localization.h=""></gui>
Carlos Lopez a09598
Carlos Lopez a09598
#endif
Carlos Lopez a09598
Carlos Lopez a09598
/* === U S I N G =========================================================== */
Carlos Lopez a09598
Carlos Lopez a09598
using namespace etl;
Carlos Lopez a09598
using namespace std;
Carlos Lopez a09598
using namespace studio;
Carlos Lopez a09598
using namespace synfig;
Carlos Lopez a09598
Carlos Lopez a09598
/* === M A C R O S ========================================================= */
Carlos Lopez a09598
Carlos Lopez a09598
#ifndef IMAGE_EXT
Carlos Lopez a09598
#	define IMAGE_EXT	"png"
Carlos Lopez a09598
#endif
Carlos Lopez a09598
Carlos Lopez a09598
/* === M E T H O D S ======================================================= */
Carlos Lopez a09598
22b3df
static std::map< int, Glib::RefPtr<gdk::pixbuf> > _tree_pixbuf_table_value_type;</gdk::pixbuf>
Carlos Lopez 827eea
static Glib::RefPtr<gdk::pixbuf> _tree_pixbuf_table_interpolation[(int)INTERPOLATION_CLAMPED+1];</gdk::pixbuf>
Carlos Lopez a09598
Rodolfo Ribeiro Gomes ec1cb9
IconController::IconController()
Carlos Lopez a09598
{
Carlos Lopez a09598
	icon_factory=Gtk::IconFactory::create();
4675f3
}
Carlos Lopez a09598
4675f3
IconController::~IconController()
4675f3
{
4675f3
	_tree_pixbuf_table_value_type.clear();
4675f3
	for(int i(0);i<((int)INTERPOLATION_CLAMPED+1);i++)
4675f3
		_tree_pixbuf_table_interpolation[i]=Glib::RefPtr<gdk::pixbuf>();</gdk::pixbuf>
Carlos Lopez a09598
4675f3
	icon_factory->remove_default();
4675f3
}
Carlos Lopez a09598
4675f3
void
54fcd3
IconController::init_icon(const synfig::String &name, const synfig::String &iconfile, const synfig::String& desc)
4675f3
{
54fcd3
	Gtk::StockItem stockitem(Gtk::StockID("synfig-" + name), desc);
54fcd3
	Gtk::Stock::add(stockitem);
54fcd3
	Glib::RefPtr<gtk::iconset> icon_set = Gtk::IconSet::create();</gtk::iconset>
4675f3
	Gtk::IconSource icon_source;
4675f3
	icon_source.set_direction_wildcarded();
4675f3
	icon_source.set_state_wildcarded();
4675f3
	icon_source.set_size_wildcarded();
54fcd3
	icon_source.set_filename(iconfile);
54fcd3
	icon_set->add_source(icon_source);
54fcd3
	icon_factory->add(stockitem.get_stock_id(), icon_set);
54fcd3
}
54fcd3
54fcd3
void
54fcd3
IconController::init_icon_clone(const synfig::String &name, const synfig::String& desc)
54fcd3
{
54fcd3
	Gtk::StockItem stockitem(Gtk::StockID("synfig-" + name), desc);
54fcd3
	Gtk::Stock::add(stockitem);
54fcd3
	Glib::RefPtr<gtk::iconset> icon_set = Gtk::IconSet::create();</gtk::iconset>
54fcd3
	if (Gtk::Stock::lookup(stockitem.get_stock_id(), icon_set))
54fcd3
		icon_factory->add(stockitem.get_stock_id(), icon_set);
54fcd3
}
54fcd3
54fcd3
void
54fcd3
IconController::init_icons(const synfig::String& path_to_icons)
54fcd3
{
Carlos Lopez a09598
	try{
Carlos Lopez a09598
	Gtk::Window::set_default_icon_from_file(path_to_icons+"synfig_icon."+IMAGE_EXT);
Carlos Lopez a09598
	} catch(...)
Carlos Lopez a09598
	{
Carlos Lopez a09598
		synfig::warning("Unable to open "+path_to_icons+"synfig_icon."+IMAGE_EXT);
Carlos Lopez a09598
	}
Carlos Lopez a09598
54fcd3
#define INIT_STOCK_ICON(name,iconfile,desc) \
54fcd3
	init_icon(#name, (path_to_icons) + (iconfile), (desc));
Carlos Lopez a09598
54fcd3
#define INIT_STOCK_ICON_CLONE(name,desc) \
54fcd3
	init_icon_clone(#name, (desc));
Carlos Lopez a09598
54fcd3
#define INIT_STOCK_ITEM(name,desc) \
54fcd3
	stock_##name = Gtk::StockItem(Gtk::StockID("synfig-" #name),desc); \
Carlos Lopez a09598
	Gtk::Stock::add(stock_##name);
Carlos Lopez a09598
Carlos Lopez b1fa71
	// Types
9aaa53
	INIT_STOCK_ICON(type_bool, "type_bool_icon." IMAGE_EXT, _("Bool"));
9aaa53
	INIT_STOCK_ICON(type_integer, "type_integer_icon." IMAGE_EXT, _("Integer"));
9aaa53
	INIT_STOCK_ICON(type_angle, "type_angle_icon." IMAGE_EXT, _("Angle"));
9aaa53
	INIT_STOCK_ICON(type_time, "type_time_icon." IMAGE_EXT, _("Time"));
9aaa53
	INIT_STOCK_ICON(type_real, "type_real_icon." IMAGE_EXT, _("Real"));
9aaa53
	INIT_STOCK_ICON(type_vector, "type_vector_icon." IMAGE_EXT, _("Vector"));
9aaa53
	INIT_STOCK_ICON(type_color, "type_color_icon." IMAGE_EXT, _("Color"));
9aaa53
	INIT_STOCK_ICON(type_segment, "type_segment_icon." IMAGE_EXT, _("Segment"));
9aaa53
	INIT_STOCK_ICON(type_blinepoint, "type_splinepoint_icon." IMAGE_EXT, _("Spline Point"));
9aaa53
	INIT_STOCK_ICON(type_list, "type_list_icon." IMAGE_EXT, _("List"));
9aaa53
	INIT_STOCK_ICON(type_string, "type_string_icon." IMAGE_EXT, _("String"));
9aaa53
	INIT_STOCK_ICON(type_canvas, "type_canvas_icon." IMAGE_EXT, _("Canvas"));
9aaa53
	INIT_STOCK_ICON(type_gradient, "type_gradient_icon." IMAGE_EXT, _("Gradient"))
Carlos Lopez a09598
Carlos Lopez 8bf96a
	// ToolBox Tools
9aaa53
	INIT_STOCK_ICON(normal, "tool_normal_icon." IMAGE_EXT, _("Transform Tool"));
9aaa53
	INIT_STOCK_ICON(polygon, "tool_polyline_icon." IMAGE_EXT, _("Polygon Tool"));
9aaa53
	INIT_STOCK_ICON(bline, "tool_spline_icon." IMAGE_EXT, _("Spline Tool"));
9aaa53
	INIT_STOCK_ICON(eyedrop, "tool_eyedrop_icon." IMAGE_EXT, _("Eyedrop Tool"));
9aaa53
	INIT_STOCK_ICON(fill, "tool_fill_icon." IMAGE_EXT, _("Fill Tool"));
9aaa53
	INIT_STOCK_ICON(draw, "tool_draw_icon." IMAGE_EXT, _("Draw Tool"));
9aaa53
	INIT_STOCK_ICON(lasso, "tool_cutout_icon." IMAGE_EXT, _("Cutout Tool"));
9aaa53
	INIT_STOCK_ICON(brush, "tool_brush_icon." IMAGE_EXT, _("Brush Tool"));
9aaa53
	INIT_STOCK_ICON(sketch, "tool_sketch_icon." IMAGE_EXT, _("Sketch Tool"));
9aaa53
	INIT_STOCK_ICON(circle, "tool_circle_icon." IMAGE_EXT, _("Circle Tool"));
9aaa53
	INIT_STOCK_ICON(rectangle, "tool_rectangle_icon." IMAGE_EXT, _("Rectangle Tool"));
9aaa53
	INIT_STOCK_ICON(smooth_move, "tool_smooth_move_icon." IMAGE_EXT, _("SmoothMove Tool"));
9aaa53
	INIT_STOCK_ICON(rotate, "tool_rotate_icon." IMAGE_EXT, _("Rotate Tool"));
9aaa53
	INIT_STOCK_ICON(width, "tool_width_icon." IMAGE_EXT, _("Width Tool"));
9aaa53
	INIT_STOCK_ICON(scale, "tool_scale_icon." IMAGE_EXT, _("Scale Tool"));
9aaa53
	INIT_STOCK_ICON(zoom, "tool_zoom_icon." IMAGE_EXT, _("Zoom Tool"));
9aaa53
	INIT_STOCK_ICON(mirror, "tool_mirror_icon." IMAGE_EXT, _("Mirror Tool"));
9aaa53
	INIT_STOCK_ICON(text, "tool_text_icon." IMAGE_EXT, _("Text Tool"));
9aaa53
	INIT_STOCK_ICON(gradient, "tool_gradient_icon." IMAGE_EXT, _("Gradient Tool"));
9aaa53
	INIT_STOCK_ICON(star, "tool_star_icon." IMAGE_EXT, _("Star Tool"));
Yu Chen cbb267
	// ToolBox Others
9aaa53
	INIT_STOCK_ICON(reset_colors, "reset_colors_icon." IMAGE_EXT, _("Reset Colors"));
9aaa53
	INIT_STOCK_ICON(swap_colors, "swap_colors_icon." IMAGE_EXT, _("Swap Colors"));
9aaa53
	INIT_STOCK_ICON(value_node, "valuenode_icon." IMAGE_EXT, _("ValueNode"));
9aaa53
	INIT_STOCK_ICON(valuenode_forbidanimation, "valuenode_forbidanimation_icon." IMAGE_EXT, _("ValueNode Forbid Animation"));
9aaa53
	INIT_STOCK_ICON(rename, "rename_icon." IMAGE_EXT, _("Rename"));
9aaa53
	INIT_STOCK_ICON(canvas, "canvas_icon." IMAGE_EXT, _("Canvas"));
9aaa53
	INIT_STOCK_ICON(canvas_new, "canvas_icon." IMAGE_EXT, _("New Canvas"));
Yu Chen cbb267
Yu Chen cbb267
	// Document Related Actions
9aaa53
	INIT_STOCK_ICON(about, "about_icon." IMAGE_EXT, _("About"));
9aaa53
	INIT_STOCK_ICON(new_doc, "action_doc_new_icon." IMAGE_EXT, _("New"));
9aaa53
	INIT_STOCK_ICON(open, "action_doc_open_icon." IMAGE_EXT, _("Open"));
9aaa53
	INIT_STOCK_ICON(save, "action_doc_save_icon." IMAGE_EXT, _("Save"));
9aaa53
	INIT_STOCK_ICON(save_as, "action_doc_saveas_icon." IMAGE_EXT, _("Save As"));
9aaa53
	INIT_STOCK_ICON(save_all, "action_doc_saveall_icon." IMAGE_EXT, _("Save All"));
9aaa53
	INIT_STOCK_ICON(redo, "action_doc_redo_icon." IMAGE_EXT, _("Redo"));
9aaa53
	INIT_STOCK_ICON(undo, "action_doc_undo_icon." IMAGE_EXT, _("Undo"));
Carlos Lopez f22bb3
Carlos Lopez c07be1
	// Layers
9aaa53
	INIT_STOCK_ICON(layer, "layer_icon." IMAGE_EXT, _("Layer"));
Carlos Lopez bd0241
	// Blur Layers
9aaa53
	INIT_STOCK_ICON(layer_blur_blur, "layer_blur_blur_icon." IMAGE_EXT, _("Blur Layer"));
9aaa53
	INIT_STOCK_ICON(layer_blur_motion, "layer_blur_motion_icon." IMAGE_EXT, _("Motion Blur Layer"));
9aaa53
	INIT_STOCK_ICON(layer_blur_radial, "layer_blur_radial_icon." IMAGE_EXT, _("Radial Blur Layer"));
Carlos Lopez bd0241
	// Distortion Layers
9aaa53
	INIT_STOCK_ICON(layer_distortion_curvewarp, "layer_distortion_curvewarp_icon." IMAGE_EXT, _("Curve Warp Layer"));
9aaa53
	INIT_STOCK_ICON(layer_distortion_insideout, "layer_distortion_insideout_icon." IMAGE_EXT, _("Inside Out Layer"));
9aaa53
	INIT_STOCK_ICON(layer_distortion_noise, "layer_distortion_noise_icon." IMAGE_EXT, _("Noise Distort Layer"));
9aaa53
	INIT_STOCK_ICON(layer_distortion_spherize, "layer_distortion_spherize_icon." IMAGE_EXT, _("Spherize Layer"));
9aaa53
	INIT_STOCK_ICON(layer_distortion_stretch, "layer_distortion_stretch_icon." IMAGE_EXT, _("Stretch Layer"));
9aaa53
	INIT_STOCK_ICON(layer_distortion_twirl, "layer_distortion_twirl_icon." IMAGE_EXT, _("Twirl Layer"));
9aaa53
	INIT_STOCK_ICON(layer_distortion_warp, "layer_distortion_warp_icon." IMAGE_EXT, _("Warp Layer"));
Carlos Lopez bd0241
	// Example Layers
9aaa53
	INIT_STOCK_ICON(layer_example_metaballs, "layer_example_metaballs_icon." IMAGE_EXT, _("Metallballs Layer"));
9aaa53
	INIT_STOCK_ICON(layer_example_simplecircle, "layer_example_simplecircle_icon." IMAGE_EXT, _("Simple Circle Layer"));
Carlos Lopez bd0241
	// Filter Layers
9aaa53
	INIT_STOCK_ICON(layer_filter_clamp, "layer_filter_clamp_icon." IMAGE_EXT, _("Clamp Layer"));
9aaa53
	INIT_STOCK_ICON(layer_filter_colorcorrect, "layer_filter_colorcorrect_icon." IMAGE_EXT, _("Color Correct Layer"));
9aaa53
	INIT_STOCK_ICON(layer_filter_halftone2, "layer_filter_halftone2_icon." IMAGE_EXT, _("Halftone 2 Layer"));
9aaa53
	INIT_STOCK_ICON(layer_filter_halftone3, "layer_filter_halftone3_icon." IMAGE_EXT, _("Halftone 3 Layer"));
9aaa53
	INIT_STOCK_ICON(layer_filter_lumakey, "layer_filter_lumakey_icon." IMAGE_EXT, _("Luma Key Layer"));
Carlos Lopez bd0241
	// Fractal Layers
9aaa53
	INIT_STOCK_ICON(layer_fractal_julia, "layer_fractal_julia_icon." IMAGE_EXT, _("Julia Set Layer"));
9aaa53
	INIT_STOCK_ICON(layer_fractal_mandelbrot, "layer_fractal_mandelbrot_icon." IMAGE_EXT, _("Mandelbrot Set Layer"));
Carlos Lopez bd0241
	// Geometry Layers
9aaa53
	INIT_STOCK_ICON(layer_geometry_checkerboard, "layer_geometry_checkerboard_icon." IMAGE_EXT, _("Checker Board Layer"));
9aaa53
	INIT_STOCK_ICON(layer_geometry_circle, "layer_geometry_circle_icon." IMAGE_EXT, _("Circle Layer"));
9aaa53
	INIT_STOCK_ICON(layer_geometry_outline, "layer_geometry_outline_icon." IMAGE_EXT, _("Outline Layer"));
9aaa53
	INIT_STOCK_ICON(layer_geometry_advanced_outline, "layer_geometry_advanced_outline_icon." IMAGE_EXT, _("Advanced Outline Layer"));
9aaa53
	INIT_STOCK_ICON(layer_geometry_polygon, "layer_geometry_polygon_icon." IMAGE_EXT, _("Polygon Layer"));
9aaa53
	INIT_STOCK_ICON(layer_geometry_rectangle, "layer_geometry_rectangle_icon." IMAGE_EXT, _("Rectangle Layer"));
9aaa53
	INIT_STOCK_ICON(layer_geometry_region, "layer_geometry_region_icon." IMAGE_EXT, _("Region Layer"));
9aaa53
	INIT_STOCK_ICON(layer_geometry_solidcolor, "layer_geometry_solidcolor_icon." IMAGE_EXT, _("Solid Color Layer"));
9aaa53
	INIT_STOCK_ICON(layer_geometry_star, "layer_geometry_star_icon." IMAGE_EXT, _("Star Layer"));
Carlos Lopez bd0241
	// Gradient Layers
9aaa53
	INIT_STOCK_ICON(layer_gradient_conical, "layer_gradient_conical_icon." IMAGE_EXT, _("Conical Gradient Layer"));
9aaa53
	INIT_STOCK_ICON(layer_gradient_curve, "layer_gradient_curve_icon." IMAGE_EXT, _("Curve Gradient Layer"));
9aaa53
	INIT_STOCK_ICON(layer_gradient_noise, "layer_gradient_noise_icon." IMAGE_EXT, _("Noise Gradient Layer"));
9aaa53
	INIT_STOCK_ICON(layer_gradient_linear, "layer_gradient_linear_icon." IMAGE_EXT, _("Linear Gradient Layer"));
9aaa53
	INIT_STOCK_ICON(layer_gradient_radial, "layer_gradient_radial_icon." IMAGE_EXT, _("Radial Gradient Layer"));
9aaa53
	INIT_STOCK_ICON(layer_gradient_spiral, "layer_gradient_spiral_icon." IMAGE_EXT, _("Spiral Gradient Layer"));
Carlos Lopez bd0241
	// Other Layers
9aaa53
	INIT_STOCK_ICON(layer_other_duplicate, "layer_other_duplicate_icon." IMAGE_EXT, _("Duplicate Layer"));
9aaa53
	INIT_STOCK_ICON(layer_other_importimage, "layer_other_importimage_icon." IMAGE_EXT, _("Import Image Layer"));
9aaa53
	INIT_STOCK_ICON(layer_other_pastecanvas, "layer_other_group_icon." IMAGE_EXT, _("Group Layer"));
9aaa53
	INIT_STOCK_ICON(layer_other_plant, "layer_other_plant_icon." IMAGE_EXT, _("Plant Layer"));
9aaa53
	INIT_STOCK_ICON(layer_other_stroboscope, "layer_other_stroboscope_icon." IMAGE_EXT, _("Stroboscope Layer"));
9aaa53
	INIT_STOCK_ICON(layer_other_supersample, "layer_other_supersample_icon." IMAGE_EXT, _("Super Sample Layer"));
9aaa53
	INIT_STOCK_ICON(layer_other_sound, "layer_other_sound_icon." IMAGE_EXT, _("Sound Layer"));
9aaa53
	INIT_STOCK_ICON(layer_other_switch, "layer_other_switch_icon." IMAGE_EXT, _("Switch Layer"));
9aaa53
	INIT_STOCK_ICON(layer_other_skeleton, "layer_other_skeleton_icon." IMAGE_EXT, _("Skeleton Layer"));
9aaa53
	INIT_STOCK_ICON(layer_other_text, "layer_other_text_icon." IMAGE_EXT, _("Text Layer"));
9aaa53
	INIT_STOCK_ICON(layer_other_timeloop, "layer_other_timeloop_icon." IMAGE_EXT, _("Time Loop Layer"));
9aaa53
	INIT_STOCK_ICON(layer_other_xorpattern, "layer_other_xorpattern_icon." IMAGE_EXT, _("XOR Pattern Layer"));
Carlos Lopez bd0241
	// Stylize Layers
9aaa53
	INIT_STOCK_ICON(layer_stylize_bevel, "layer_stylize_bevel_icon." IMAGE_EXT, _("Bevel Layer"));
9aaa53
	INIT_STOCK_ICON(layer_stylize_shade, "layer_stylize_shade_icon." IMAGE_EXT, _("Shade Layer"));
Carlos Lopez bd0241
	// Transform Layers
9aaa53
	INIT_STOCK_ICON(layer_transform_rotate, "layer_transform_rotate_icon." IMAGE_EXT, _("Rotate Layer"));
9aaa53
	INIT_STOCK_ICON(layer_transform_translate, "layer_transform_translate_icon." IMAGE_EXT, _("Translate Layer"));
9aaa53
	INIT_STOCK_ICON(layer_transform_scale, "layer_transform_scale_icon." IMAGE_EXT, _("Scale Layer"));
Carlos Lopez b3a164
99b0b4
	// Ghost Layers
a94ca9
	// TODO: icon for ghost group
9aaa53
	INIT_STOCK_ICON(layer_ghost_group, "layer_other_group_icon." IMAGE_EXT, _("Group Ghost"));
9aaa53
	//INIT_STOCK_ICON(layer_ghost_group, "layer_ghost_group_icon." IMAGE_EXT, _("Group Ghost"));
99b0b4
9aaa53
	INIT_STOCK_ICON(layer_new, "grid_enable_icon." IMAGE_EXT, _("Show Grid"));
99b0b4
9aaa53
	INIT_STOCK_ICON(info, "info_icon." IMAGE_EXT, _("Info Tool"));
9aaa53
	INIT_STOCK_ICON(group, "set_icon." IMAGE_EXT, _("Set"));
Carlos Lopez 8bf96a
9aaa53
	INIT_STOCK_ICON(grid_enable, "grid_enable_icon." IMAGE_EXT, _("Show Grid"));
9aaa53
	INIT_STOCK_ICON(grid_disable, "grid_disable_icon." IMAGE_EXT, _("Hide Grid"));
9aaa53
	INIT_STOCK_ICON(grid_snap_enable, "grid_snap_enable_icon." IMAGE_EXT, _("Enable Grid Snap"));
9aaa53
	INIT_STOCK_ICON(grid_snap_disable, "grid_snap_disable_icon." IMAGE_EXT, _("Disable Grid Snap"));
9aaa53
	INIT_STOCK_ICON(duplicate, "duplicate_icon." IMAGE_EXT, _("Duplicate"));
9aaa53
	INIT_STOCK_ICON(encapsulate, "group_icon." IMAGE_EXT, _("Group"));
a94ca9
	// TODO: icon for 'Group Layer into Switch' action
9aaa53
	INIT_STOCK_ICON(encapsulate_switch, "layer_other_switch_icon." IMAGE_EXT, _("Group into Switch"));
a28336
	// TODO: icon for 'Group Layer into Filter' action
c65419
	INIT_STOCK_ICON(encapsulate_filter, "layer_icon." IMAGE_EXT, _("Group into Filter"));
9aaa53
	INIT_STOCK_ICON(select_all_child_layers, "select_all_child_layers_icon." IMAGE_EXT, _("Select All Child Layers"));
9aaa53
9aaa53
	INIT_STOCK_ICON(clear_undo, "clear_undo_icon." IMAGE_EXT, _("Clear Undo Stack"));
9aaa53
	INIT_STOCK_ICON(clear_redo, "clear_redo_icon." IMAGE_EXT, _("Clear Redo Stack"));
9aaa53
9aaa53
	INIT_STOCK_ICON(children, "library_icon." IMAGE_EXT, _("Library"));
9aaa53
	INIT_STOCK_ICON(curves, "graphs_icon." IMAGE_EXT, _("Graphs"));
9aaa53
	INIT_STOCK_ICON(keyframes, "keyframe_icon." IMAGE_EXT, _("Keyframes"));
9aaa53
	INIT_STOCK_ICON(meta_data, "meta_data_icon." IMAGE_EXT, _("MetaData"));
9aaa53
	INIT_STOCK_ICON(navigator, "navigator_icon." IMAGE_EXT, _("Navigator"));
9aaa53
	INIT_STOCK_ICON(timetrack, "time_track_icon." IMAGE_EXT, _("Time Track"));
9aaa53
	INIT_STOCK_ICON(history, "history_icon." IMAGE_EXT, _("History"));
9aaa53
	INIT_STOCK_ICON(palette, "palette_icon." IMAGE_EXT, _("Palette"));
9aaa53
	INIT_STOCK_ICON(params, "parameters_icon." IMAGE_EXT, _("Parameters"));
9aaa53
9aaa53
	INIT_STOCK_ICON(keyframe_lock_past_off, "keyframe_lock_past_off_icon." IMAGE_EXT, _("Past keyframes unlocked"));
9aaa53
	INIT_STOCK_ICON(keyframe_lock_past_on, "keyframe_lock_past_on_icon." IMAGE_EXT, _("Past keyframes locked"));
9aaa53
	INIT_STOCK_ICON(keyframe_lock_future_off, "keyframe_lock_future_off_icon." IMAGE_EXT, _("Future keyframes unlocked"));
9aaa53
	INIT_STOCK_ICON(keyframe_lock_future_on, "keyframe_lock_future_on_icon." IMAGE_EXT, _("Future keyframes locked"));
9aaa53
9aaa53
	INIT_STOCK_ICON(animate_mode_off, "animate_mode_off_icon." IMAGE_EXT, _("Animate Mode Off"));
9aaa53
	INIT_STOCK_ICON(animate_mode_on, "animate_mode_on_icon." IMAGE_EXT, _("Animate Mode On"));
0177eb
	
9aaa53
	INIT_STOCK_ICON(jack, "jack_icon." IMAGE_EXT, _("JACK"));
9aaa53
9aaa53
	INIT_STOCK_ICON(set_outline_color, "set_outline_color." IMAGE_EXT, _("Set as Outline"));
9aaa53
	INIT_STOCK_ICON(set_fill_color, "set_fill_color." IMAGE_EXT, _("Set as Fill"));
9aaa53
9aaa53
	INIT_STOCK_ICON(animate_seek_begin, "animate_seek_begin_icon." IMAGE_EXT, _("Seek to Begin"));
9aaa53
	INIT_STOCK_ICON(animate_seek_prev_keyframe, "animate_seek_prev_keyframe_icon." IMAGE_EXT, _("Seek to Previous Keyframe"));
9aaa53
	INIT_STOCK_ICON(animate_seek_prev_frame, "animate_seek_prev_frame_icon." IMAGE_EXT, _("Seek to Previous Frame"));
9aaa53
	INIT_STOCK_ICON(animate_play, "animate_play_icon." IMAGE_EXT, _("Play"));
9aaa53
	INIT_STOCK_ICON(animate_stop, "animate_stop_icon." IMAGE_EXT, _("Stop"));
9aaa53
	INIT_STOCK_ICON(animate_pause, "animate_pause_icon." IMAGE_EXT, _("Pause"));
9aaa53
	INIT_STOCK_ICON(animate_seek_next_frame, "animate_seek_next_frame_icon." IMAGE_EXT, _("Seek to Next frame"));
9aaa53
	INIT_STOCK_ICON(animate_seek_next_keyframe, "animate_seek_next_keyframe_icon." IMAGE_EXT, _("Seek to Next Keyframe"));
9aaa53
	INIT_STOCK_ICON(animate_seek_end, "animate_seek_end_icon." IMAGE_EXT, _("Seek to End"));
9aaa53
	INIT_STOCK_ICON(animate_loop, "animate_loop_icon." IMAGE_EXT, _("Animate Loop"));
14ae00
	INIT_STOCK_ICON(animate_bounds, "animate_bounds_icon." IMAGE_EXT, _("Play Bounds"));
14ae00
	INIT_STOCK_ICON(animate_bound_lower, "animate_bound_lower_icon." IMAGE_EXT, _("Lower Bound"));
14ae00
	INIT_STOCK_ICON(animate_bound_upper, "animate_bound_upper_icon." IMAGE_EXT, _("Upper Bound"));
9aaa53
9aaa53
	INIT_STOCK_ICON(add_to_group, "action_add_to_set_icon." IMAGE_EXT, _("Add Layer to Set"));
9aaa53
	INIT_STOCK_ICON(remove_from_group, "action_remove_from_set_icon." IMAGE_EXT, _("Remove Layer from Set"));
9aaa53
	INIT_STOCK_ICON(set_desc, "action_set_layer_description_icon." IMAGE_EXT, _("Set Layer Description"));
9aaa53
	INIT_STOCK_ICON(export, "action_export_icon." IMAGE_EXT, _("Export Value Node"));
9aaa53
	INIT_STOCK_ICON(unexport, "action_unexport_icon." IMAGE_EXT, _("Unexport Value Node"));
9aaa53
	INIT_STOCK_ICON(flat_interpolation, "action_flat_interpolation_icon." IMAGE_EXT, _("Set Interpolation to Flat"));
9aaa53
	INIT_STOCK_ICON(interpolate_interpolation, "action_interpolate_interpolation_icon." IMAGE_EXT, _("Set Interpolation to Interpolate"));
9aaa53
	INIT_STOCK_ICON(peak_interpolation, "action_peak_interpolation_icon." IMAGE_EXT, _("Set Interpolation to Peak"));
9aaa53
	INIT_STOCK_ICON(rounded_interpolation, "action_rounded_interpolation_icon." IMAGE_EXT, _("Set Interpolation to Rounded"));
9aaa53
	INIT_STOCK_ICON(squared_interpolation, "action_squared_interpolation_icon." IMAGE_EXT, _("Set Interpolation to Squared"));
9aaa53
9aaa53
	INIT_STOCK_ICON(toggle_duck_position, "duck_position_icon." IMAGE_EXT, _("Toggle position handles"));
9aaa53
	INIT_STOCK_ICON(toggle_duck_vertex, "duck_vertex_icon." IMAGE_EXT, _("Toggle vertex handles"));
9aaa53
	INIT_STOCK_ICON(toggle_duck_tangent, "duck_tangent_icon." IMAGE_EXT, _("Toggle tangent handles"));
9aaa53
	INIT_STOCK_ICON(toggle_duck_radius, "duck_radius_icon." IMAGE_EXT, _("Toggle radius handles"));
9aaa53
	INIT_STOCK_ICON(toggle_duck_width, "duck_width_icon." IMAGE_EXT, _("Toggle width handles"));
9aaa53
	INIT_STOCK_ICON(toggle_duck_angle, "duck_angle_icon." IMAGE_EXT, _("Toggle angle handles"));
9aaa53
9aaa53
	INIT_STOCK_ICON(toggle_show_grid, "show_grid_icon." IMAGE_EXT, _("Toggle show grid"));
9aaa53
	INIT_STOCK_ICON(toggle_snap_grid, "snap_grid_icon." IMAGE_EXT, _("Toggle snap grid"));
9aaa53
	INIT_STOCK_ICON(toggle_show_guide, "show_guide_icon." IMAGE_EXT, _("Toggle show guide"));
9aaa53
	INIT_STOCK_ICON(toggle_snap_guide, "snap_guide_icon." IMAGE_EXT, _("Toggle snap guide"));
9aaa53
9aaa53
	INIT_STOCK_ICON(toggle_onion_skin, "onion_skin_icon." IMAGE_EXT, _("Toggle onion skin"));
9aaa53
7f1d91
	INIT_STOCK_ICON(toggle_background_rendering, "background_rendering_icon." IMAGE_EXT, _("Toggle background rendering"));
7f1d91
9aaa53
	INIT_STOCK_ICON(increase_resolution, "incr_resolution_icon." IMAGE_EXT, _("Increase resolution"));
9aaa53
	INIT_STOCK_ICON(decrease_resolution, "decr_resolution_icon." IMAGE_EXT, _("Decrease resolution"));
9aaa53
9aaa53
	INIT_STOCK_ICON(preview_options, "preview_options_icon." IMAGE_EXT, _("Preview Options Dialog"));
9aaa53
	INIT_STOCK_ICON(render_options, "render_options_icon." IMAGE_EXT, _("Render Options Dialog"));
9aaa53
9aaa53
	INIT_STOCK_ICON(interpolation_type_tcb, "interpolation_type_tcb_icon." IMAGE_EXT, _("TCB interpolation"));
9aaa53
	INIT_STOCK_ICON(interpolation_type_ease, "interpolation_type_ease_icon." IMAGE_EXT, _("Ease In/Out interpolation"));
9aaa53
	INIT_STOCK_ICON(interpolation_type_const, "interpolation_type_const_icon." IMAGE_EXT, _("Const interpolation"));
9aaa53
	INIT_STOCK_ICON(interpolation_type_linear, "interpolation_type_linear_icon." IMAGE_EXT, _("Linear interpolation"));
9aaa53
	INIT_STOCK_ICON(interpolation_type_clamped, "interpolation_type_clamped_icon." IMAGE_EXT, _("Clamped interpolation"));
9aaa53
9aaa53
	INIT_STOCK_ICON(utils_chain_link_on, "utils_chain_link_on_icon." IMAGE_EXT, _("Linked"));
9aaa53
	INIT_STOCK_ICON(utils_chain_link_off, "utils_chain_link_off_icon." IMAGE_EXT, _("Unlinked"));
9aaa53
	INIT_STOCK_ICON(utils_timetrack_align, "utils_timetrack_align_icon." IMAGE_EXT, _("Utils Timetrack align"));
9aaa53
9aaa53
	INIT_STOCK_ICON_CLONE(cvs_add, _("CVS Add"));
9aaa53
	INIT_STOCK_ICON_CLONE(cvs_update, _("CVS Update"));
9aaa53
	INIT_STOCK_ICON_CLONE(cvs_commit, _("CVS Commit"));
9aaa53
	INIT_STOCK_ICON_CLONE(cvs_revert, _("CVS Revert"));
Carlos Lopez a09598
Nikita Kitaev da3b47
#undef INIT_STOCK_ICON
Carlos Lopez eeb292
#undef INIT_STOCK_ICON_CLONE
54fcd3
#undef INIT_STOCK_ITEM
Nikita Kitaev da3b47
Carlos Lopez a09598
	icon_factory->add_default();
Carlos Lopez a09598
Yu Chen 020306
	Gtk::IconSize::register_new("synfig-tiny_icon", 8, 8);
Carlos Lopez a09598
	Gtk::IconSize::register_new("synfig-small_icon",12,12);
Carlos Lopez adfc80
	Gtk::IconSize::register_new("synfig-small_icon_16x16",16,16);
Carlos Lopez adfc80
22b3df
	for(Type *type = Type::get_first(); type != NULL; type = type->get_next())
3cbd34
		_tree_pixbuf_table_value_type[type->identifier]=Gtk::Button().render_icon_pixbuf(value_icon(*type),Gtk::ICON_SIZE_SMALL_TOOLBAR);
Carlos Lopez a09598
Carlos Lopez 827eea
	for(int i(0);i<((int)INTERPOLATION_CLAMPED+1);i++)
3cbd34
		_tree_pixbuf_table_interpolation[i]=Gtk::Button().render_icon_pixbuf(interpolation_icon(Interpolation(i)),Gtk::ICON_SIZE_SMALL_TOOLBAR);
Carlos Lopez a09598
}
Carlos Lopez a09598
48f525
Glib::RefPtr<gdk::cursor></gdk::cursor>
Carlos Lopez a09598
IconController::get_normal_cursor()
Carlos Lopez a09598
{
48f525
	return Gdk::Cursor::create(Gdk::TOP_LEFT_ARROW);
Carlos Lopez a09598
}
Carlos Lopez a09598
48f525
Glib::RefPtr<gdk::cursor></gdk::cursor>
Carlos Lopez a09598
IconController::get_tool_cursor(const Glib::ustring& name,const Glib::RefPtr<gdk::window>& window)</gdk::window>
Carlos Lopez a09598
{
Nikita Kitaev da3b47
	//this function is never called
Nikita Kitaev da3b47
	//it is commented out in WorkArea::refresh_cursor()
Nikita Kitaev da3b47
	assert(0);
Nikita Kitaev da3b47
	// \todo Do we still need it?
Nikita Kitaev da3b47
a53c41
	Glib::RefPtr<gdk::pixbuf> pixbuf =</gdk::pixbuf>
a53c41
		Gtk::Button().render_icon_pixbuf(Gtk::StockID("synfig-"+name),Gtk::ICON_SIZE_SMALL_TOOLBAR);
a53c41
  	return Gdk::Cursor::create(window->get_display(), pixbuf, 0, 0);
Carlos Lopez a09598
}
Carlos Lopez a09598
Carlos Lopez a09598
Gtk::StockID
22b3df
studio::value_icon(Type &type)
Carlos Lopez a09598
{
22b3df
	if (type == type_bool)
22b3df
		return Gtk::StockID("synfig-type_bool");
22b3df
	if (type == type_integer)
22b3df
		return Gtk::StockID("synfig-type_integer");
22b3df
	if (type == type_angle)
22b3df
		return Gtk::StockID("synfig-type_angle");
22b3df
	if (type == type_time)
22b3df
		return Gtk::StockID("synfig-type_time");
22b3df
	if (type == type_real)
22b3df
		return Gtk::StockID("synfig-type_real");
22b3df
	if (type == type_vector)
22b3df
		return Gtk::StockID("synfig-type_vector");
22b3df
	if (type == type_color)
22b3df
		return Gtk::StockID("synfig-type_color");
22b3df
	if (type == type_segment)
22b3df
		return Gtk::StockID("synfig-type_segment");
22b3df
	if (type == type_bline_point)
22b3df
		return Gtk::StockID("synfig-type_blinepoint");
22b3df
	if (type == type_list)
22b3df
		return Gtk::StockID("synfig-type_list");
22b3df
	if (type == type_canvas)
22b3df
		return Gtk::StockID("synfig-type_canvas");
22b3df
	if (type == type_string)
22b3df
		return Gtk::StockID("synfig-type_string");
22b3df
	if (type == type_gradient)
22b3df
		return Gtk::StockID("synfig-type_gradient");
22b3df
22b3df
	return Gtk::StockID("synfig-unknown");
Carlos Lopez a09598
}
Carlos Lopez a09598
Carlos Lopez a09598
Gtk::StockID
Carlos Lopez 827eea
studio::interpolation_icon(synfig::Interpolation type)
Carlos Lopez 827eea
{
Carlos Lopez 827eea
	switch(type)
Carlos Lopez 827eea
	{
Carlos Lopez 827eea
		case INTERPOLATION_TCB:
Carlos Lopez 827eea
			return Gtk::StockID("synfig-interpolation_type_tcb");
Carlos Lopez 827eea
		case INTERPOLATION_CONSTANT:
Carlos Lopez 827eea
			return Gtk::StockID("synfig-interpolation_type_const");
Carlos Lopez 827eea
		case INTERPOLATION_LINEAR:
Carlos Lopez 827eea
			return Gtk::StockID("synfig-interpolation_type_linear");
Carlos Lopez 827eea
		case INTERPOLATION_HALT:
Carlos Lopez 827eea
			return Gtk::StockID("synfig-interpolation_type_ease");
Carlos Lopez 827eea
		case INTERPOLATION_CLAMPED:
Carlos Lopez 827eea
			return Gtk::StockID("synfig-interpolation_type_clamped");
Carlos Lopez 827eea
		case INTERPOLATION_MANUAL:
Carlos Lopez 827eea
		case INTERPOLATION_UNDEFINED:
Carlos Lopez 827eea
		case INTERPOLATION_NIL:
Carlos Lopez 827eea
		default:
Carlos Lopez 827eea
			break;
Carlos Lopez 827eea
	}
6320b8
	return Gtk::StockID();
Carlos Lopez 827eea
}
Carlos Lopez 827eea
Carlos Lopez 827eea
Carlos Lopez 827eea
Gtk::StockID
Carlos Lopez a09598
studio::valuenode_icon(etl::handle<synfig::valuenode> value_node)</synfig::valuenode>
Carlos Lopez a09598
{
Carlos Lopez a09598
	if(handle<valuenode_const>::cast_dynamic(value_node))</valuenode_const>
Carlos Lopez a09598
	{
Carlos Lopez a09598
		return value_icon(value_node->get_type());
Carlos Lopez a09598
	}
Carlos Lopez a09598
	else
Carlos Lopez a09598
	{
Carlos Lopez a09598
		return Gtk::StockID("synfig-value_node");
Carlos Lopez a09598
	}
Carlos Lopez a09598
}
Carlos Lopez a09598
Carlos Lopez a09598
Glib::RefPtr<gdk::pixbuf></gdk::pixbuf>
22b3df
studio::get_tree_pixbuf(Type &type)
Carlos Lopez a09598
{
3cbd34
	//return Gtk::Button().render_icon_pixbuf(value_icon(type),Gtk::ICON_SIZE_SMALL_TOOLBAR);
22b3df
	return _tree_pixbuf_table_value_type[type.identifier];
Carlos Lopez a09598
}
Carlos Lopez a09598
Carlos Lopez 827eea
Glib::RefPtr<gdk::pixbuf></gdk::pixbuf>
Carlos Lopez 827eea
studio::get_interpolation_pixbuf(synfig::Interpolation type)
Carlos Lopez 827eea
{
Carlos Lopez 827eea
	return _tree_pixbuf_table_interpolation[int(type)];
Carlos Lopez 827eea
}
Carlos Lopez 827eea
10a93e
#ifdef _WIN32
Carlos Lopez a09598
#define TEMPORARY_DELETE_MACRO DELETE
Carlos Lopez a09598
#undef DELETE
Carlos Lopez a09598
#endif
Carlos Lopez a09598
Carlos Lopez a09598
Gtk::StockID
Carlos Lopez a09598
studio::get_action_stock_id(const synfigapp::Action::BookEntry& action)
Carlos Lopez a09598
{
Carlos Lopez a09598
	Gtk::StockID stock_id;
Carlos Lopez a09598
	if(action.task=="add")				stock_id=Gtk::Stock::ADD;
Carlos Lopez a09598
	else if(action.task=="connect")		stock_id=Gtk::Stock::CONNECT;
Carlos Lopez a09598
	else if(action.task=="disconnect")	stock_id=Gtk::Stock::DISCONNECT;
Carlos Lopez a09598
	else if(action.task=="insert")		stock_id=Gtk::Stock::ADD;
Carlos Lopez a09598
	else if(action.task=="lower")		stock_id=Gtk::Stock::GO_DOWN;
Carlos Lopez a09598
	else if(action.task=="move_bottom")	stock_id=Gtk::Stock::GOTO_BOTTOM;
Carlos Lopez a09598
	else if(action.task=="move_top")	stock_id=Gtk::Stock::GOTO_TOP;
Carlos Lopez a09598
	else if(action.task=="raise")		stock_id=Gtk::Stock::GO_UP;
Carlos Lopez a09598
	else if(action.task=="remove")		stock_id=Gtk::Stock::DELETE;
Carlos Lopez a09598
	else if(action.task=="set_off")		stock_id=Gtk::Stock::NO;
Carlos Lopez a09598
	else if(action.task=="set_on")		stock_id=Gtk::Stock::YES;
Carlos Lopez a09598
	else								stock_id=Gtk::StockID("synfig-"+
Carlos Lopez a09598
															  action.task);
Carlos Lopez a09598
	return stock_id;
Carlos Lopez a09598
}
Carlos Lopez a09598
10a93e
#ifdef _WIN32
Carlos Lopez a09598
#define DELETE TEMPORARY_DELETE_MACRO
Carlos Lopez a09598
#undef TEMPORARY_DELETE_MACRO
Carlos Lopez a09598
#endif
Carlos Lopez a09598
Carlos Lopez a09598
Gtk::StockID
Carlos Lopez a09598
studio::layer_icon(const synfig::String &layer)
Carlos Lopez a09598
{
Carlos Lopez bd0241
	// Blur Layers
Carlos Lopez bd0241
	if(layer=="blur")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_blur_blur");
Carlos Lopez b3a164
	else if(layer=="MotionBlur") // in the future should be "motion_blur"
Carlos Lopez b3a164
		return Gtk::StockID("synfig-layer_blur_motion");
Carlos Lopez bd0241
	else if(layer=="radial_blur")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_blur_radial");
Carlos Lopez bd0241
	// Distortion Layers
Carlos Lopez 550ae2
	else if(layer=="curve_warp")
Carlos Lopez 550ae2
		return Gtk::StockID("synfig-layer_distortion_curvewarp");
Carlos Lopez 550ae2
	else if(layer=="inside_out")
Carlos Lopez 550ae2
		return Gtk::StockID("synfig-layer_distortion_insideout");
Carlos Lopez 550ae2
	else if(layer=="noise_distort")
Carlos Lopez 550ae2
		return Gtk::StockID("synfig-layer_distortion_noise");
Carlos Lopez 550ae2
	else if(layer=="spherize")
Carlos Lopez 550ae2
		return Gtk::StockID("synfig-layer_distortion_spherize");
Carlos Lopez 550ae2
	else if(layer=="stretch")
Carlos Lopez 550ae2
		return Gtk::StockID("synfig-layer_distortion_stretch");
Carlos Lopez 550ae2
	else if(layer=="twirl")
Carlos Lopez 550ae2
		return Gtk::StockID("synfig-layer_distortion_twirl");
Carlos Lopez 550ae2
	else if(layer=="warp")
Carlos Lopez 550ae2
		return Gtk::StockID("synfig-layer_distortion_warp");
Carlos Lopez bd0241
	// Example Layers
Carlos Lopez bd0241
	else if(layer=="metaballs")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_example_metaballs");
Carlos Lopez bd0241
	else if(layer=="simple_circle")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_example_simplecircle");
Carlos Lopez bd0241
	// Filter Layers
Carlos Lopez 28bfe7
	else if(layer=="clamp")
Carlos Lopez 28bfe7
		return Gtk::StockID("synfig-layer_filter_clamp");
Carlos Lopez 28bfe7
	else if(layer=="colorcorrect")
Carlos Lopez 28bfe7
		return Gtk::StockID("synfig-layer_filter_colorcorrect");
Carlos Lopez 28bfe7
	else if(layer=="halftone2")
Carlos Lopez 28bfe7
		return Gtk::StockID("synfig-layer_filter_halftone2");
Carlos Lopez 28bfe7
	else if(layer=="halftone3")
Carlos Lopez 28bfe7
		return Gtk::StockID("synfig-layer_filter_halftone3");
Carlos Lopez 28bfe7
	else if(layer=="lumakey")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_filter_lumakey");
Carlos Lopez bd0241
	// Fractal Layers
Carlos Lopez 6426db
	else if(layer=="mandelbrot")
Carlos Lopez 6426db
		return Gtk::StockID("synfig-layer_fractal_mandelbrot");
Carlos Lopez 6426db
	else if(layer=="julia")
Carlos Lopez 6426db
		return Gtk::StockID("synfig-layer_fractal_julia");
Carlos Lopez bd0241
	// Geometry Layers
Carlos Lopez bd0241
	else if(layer=="checker_board")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_geometry_checkerboard");
Carlos Lopez bd0241
	else if(layer=="circle")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_geometry_circle");
Carlos Lopez bd0241
	else if(layer=="outline")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_geometry_outline");
Carlos Lopez dca1e8
	else if(layer=="advanced_outline")
Carlos Lopez dca1e8
		return Gtk::StockID("synfig-layer_geometry_advanced_outline");
Carlos Lopez bd0241
	else if(layer=="polygon")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_geometry_polygon");
Carlos Lopez bd0241
	else if(layer=="rectangle")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_geometry_rectangle");
Carlos Lopez bd0241
	else if(layer=="region")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_geometry_region");
Carlos Lopez c07be1
	else if(layer=="solid_color" || layer=="SolidColor")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_geometry_solidcolor");
Carlos Lopez bd0241
	else if(layer=="star")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_geometry_star");
Carlos Lopez bd0241
	// Gradient Layers
Carlos Lopez bd0241
	else if(layer=="conical_gradient")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_gradient_conical");
Carlos Lopez bd0241
	else if(layer=="curve_gradient")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_gradient_curve");
Carlos Lopez bd0241
	else if(layer=="noise")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_gradient_noise");
Carlos Lopez bd0241
	else if(layer=="linear_gradient")
Yu Chen 417cd7
		return Gtk::StockID("synfig-layer_gradient_linear");
Carlos Lopez bd0241
	else if(layer=="radial_gradient")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_gradient_radial");
Carlos Lopez bd0241
	else if(layer=="spiral_gradient")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_gradient_spiral");
Carlos Lopez bd0241
	// Other Layers
Carlos Lopez bd0241
	else if(layer=="duplicate")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_other_duplicate");
Carlos Lopez c07be1
	else if(layer=="importimage" || layer=="import")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_other_importimage");
a53027
	else if(layer=="group" || layer=="PasteCanvas" || layer=="pastecanvas" || layer=="paste_canvas")
Yu Chen 12cd96
		return Gtk::StockID("synfig-layer_other_pastecanvas");
Carlos Lopez bd0241
	else if(layer=="plant")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_other_plant");
Yu Chen 90edfe
	else if(layer=="stroboscope")
Yu Chen 90edfe
		return Gtk::StockID("synfig-layer_other_stroboscope");
Yu Chen 90edfe
	else if(layer=="skeleton")
Yu Chen 90edfe
		return Gtk::StockID("synfig-layer_other_skeleton");
Carlos Lopez 6eb327
	else if(layer=="super_sample")
Carlos Lopez 6eb327
		return Gtk::StockID("synfig-layer_other_supersample");
Yu Chen e075ee
	else if(layer=="switch")
Yu Chen e075ee
		return Gtk::StockID("synfig-layer_other_switch");
Carlos Lopez bd0241
	else if(layer=="text")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_other_text");
Yu Chen e075ee
	else if(layer=="sound")
Yu Chen e075ee
		return Gtk::StockID("synfig-layer_other_sound");
Carlos Lopez 6eb327
	else if(layer=="timeloop")
Carlos Lopez 6eb327
		return Gtk::StockID("synfig-layer_other_timeloop");
Carlos Lopez bd0241
	else if(layer=="xor_pattern")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_other_xorpattern");
Carlos Lopez bd0241
	// Stylize Layers
Carlos Lopez bd0241
	else if(layer=="bevel")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_stylize_bevel");
Carlos Lopez bd0241
	else if(layer=="shade")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_stylize_shade");
Carlos Lopez bd0241
	// Transform Layers
Carlos Lopez bd0241
	else if(layer=="rotate")
Carlos Lopez bd0241
		return Gtk::StockID("synfig-layer_transform_rotate");
Carlos Lopez 6eb327
	else if(layer=="translate")
Carlos Lopez 6eb327
		return Gtk::StockID("synfig-layer_transform_translate");
Carlos Lopez bd0241
	else if(layer=="zoom")
Carlos Lopez 62f213
		return Gtk::StockID("synfig-layer_transform_scale");
99b0b4
	else if(layer=="ghost_group")
99b0b4
		return Gtk::StockID("synfig-layer_ghost_group");
Carlos Lopez a09598
	else
Carlos Lopez a09598
		return Gtk::StockID("synfig-layer");
Carlos Lopez a09598
}
Carlos Lopez a09598
Carlos Lopez a09598
Glib::RefPtr<gdk::pixbuf></gdk::pixbuf>
Carlos Lopez a09598
studio::get_tree_pixbuf_layer(const synfig::String &layer)
Carlos Lopez a09598
{
3cbd34
	return Gtk::Button().render_icon_pixbuf(layer_icon(layer),Gtk::ICON_SIZE_SMALL_TOOLBAR);
Carlos Lopez a09598
}
Carlos Lopez 62f213