Remove .gitignore do nothing is ignored.
[synfig.git] / synfig-studio / trunk / src / synfigapp / actions / blinepointtangentmerge.cpp
index fd32ef1..75d775e 100644 (file)
@@ -6,6 +6,7 @@
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 2007, 2008 Chris Moore
 **
 **     This package is free software; you can redistribute it and/or
 **     modify it under the terms of the GNU General Public License as
@@ -38,6 +39,8 @@
 #include "valuedescconnect.h"
 #include <synfigapp/canvasinterface.h>
 
+#include <synfigapp/general.h>
+
 #endif
 
 using namespace std;
@@ -48,9 +51,9 @@ using namespace Action;
 
 /* === M A C R O S ========================================================= */
 
-ACTION_INIT(Action::BLinePointTangentMerge);
-ACTION_SET_NAME(Action::BLinePointTangentMerge,"bline_point_tangent_merge");
-ACTION_SET_LOCAL_NAME(Action::BLinePointTangentMerge,_("Merge Tangents"));
+ACTION_INIT_NO_GET_LOCAL_NAME(Action::BLinePointTangentMerge);
+ACTION_SET_NAME(Action::BLinePointTangentMerge,"BLinePointTangentMerge");
+ACTION_SET_LOCAL_NAME(Action::BLinePointTangentMerge,N_("Merge Tangents"));
 ACTION_SET_TASK(Action::BLinePointTangentMerge,"merge");
 ACTION_SET_CATEGORY(Action::BLinePointTangentMerge,Action::CATEGORY_VALUENODE);
 ACTION_SET_PRIORITY(Action::BLinePointTangentMerge,0);
@@ -69,6 +72,12 @@ Action::BLinePointTangentMerge::BLinePointTangentMerge()
        set_dirty(true);
 }
 
+synfig::String
+Action::BLinePointTangentMerge::get_local_name()const
+{
+       return strprintf(_("Merge Tangents of '%s'"), ((ValueNode::Handle)(value_node))->get_description().c_str());
+}
+
 Action::ParamVocab
 Action::BLinePointTangentMerge::get_param_vocab()
 {
@@ -142,63 +151,19 @@ Action::BLinePointTangentMerge::prepare()
 
        Action::Handle action;
 
-       {
-               action=Action::create("value_desc_set");
-               if(!action)
-                       throw Error(_("Couldn't find action \"value_desc_set\""));
-
-               action->set_param("canvas",get_canvas());
-               action->set_param("canvas_interface",get_canvas_interface());
-               action->set_param("value_desc",ValueDesc(value_node,3));
-               action->set_param("time",time);
-               action->set_param("new_value",synfig::ValueBase(false));
+       action=Action::create("ValueDescSet");
+       if(!action)
+               throw Error(_("Couldn't find action \"ValueDescSet\""));
 
-               assert(action->is_ready());
-               if(!action->is_ready())
-                       throw Error(Error::TYPE_NOTREADY);
+       action->set_param("canvas",get_canvas());
+       action->set_param("canvas_interface",get_canvas_interface());
+       action->set_param("value_desc",ValueDesc(value_node,3));
+       action->set_param("time",time);
+       action->set_param("new_value",synfig::ValueBase(false));
 
-               add_action(action);
-       }
+       assert(action->is_ready());
+       if(!action->is_ready())
+               throw Error(Error::TYPE_NOTREADY);
 
-       // the merged tangent should be the average of the 2 tangents we're merging
-       ValueBase average(((Vector)((*value_node->get_link("t1"))(time)) +
-                                          (Vector)((*value_node->get_link("t2"))(time))) / 2);
-
-       {
-               // set tangent1
-               action=Action::create("value_desc_set");
-               if(!action)
-                       throw Error(_("Couldn't find action \"value_desc_set\""));
-
-               action->set_param("canvas",get_canvas());
-               action->set_param("canvas_interface",get_canvas_interface());
-               action->set_param("value_desc",ValueDesc(value_node,4));
-               action->set_param("time",time);
-               action->set_param("new_value",average);
-
-               assert(action->is_ready());
-               if(!action->is_ready())
-                       throw Error(Error::TYPE_NOTREADY);
-
-               add_action(action);
-       }
-
-       {
-               // set tangent2
-               action=Action::create("value_desc_set");
-               if(!action)
-                       throw Error(_("Couldn't find action \"value_desc_set\""));
-
-               action->set_param("canvas",get_canvas());
-               action->set_param("canvas_interface",get_canvas_interface());
-               action->set_param("value_desc",ValueDesc(value_node,5));
-               action->set_param("time",time);
-               action->set_param("new_value",average);
-
-               assert(action->is_ready());
-               if(!action->is_ready())
-                       throw Error(Error::TYPE_NOTREADY);
-
-               add_action(action);
-       }
+       add_action(action);
 }