Remove .gitignore do nothing is ignored.
[synfig.git] / synfig-studio / trunk / src / synfigapp / actions / waypointset.cpp
index 00c916a..f99cbb0 100644 (file)
@@ -2,19 +2,20 @@
 /*!    \file waypointset.cpp
 **     \brief Template File
 **
-**     $Id: waypointset.cpp,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $
+**     $Id$
 **
 **     \legal
-**     Copyright (c) 2002 Robert B. Quattlebaum Jr.
+**     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
 **
-**     This software and associated documentation
-**     are CONFIDENTIAL and PROPRIETARY property of
-**     the above-mentioned copyright holder.
+**     This package is free software; you can redistribute it and/or
+**     modify it under the terms of the GNU General Public License as
+**     published by the Free Software Foundation; either version 2 of
+**     the License, or (at your option) any later version.
 **
-**     You may not copy, print, publish, or in any
-**     other way distribute this software without
-**     a prior written agreement with
-**     the copyright holder.
+**     This package is distributed in the hope that it will be useful,
+**     but WITHOUT ANY WARRANTY; without even the implied warranty of
+**     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+**     General Public License for more details.
 **     \endlegal
 */
 /* ========================================================================= */
@@ -31,6 +32,8 @@
 #include "waypointset.h"
 #include <synfigapp/canvasinterface.h>
 
+#include <synfigapp/general.h>
+
 #endif
 
 using namespace std;
@@ -42,13 +45,13 @@ using namespace Action;
 /* === M A C R O S ========================================================= */
 
 ACTION_INIT(Action::WaypointSet);
-ACTION_SET_NAME(Action::WaypointSet,"waypoint_set");
-ACTION_SET_LOCAL_NAME(Action::WaypointSet,"Set Waypoint");
+ACTION_SET_NAME(Action::WaypointSet,"WaypointSet");
+ACTION_SET_LOCAL_NAME(Action::WaypointSet,N_("Set Waypoint"));
 ACTION_SET_TASK(Action::WaypointSet,"set");
 ACTION_SET_CATEGORY(Action::WaypointSet,Action::CATEGORY_WAYPOINT);
 ACTION_SET_PRIORITY(Action::WaypointSet,0);
 ACTION_SET_VERSION(Action::WaypointSet,"0.0");
-ACTION_SET_CVS_ID(Action::WaypointSet,"$Id: waypointset.cpp,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $");
+ACTION_SET_CVS_ID(Action::WaypointSet,"$Id$");
 
 /* === G L O B A L S ======================================================= */
 
@@ -65,7 +68,7 @@ Action::ParamVocab
 Action::WaypointSet::get_param_vocab()
 {
        ParamVocab ret(Action::CanvasSpecific::get_param_vocab());
-       
+
        ret.push_back(ParamDesc("value_node",Param::TYPE_VALUENODE)
                .set_local_name(_("Destination ValueNode (Animated)"))
        );
@@ -80,9 +83,9 @@ Action::WaypointSet::get_param_vocab()
 }
 
 bool
-Action::WaypointSet::is_canidate(const ParamList &x)
+Action::WaypointSet::is_candidate(const ParamList &x)
 {
-       return canidate_check(get_param_vocab(),x);
+       return candidate_check(get_param_vocab(),x);
 }
 
 bool
@@ -91,14 +94,14 @@ Action::WaypointSet::set_param(const synfig::String& name, const Action::Param &
        if(name=="value_node" && param.get_type()==Param::TYPE_VALUENODE)
        {
                value_node=ValueNode_Animated::Handle::cast_dynamic(param.get_value_node());
-               
+
                return static_cast<bool>(value_node);
        }
        if(name=="waypoint" && param.get_type()==Param::TYPE_WAYPOINT)
        {
                //NOTE: at the moment there is no error checking for multiple sets!!!
                waypoints.push_back(param.get_waypoint());
-               
+
                return true;
        }
 
@@ -115,13 +118,13 @@ Action::WaypointSet::is_ready()const
 
 void
 Action::WaypointSet::perform()
-{      
+{
        WaypointList::iterator iter;
 
-#if 1  
+#if 1
        vector<WaypointList::iterator>  iters;
-       vector<Waypoint>::iterator i = waypoints.begin(), end = waypoints.end();        
-       
+       vector<Waypoint>::iterator i = waypoints.begin(), end = waypoints.end();
+
        for(; i != end; ++i)
        {
                try { iters.push_back(value_node->find(*i)); }
@@ -130,16 +133,16 @@ Action::WaypointSet::perform()
                        throw Error(_("Unable to find waypoint"));
                }
        }
-       
+
        //check to see which valuenodes are going to override because of the time...
        ValueNode_Animated::findresult timeiter;
-       
+
        for(i = waypoints.begin(); i != end; ++i)
        {
                timeiter = value_node->find_time(i->get_time());
-               
+
                bool candelete = timeiter.second;
-       
+
                //we only want to track overwrites (not waypoints that are also being modified)
                if(candelete)
                {
@@ -152,7 +155,7 @@ Action::WaypointSet::perform()
                                }
                        }
                }
-               
+
                //if we can still delete it after checking, record it, and then remove them all later
                if(candelete)
                {
@@ -160,7 +163,7 @@ Action::WaypointSet::perform()
                        overwritten_waypoints.push_back(w);
                }
        }
-       
+
        //overwrite all the valuenodes we're supposed to set
        {
                i = waypoints.begin();
@@ -170,8 +173,8 @@ Action::WaypointSet::perform()
                        **ii = *i; //set the point to the corresponding point in the normal waypoint list
                }
        }
-       
-       //remove all the points we're supposed to be overwritting
+
+       //remove all the points we're supposed to be overwriting
        {
                vector<Waypoint>::iterator      oi = overwritten_waypoints.begin(),
                                                                        oend = overwritten_waypoints.end();
@@ -191,27 +194,27 @@ Action::WaypointSet::perform()
        //find the value at the old time before we replace it
        ValueNode_Animated::findresult timeiter;
        timeiter = value_node->find_time(waypoint.get_time());
-       
+
        //we only want to track overwrites (not inplace modifications)
        if(timeiter.second && waypoint.get_uid() == timeiter.first->get_uid())
        {
-               timeiter.second = false;                        
+               timeiter.second = false;
        }
-               
+
        //copy and overwrite
        old_waypoint=*iter;
        *iter=waypoint;
-       
+
        //if we've found a unique one then we need to erase it, but store it first
        if(timeiter.second)
        {
                time_overwrite = true;
                overwritten_wp = *timeiter.first;
-               
+
                value_node->erase(overwritten_wp);
        }
 #endif
-       
+
        // Signal that a valuenode has been changed
        value_node->changed();
 }
@@ -220,10 +223,10 @@ void
 Action::WaypointSet::undo()
 {
        WaypointList::iterator iter;
-       
+
 #if 1
-       vector<Waypoint>::iterator i = old_waypoints.begin(), end = old_waypoints.end();        
-       
+       vector<Waypoint>::iterator i = old_waypoints.begin(), end = old_waypoints.end();
+
        for(; i != end; ++i)
        {
                try { iter = value_node->find(*i); }
@@ -231,11 +234,11 @@ Action::WaypointSet::undo()
                {
                        throw Error(_("Unable to find waypoint"));
                }
-               
+
                //overwrite with old one
                *iter = *i;
        }
-               
+
        //add back in all the points that we removed before...
        {
                vector<Waypoint>::iterator      oi = overwritten_waypoints.begin(),
@@ -251,16 +254,16 @@ Action::WaypointSet::undo()
        catch(synfig::Exception::NotFound)
        {
                throw Error(_("Unable to find waypoint"));
-       }       
+       }
 
        *iter=old_waypoint;
-       
+
        if(time_overwrite)
        {
                value_node->add(overwritten_wp);
        }
 #endif
-       
+
        // Signal that a valuenode has been changed
        value_node->changed();
 }