Rename all 'pos' parameters to 'origin'.
[synfig.git] / synfig-studio / trunk / src / gtkmm / state_circle.cpp
index 0b25a57..b83431b 100644 (file)
@@ -115,8 +115,8 @@ class studio::StateCircle_Context : public sigc::trackable
        Gtk::SpinButton spin_number_of_bline_points;
        Gtk::SpinButton spin_bline_point_angle_offset;
 
-       Gtk::CheckButton checkbutton_layer_circle;
        Gtk::CheckButton checkbutton_invert;
+       Gtk::CheckButton checkbutton_layer_circle;
        Gtk::CheckButton checkbutton_layer_region;
        Gtk::CheckButton checkbutton_layer_outline;
        Gtk::CheckButton checkbutton_layer_curve_gradient;
@@ -156,12 +156,12 @@ public:
        Real get_bline_point_angle_offset()const { return adj_bline_point_angle_offset.get_value(); }
        void set_bline_point_angle_offset(Real f) { adj_bline_point_angle_offset.set_value(f); }
 
-       bool get_layer_circle_flag()const { return checkbutton_layer_circle.get_active(); }
-       void set_layer_circle_flag(bool x) { return checkbutton_layer_circle.set_active(x); }
-
        bool get_invert()const { return checkbutton_invert.get_active(); }
        void set_invert(bool i) { checkbutton_invert.set_active(i); }
 
+       bool get_layer_circle_flag()const { return checkbutton_layer_circle.get_active(); }
+       void set_layer_circle_flag(bool x) { return checkbutton_layer_circle.set_active(x); }
+
        bool get_layer_region_flag()const { return checkbutton_layer_region.get_active(); }
        void set_layer_region_flag(bool x) { return checkbutton_layer_region.set_active(x); }
 
@@ -269,16 +269,16 @@ StateCircle_Context::load_settings()
        else
                set_bline_point_angle_offset(0);
 
-       if(settings.get_value("circle.layer_circle",value) && value=="0")
-               set_layer_circle_flag(false);
-       else
-               set_layer_circle_flag(true);
-
        if(settings.get_value("circle.invert",value) && value != "0")
                set_invert(true);
        else
                set_invert(false);
 
+       if(settings.get_value("circle.layer_circle",value) && value=="0")
+               set_layer_circle_flag(false);
+       else
+               set_layer_circle_flag(true);
+
        if(settings.get_value("circle.layer_region",value) && value=="1")
                set_layer_region_flag(true);
        else
@@ -316,8 +316,8 @@ StateCircle_Context::save_settings()
        settings.set_value("circle.feather",strprintf("%f",(float)get_feather()));
        settings.set_value("circle.number_of_bline_points",strprintf("%d",(int)(get_number_of_bline_points() + 0.5)));
        settings.set_value("circle.bline_point_angle_offset",strprintf("%f",(float)get_bline_point_angle_offset()));
-       settings.set_value("circle.layer_circle",get_layer_circle_flag()?"1":"0");
        settings.set_value("circle.invert",get_invert()?"1":"0");
+       settings.set_value("circle.layer_circle",get_layer_circle_flag()?"1":"0");
        settings.set_value("circle.layer_outline",get_layer_outline_flag()?"1":"0");
        settings.set_value("circle.layer_region",get_layer_region_flag()?"1":"0");
        settings.set_value("circle.layer_curve_gradient",get_layer_curve_gradient_flag()?"1":"0");
@@ -399,8 +399,8 @@ StateCircle_Context::StateCircle_Context(CanvasView* canvas_view):
 {
        egress_on_selection_change=true;
        // Set up the tool options dialog
-       //options_table.attach(*manage(new Gtk::Label(_("Circle Tool"))), 0, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
-       options_table.attach(entry_id, 0, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
+       options_table.attach(*manage(new Gtk::Label(_("Circle Tool"))), 0, 2, 0, 1, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
+       options_table.attach(entry_id,                                                                  0, 2, 1, 2, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0);
 
        enum_falloff.set_param_desc(ParamDesc("falloff")
                .set_local_name(_("Falloff"))
@@ -594,8 +594,8 @@ StateCircle_Context::make_circle(const Point& _p1, const Point& _p2)
                layer=get_canvas_interface()->add_layer_to("circle",canvas,depth);
                layer_selection.push_back(layer);
 
-               layer->set_param("pos",p1);
-               get_canvas_interface()->signal_layer_param_changed()(layer,"pos");
+               layer->set_param("origin",p1);
+               get_canvas_interface()->signal_layer_param_changed()(layer,"origin");
 
                layer->set_param("radius",(p2-p1).mag());
                get_canvas_interface()->signal_layer_param_changed()(layer,"radius");
@@ -616,6 +616,12 @@ StateCircle_Context::make_circle(const Point& _p1, const Point& _p2)
 
                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");
+               }
        }
 
        ///////////////////////////////////////////////////////////////////////////