X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Fstate_bline.cpp;h=7a27d84e253a1b897acd87c4472c455860713503;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=8c4ec08cb400ecbd862db3ec24a5599860282b25;hpb=8b41832930729fa5a89584fe9bcd91c45a454be2;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/state_bline.cpp b/synfig-studio/trunk/src/gtkmm/state_bline.cpp index 8c4ec08..7a27d84 100644 --- a/synfig-studio/trunk/src/gtkmm/state_bline.cpp +++ b/synfig-studio/trunk/src/gtkmm/state_bline.cpp @@ -120,7 +120,7 @@ class studio::StateBLine_Context : public sigc::trackable Gtk::CheckButton checkbutton_layer_outline; Gtk::CheckButton checkbutton_layer_curve_gradient; Gtk::CheckButton checkbutton_layer_plant; - Gtk::CheckButton checkbutton_layer_link_offsets; + Gtk::CheckButton checkbutton_layer_link_origins; Gtk::CheckButton checkbutton_auto_export; Gtk::Button button_make; Gtk::Button button_clear; @@ -161,8 +161,8 @@ public: bool get_layer_plant_flag()const { return checkbutton_layer_plant.get_active(); } void set_layer_plant_flag(bool x) { return checkbutton_layer_plant.set_active(x); } - bool get_layer_link_offsets_flag()const { return checkbutton_layer_link_offsets.get_active(); } - void set_layer_link_offsets_flag(bool x) { return checkbutton_layer_link_offsets.set_active(x); } + bool get_layer_link_origins_flag()const { return checkbutton_layer_link_origins.get_active(); } + void set_layer_link_origins_flag(bool x) { return checkbutton_layer_link_origins.set_active(x); } Real get_feather() const { return adj_feather.get_value(); } void set_feather(Real x) { return adj_feather.set_value(x); } @@ -257,10 +257,10 @@ StateBLine_Context::load_settings() else set_layer_plant_flag(false); - if(settings.get_value("bline.layer_link_offsets",value) && value=="0") - set_layer_link_offsets_flag(false); + if(settings.get_value("bline.layer_link_origins",value) && value=="0") + set_layer_link_origins_flag(false); else - set_layer_link_offsets_flag(true); + set_layer_link_origins_flag(true); if(settings.get_value("bline.auto_export",value) && value=="1") set_auto_export_flag(true); @@ -289,7 +289,7 @@ StateBLine_Context::save_settings() settings.set_value("bline.layer_region",get_layer_region_flag()?"1":"0"); settings.set_value("bline.layer_curve_gradient",get_layer_curve_gradient_flag()?"1":"0"); settings.set_value("bline.layer_plant",get_layer_plant_flag()?"1":"0"); - settings.set_value("bline.layer_link_offsets",get_layer_link_offsets_flag()?"1":"0"); + settings.set_value("bline.layer_link_origins",get_layer_link_origins_flag()?"1":"0"); settings.set_value("bline.auto_export",get_auto_export_flag()?"1":"0"); settings.set_value("bline.id",get_id().c_str()); settings.set_value("bline.feather",strprintf("%f",get_feather())); @@ -358,11 +358,11 @@ StateBLine_Context::StateBLine_Context(CanvasView* canvas_view): duckmatic_push(get_work_area()), settings(synfigapp::Main::get_selected_input_device()->settings()), entry_id(), - checkbutton_layer_region(_("Fill")), - checkbutton_layer_outline(_("Outline")), - checkbutton_layer_curve_gradient(_("Gradient")), - checkbutton_layer_plant(_("Plant")), - checkbutton_layer_link_offsets(_("Link Offsets")), + checkbutton_layer_region(_("Create Region BLine")), + checkbutton_layer_outline(_("Create Outline BLine")), + checkbutton_layer_curve_gradient(_("Create Curve Gradient BLine")), + checkbutton_layer_plant(_("Create Plant BLine")), + checkbutton_layer_link_origins(_("Link Origins")), checkbutton_auto_export(_("Auto Export")), button_make(_("Make")), button_clear(_("Clear")), @@ -374,16 +374,16 @@ StateBLine_Context::StateBLine_Context(CanvasView* canvas_view): load_settings(); // Set up the tool options dialog - //options_table.attach(*manage(new Gtk::Label(_("BLine 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(checkbutton_layer_outline, 0, 2, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); - options_table.attach(checkbutton_layer_region, 0, 2, 3, 4, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); - options_table.attach(checkbutton_layer_plant, 0, 2, 4, 5, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); - options_table.attach(checkbutton_layer_curve_gradient, 0, 2, 5, 6, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); - options_table.attach(checkbutton_layer_link_offsets, 0, 2, 6, 7, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); - options_table.attach(checkbutton_auto_export, 0, 2, 7, 8, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); - options_table.attach(*manage(new Gtk::Label(_("Feather"))), 0, 1, 10, 11, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); - options_table.attach(spin_feather, 1, 2, 10, 11, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); + options_table.attach(*manage(new Gtk::Label(_("BLine 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(checkbutton_layer_outline, 0, 2, 2, 3, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); + options_table.attach(checkbutton_layer_region, 0, 2, 3, 4, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); + options_table.attach(checkbutton_layer_plant, 0, 2, 4, 5, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); + options_table.attach(checkbutton_layer_curve_gradient, 0, 2, 5, 6, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); + options_table.attach(checkbutton_layer_link_origins, 0, 2, 6, 7, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); + options_table.attach(checkbutton_auto_export, 0, 2, 7, 8, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); + options_table.attach(*manage(new Gtk::Label(_("Feather"))), 0, 1, 10, 11, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); + options_table.attach(spin_feather, 1, 2, 10, 11, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); //options_table.attach(button_make, 0, 2, 5, 6, Gtk::EXPAND|Gtk::FILL, Gtk::EXPAND|Gtk::FILL, 0, 0); //button_make.signal_pressed().connect(sigc::mem_fun(*this,&StateBLine_Context::run)); options_table.show_all(); @@ -569,8 +569,8 @@ StateBLine_Context::run_() ValueNode_BLine::Handle value_node_bline(ValueNode_BLine::create(new_list)); assert(value_node_bline); - ValueNode_Const::Handle value_node_offset(ValueNode_Const::create(Vector())); - assert(value_node_offset); + ValueNode_Const::Handle value_node_origin(ValueNode_Const::create(Vector())); + assert(value_node_origin); // Set the looping flag value_node_bline->set_loop(loop_); @@ -621,13 +621,17 @@ StateBLine_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) + { + group.cancel(); + throw String(_("Unable to create layer")); + } 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()); @@ -647,18 +651,18 @@ StateBLine_Context::run_() } } - // only link the curve gradient's offset parameter if the option is selected and we're creating more than one layer - if (get_layer_link_offsets_flag() && layers_to_create > 1) + // 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()); action->set_param("canvas_interface",get_canvas_interface()); action->set_param("layer",layer); - if(!action->set_param("param",String("offset"))) + if(!action->set_param("param",String("origin"))) synfig::error("LayerParamConnect didn't like \"param\""); - if(!action->set_param("value_node",ValueNode::Handle(value_node_offset))) + if(!action->set_param("value_node",ValueNode::Handle(value_node_origin))) synfig::error("LayerParamConnect didn't like \"value_node\""); if(!get_canvas_interface()->get_instance()->perform_action(action)) @@ -680,13 +684,17 @@ StateBLine_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) + { + group.cancel(); + throw String(_("Unable to create layer")); + } 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()); @@ -706,18 +714,18 @@ StateBLine_Context::run_() } } - // only link the plant's offset parameter if the option is selected and we're creating more than one layer - if (get_layer_link_offsets_flag() && layers_to_create > 1) + // 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()); action->set_param("canvas_interface",get_canvas_interface()); action->set_param("layer",layer); - if(!action->set_param("param",String("offset"))) + if(!action->set_param("param",String("origin"))) synfig::error("LayerParamConnect didn't like \"param\""); - if(!action->set_param("value_node",ValueNode::Handle(value_node_offset))) + if(!action->set_param("value_node",ValueNode::Handle(value_node_origin))) synfig::error("LayerParamConnect didn't like \"value_node\""); if(!get_canvas_interface()->get_instance()->perform_action(action)) @@ -739,7 +747,11 @@ StateBLine_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) + { + group.cancel(); + throw String(_("Unable to create layer")); + } layer_selection.push_back(layer); layer->set_description(get_id()+_(" Region")); get_canvas_interface()->signal_layer_new_description()(layer,layer->get_description()); @@ -750,13 +762,10 @@ StateBLine_Context::run_() get_canvas_interface()->signal_layer_param_changed()(layer,"feather"); } - 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()); @@ -776,18 +785,18 @@ StateBLine_Context::run_() } } - // only link the region's offset parameter if the option is selected and we're creating more than one layer - if (get_layer_link_offsets_flag() && layers_to_create > 1) + // 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()); action->set_param("canvas_interface",get_canvas_interface()); action->set_param("layer",layer); - if(!action->set_param("param",String("offset"))) + if(!action->set_param("param",String("origin"))) synfig::error("LayerParamConnect didn't like \"param\""); - if(!action->set_param("value_node",ValueNode::Handle(value_node_offset))) + if(!action->set_param("value_node",ValueNode::Handle(value_node_origin))) synfig::error("LayerParamConnect didn't like \"value_node\""); if(!get_canvas_interface()->get_instance()->perform_action(action)) @@ -809,7 +818,11 @@ StateBLine_Context::run_() synfigapp::PushMode push_mode(get_canvas_interface(),synfigapp::MODE_NORMAL); Layer::Handle layer(get_canvas_interface()->add_layer_to("outline",canvas,depth)); - assert(layer); + if (!layer) + { + group.cancel(); + throw String(_("Unable to create layer")); + } layer_selection.push_back(layer); layer->set_description(get_id()+_(" Outline")); get_canvas_interface()->signal_layer_new_description()(layer,layer->get_description()); @@ -820,7 +833,7 @@ StateBLine_Context::run_() } { - 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()); @@ -840,18 +853,18 @@ StateBLine_Context::run_() } } - // only link the outline's offset parameter if the option is selected and we're creating more than one layer - if (get_layer_link_offsets_flag() && layers_to_create > 1) + // 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()); action->set_param("canvas_interface",get_canvas_interface()); action->set_param("layer",layer); - if(!action->set_param("param",String("offset"))) + if(!action->set_param("param",String("origin"))) synfig::error("LayerParamConnect didn't like \"param\""); - if(!action->set_param("value_node",ValueNode::Handle(value_node_offset))) + if(!action->set_param("value_node",ValueNode::Handle(value_node_origin))) synfig::error("LayerParamConnect didn't like \"value_node\""); if(!get_canvas_interface()->get_instance()->perform_action(action)) @@ -967,10 +980,6 @@ StateBLine_Context::event_mouse_click_handler(const Smach::event& x) 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; }