Remove .gitignore do nothing is ignored.
[synfig.git] / synfig-studio / trunk / src / gtkmm / state_polygon.cpp
index 8b17cd0..c016f1d 100644 (file)
@@ -500,9 +500,10 @@ StatePolygon_Context::run()
        int i;
        for(i=0,iter=polygon_point_list.begin();iter!=polygon_point_list.end();++iter,++i)
        {
+               *iter = transform.unperform(*iter);
                new_list.push_back(*(new BLinePoint));
                new_list[i].set_width(1);
-               new_list[i].set_vertex(transform.unperform(*iter));
+               new_list[i].set_vertex(*iter);
                new_list[i].set_tangent(Point(0,0));
        }
 
@@ -530,6 +531,12 @@ StatePolygon_Context::run()
        if (get_layer_polygon_flag())
        {
                layer=get_canvas_interface()->add_layer_to("polygon",canvas,depth);
+               if (!layer)
+               {
+                       get_canvas_view()->get_ui_interface()->error(_("Unable to create layer"));
+                       group.cancel();
+                       return;
+               }
                layer_selection.push_back(layer);
 
                layer->set_param("invert",get_invert());
@@ -544,13 +551,6 @@ StatePolygon_Context::run()
                layer->set_description(get_id());
                get_canvas_interface()->signal_layer_new_description()(layer,layer->get_description());
 
-
-               if(get_layer_outline_flag())
-               {
-                       layer->set_param("color",synfigapp::Main::get_background_color());
-                       get_canvas_interface()->signal_layer_param_changed()(layer,"color");
-               }
-
                layer->disconnect_dynamic_param("vector_list");
                if(!layer->set_param("vector_list",polygon_point_list))
                {
@@ -560,7 +560,7 @@ StatePolygon_Context::run()
                }
 
                {
-                       synfigapp::Action::Handle action(synfigapp::Action::create("value_desc_convert"));
+                       synfigapp::Action::Handle action(synfigapp::Action::create("ValueDescConvert"));
                        synfigapp::ValueDesc value_desc(layer,"vector_list");
                        action->set_param("canvas",get_canvas());
                        action->set_param("canvas_interface",get_canvas_interface());
@@ -570,7 +570,7 @@ StatePolygon_Context::run()
                        if(!get_canvas_interface()->get_instance()->perform_action(action))
                        {
                                group.cancel();
-                               get_canvas_view()->get_ui_interface()->error("Unable to execute action \"value_desc_convert\"");
+                               get_canvas_view()->get_ui_interface()->error("Unable to execute action \"ValueDescConvert\"");
                                return;
                        }
                }
@@ -578,7 +578,7 @@ StatePolygon_Context::run()
                // only link the polygon's origin parameter if the option is selected and we're creating more than one layer
                if (get_layer_link_origins_flag() && layers_to_create > 1)
                {
-                       synfigapp::Action::Handle action(synfigapp::Action::create("layer_param_connect"));
+                       synfigapp::Action::Handle action(synfigapp::Action::create("LayerParamConnect"));
                        assert(action);
 
                        action->set_param("canvas",get_canvas());
@@ -608,13 +608,18 @@ StatePolygon_Context::run()
                synfigapp::PushMode push_mode(get_canvas_interface(),synfigapp::MODE_NORMAL);
 
                Layer::Handle layer(get_canvas_interface()->add_layer_to("curve_gradient",canvas,depth));
-               assert(layer);
+               if (!layer)
+               {
+                       get_canvas_view()->get_ui_interface()->error(_("Unable to create layer"));
+                       group.cancel();
+                       return;
+               }
                layer_selection.push_back(layer);
                layer->set_description(get_id()+_(" Gradient"));
                get_canvas_interface()->signal_layer_new_description()(layer,layer->get_description());
 
                {
-                       synfigapp::Action::Handle action(synfigapp::Action::create("layer_param_connect"));
+                       synfigapp::Action::Handle action(synfigapp::Action::create("LayerParamConnect"));
                        assert(action);
 
                        action->set_param("canvas",get_canvas());
@@ -637,7 +642,7 @@ StatePolygon_Context::run()
                // only link the curve gradient's origin parameter if the option is selected and we're creating more than one layer
                if (get_layer_link_origins_flag() && layers_to_create > 1)
                {
-                       synfigapp::Action::Handle action(synfigapp::Action::create("layer_param_connect"));
+                       synfigapp::Action::Handle action(synfigapp::Action::create("LayerParamConnect"));
                        assert(action);
 
                        action->set_param("canvas",get_canvas());
@@ -667,13 +672,18 @@ StatePolygon_Context::run()
                synfigapp::PushMode push_mode(get_canvas_interface(),synfigapp::MODE_NORMAL);
 
                Layer::Handle layer(get_canvas_interface()->add_layer_to("plant",canvas,depth));
-               assert(layer);
+               if (!layer)
+               {
+                       get_canvas_view()->get_ui_interface()->error(_("Unable to create layer"));
+                       group.cancel();
+                       return;
+               }
                layer_selection.push_back(layer);
                layer->set_description(get_id()+_(" Plant"));
                get_canvas_interface()->signal_layer_new_description()(layer,layer->get_description());
 
                {
-                       synfigapp::Action::Handle action(synfigapp::Action::create("layer_param_connect"));
+                       synfigapp::Action::Handle action(synfigapp::Action::create("LayerParamConnect"));
                        assert(action);
 
                        action->set_param("canvas",get_canvas());
@@ -696,7 +706,7 @@ StatePolygon_Context::run()
                // only link the plant's origin parameter if the option is selected and we're creating more than one layer
                if (get_layer_link_origins_flag() && layers_to_create > 1)
                {
-                       synfigapp::Action::Handle action(synfigapp::Action::create("layer_param_connect"));
+                       synfigapp::Action::Handle action(synfigapp::Action::create("LayerParamConnect"));
                        assert(action);
 
                        action->set_param("canvas",get_canvas());
@@ -726,7 +736,12 @@ StatePolygon_Context::run()
                synfigapp::PushMode push_mode(get_canvas_interface(),synfigapp::MODE_NORMAL);
 
                Layer::Handle layer(get_canvas_interface()->add_layer_to("region",canvas,depth));
-               assert(layer);
+               if (!layer)
+               {
+                       get_canvas_view()->get_ui_interface()->error(_("Unable to create layer"));
+                       group.cancel();
+                       return;
+               }
                layer_selection.push_back(layer);
                layer->set_description(get_id()+_(" Region"));
                get_canvas_interface()->signal_layer_new_description()(layer,layer->get_description());
@@ -737,13 +752,10 @@ StatePolygon_Context::run()
                layer->set_param("invert",get_invert());
                get_canvas_interface()->signal_layer_param_changed()(layer,"invert");
 
-               if(get_layer_outline_flag())
-                       layer->set_param("color",synfigapp::Main::get_background_color());
-
-               // I don't know if it's safe to reuse the same layer_param_connect action, so I'm
+               // I don't know if it's safe to reuse the same LayerParamConnect action, so I'm
                // using 2 separate ones.
                {
-                       synfigapp::Action::Handle action(synfigapp::Action::create("layer_param_connect"));
+                       synfigapp::Action::Handle action(synfigapp::Action::create("LayerParamConnect"));
                        assert(action);
 
                        action->set_param("canvas",get_canvas());
@@ -766,7 +778,7 @@ StatePolygon_Context::run()
                // only link the region's origin parameter if the option is selected and we're creating more than one layer
                if (get_layer_link_origins_flag() && layers_to_create > 1)
                {
-                       synfigapp::Action::Handle action(synfigapp::Action::create("layer_param_connect"));
+                       synfigapp::Action::Handle action(synfigapp::Action::create("LayerParamConnect"));
                        assert(action);
 
                        action->set_param("canvas",get_canvas());
@@ -794,7 +806,12 @@ StatePolygon_Context::run()
        if (get_layer_outline_flag())
        {
                Layer::Handle layer(get_canvas_interface()->add_layer_to("outline",canvas,depth));
-               assert(layer);
+               if (!layer)
+               {
+                       get_canvas_view()->get_ui_interface()->error(_("Unable to create layer"));
+                       group.cancel();
+                       return;
+               }
                layer_selection.push_back(layer);
                layer->set_description(get_id()+_(" Outline"));
                get_canvas_interface()->signal_layer_new_description()(layer,layer->get_description());
@@ -806,7 +823,7 @@ StatePolygon_Context::run()
                get_canvas_interface()->signal_layer_param_changed()(layer,"invert");
 
                {
-                       synfigapp::Action::Handle action(synfigapp::Action::create("layer_param_connect"));
+                       synfigapp::Action::Handle action(synfigapp::Action::create("LayerParamConnect"));
                        assert(action);
 
                        action->set_param("canvas",get_canvas());
@@ -829,7 +846,7 @@ StatePolygon_Context::run()
                // only link the outline's origin parameter if the option is selected and we're creating more than one layer
                if (get_layer_link_origins_flag() && layers_to_create > 1)
                {
-                       synfigapp::Action::Handle action(synfigapp::Action::create("layer_param_connect"));
+                       synfigapp::Action::Handle action(synfigapp::Action::create("LayerParamConnect"));
                        assert(action);
 
                        action->set_param("canvas",get_canvas());
@@ -872,10 +889,6 @@ StatePolygon_Context::event_mouse_click_handler(const Smach::event& x)
                refresh_ducks();
                return Smach::RESULT_ACCEPT;
 
-       case BUTTON_RIGHT: // Intercept the right-button click to short-circuit the pop-up menu
-               if (!getenv("SYNFIG_ENABLE_POPUP_MENU_IN_ALL_TOOLS"))
-                       return Smach::RESULT_ACCEPT;
-
        default:
                return Smach::RESULT_OK;
        }