X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fsynfigapp%2Factions%2Fvaluenodereplace.cpp;h=6e92937440bfccca7f94ca2086e527cd84fdf7f5;hb=334e15ce6c4d9b1f30a168a55e7ef4d31320d568;hp=3e8047a54957375c6094a9d3d2d7d3e2a3a62706;hpb=ce408de81ca266b1f334ee9bc6c8fb7ba1492ed4;p=synfig.git diff --git a/synfig-studio/trunk/src/synfigapp/actions/valuenodereplace.cpp b/synfig-studio/trunk/src/synfigapp/actions/valuenodereplace.cpp index 3e8047a..6e92937 100644 --- a/synfig-studio/trunk/src/synfigapp/actions/valuenodereplace.cpp +++ b/synfig-studio/trunk/src/synfigapp/actions/valuenodereplace.cpp @@ -2,7 +2,7 @@ /*! \file valuenodereplace.cpp ** \brief Template File ** -** $Id: valuenodereplace.cpp,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $ +** $Id$ ** ** \legal ** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley @@ -32,6 +32,8 @@ #include "valuenodereplace.h" #include +#include + #endif using namespace std; @@ -44,12 +46,12 @@ using namespace Action; ACTION_INIT(Action::ValueNodeReplace); ACTION_SET_NAME(Action::ValueNodeReplace,"value_node_replace"); -ACTION_SET_LOCAL_NAME(Action::ValueNodeReplace,"Replace ValueNode"); +ACTION_SET_LOCAL_NAME(Action::ValueNodeReplace,N_("Replace ValueNode")); ACTION_SET_TASK(Action::ValueNodeReplace,"replace"); ACTION_SET_CATEGORY(Action::ValueNodeReplace,Action::CATEGORY_VALUENODE|Action::CATEGORY_DRAG); ACTION_SET_PRIORITY(Action::ValueNodeReplace,0); ACTION_SET_VERSION(Action::ValueNodeReplace,"0.0"); -ACTION_SET_CVS_ID(Action::ValueNodeReplace,"$Id: valuenodereplace.cpp,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $"); +ACTION_SET_CVS_ID(Action::ValueNodeReplace,"$Id$"); /* === G L O B A L S ======================================================= */ @@ -62,7 +64,7 @@ void swap_guid(const ValueNode::Handle& a,const ValueNode::Handle& b) GUID old_b(b->get_guid()); b->set_guid(GUID()); - + a->set_guid(old_b); b->set_guid(old_a); } @@ -78,7 +80,7 @@ Action::ParamVocab Action::ValueNodeReplace::get_param_vocab() { ParamVocab ret(Action::CanvasSpecific::get_param_vocab()); - + ret.push_back(ParamDesc("dest",Param::TYPE_VALUENODE) .set_local_name(_("Destination ValueNode")) .set_desc(_("ValueNode to replaced")) @@ -88,14 +90,14 @@ Action::ValueNodeReplace::get_param_vocab() .set_local_name(_("Source ValueNode")) .set_desc(_("ValueNode that will replace the destination")) ); - + return ret; } bool -Action::ValueNodeReplace::is_canidate(const ParamList &x) +Action::ValueNodeReplace::is_candidate(const ParamList &x) { - return canidate_check(get_param_vocab(),x); + return candidate_check(get_param_vocab(),x); } bool @@ -104,14 +106,14 @@ Action::ValueNodeReplace::set_param(const synfig::String& name, const Action::Pa if(name=="dest" && param.get_type()==Param::TYPE_VALUENODE) { dest_value_node=param.get_value_node(); - + return true; } if(name=="src" && param.get_type()==Param::TYPE_VALUENODE) { src_value_node=param.get_value_node(); - + return true; } @@ -136,47 +138,47 @@ Action::ValueNodeReplace::perform() if(dest_value_node->get_type() != src_value_node->get_type()) throw Error(_("You cannot replace ValueNodes with different types!")); - + is_undoable=true; - + if(!src_value_node->is_exported()) { src_value_node->set_id(dest_value_node->get_id()); src_value_node->set_parent_canvas(dest_value_node->get_parent_canvas()); ValueNode::RHandle value_node(src_value_node); - + if(!value_node.runique() && value_node.rcount()>1) is_undoable=false; // !!! } else is_undoable=false; // !!! - + if(!is_undoable) synfig::warning("ValueNodeReplace: Circumstances make undoing this action impossible at the current time. :("); - + ValueNode::RHandle value_node(dest_value_node); - + if(value_node.runique() || value_node.rcount()<=1) throw Error(_("Nothing to replace.")); - + int replacements; - + replacements=value_node->replace(src_value_node); assert(replacements); if(!replacements) throw Error(_("Action Failure. This is a bug. Please report it.")); swap_guid(dest_value_node,src_value_node); - + //src_value_node->parent_set.swap(dest_value_node->parent_set); - + // Signal that a layer has been inserted if(get_canvas_interface()) { get_canvas_interface()->signal_value_node_replaced()(dest_value_node,src_value_node); } else synfig::warning("CanvasInterface not set on action"); - + } void @@ -184,7 +186,7 @@ Action::ValueNodeReplace::undo() { if(!is_undoable) throw Error(_("This action cannot be undone under these circumstances.")); - + set_dirty(true); if(dest_value_node == src_value_node) @@ -192,14 +194,14 @@ Action::ValueNodeReplace::undo() if(dest_value_node->get_type() != src_value_node->get_type()) throw Error(_("You cannot replace ValueNodes with different types!")); - + ValueNode::RHandle value_node(src_value_node); - + if(value_node.runique() || value_node.rcount()<=1) throw Error(_("Nothing to replace.")); - + int replacements; - + replacements=value_node->replace(dest_value_node); assert(replacements); if(!replacements) @@ -207,17 +209,17 @@ Action::ValueNodeReplace::undo() swap_guid(dest_value_node,src_value_node); //src_value_node->parent_set.swap(dest_value_node->parent_set); - + synfig::info(get_name()+_(": (Undo) ")+strprintf("Replaced %d ValueNode instances",replacements)); src_value_node->set_id(String()); src_value_node->set_parent_canvas(0); - + // Signal that a layer has been inserted if(get_canvas_interface()) { get_canvas_interface()->signal_value_node_replaced()(src_value_node,dest_value_node); } else synfig::warning("CanvasInterface not set on action"); - + }