Added copyright lines for files I've edited this year.
[synfig.git] / synfig-studio / trunk / src / synfigapp / actions / layerencapsulate.cpp
index 069fcee..898b828 100644 (file)
@@ -1,11 +1,12 @@
 /* === S Y N F I G ========================================================= */
-/*!    \file layerraise.cpp
+/*!    \file layerencapsulate.cpp
 **     \brief Template File
 **
-**     $Id: layerencapsulate.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
+**     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
@@ -34,6 +35,8 @@
 #include "layerremove.h"
 #include <synfigapp/canvasinterface.h>
 
+#include <synfigapp/general.h>
+
 #endif
 
 using namespace std;
@@ -44,14 +47,14 @@ using namespace Action;
 
 /* === M A C R O S ========================================================= */
 
-ACTION_INIT(Action::LayerEncapsulate);
+ACTION_INIT_NO_GET_LOCAL_NAME(Action::LayerEncapsulate);
 ACTION_SET_NAME(Action::LayerEncapsulate,"layer_encapsulate");
-ACTION_SET_LOCAL_NAME(Action::LayerEncapsulate,"Encapsulate");
+ACTION_SET_LOCAL_NAME(Action::LayerEncapsulate,N_("Encapsulate"));
 ACTION_SET_TASK(Action::LayerEncapsulate,"encapsulate");
 ACTION_SET_CATEGORY(Action::LayerEncapsulate,Action::CATEGORY_LAYER);
 ACTION_SET_PRIORITY(Action::LayerEncapsulate,0);
 ACTION_SET_VERSION(Action::LayerEncapsulate,"0.0");
-ACTION_SET_CVS_ID(Action::LayerEncapsulate,"$Id: layerencapsulate.cpp,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $");
+ACTION_SET_CVS_ID(Action::LayerEncapsulate,"$Id$");
 
 /* === G L O B A L S ======================================================= */
 
@@ -63,24 +66,30 @@ Action::LayerEncapsulate::LayerEncapsulate()
 {
 }
 
+synfig::String
+Action::LayerEncapsulate::get_local_name()const
+{
+       return get_layer_descriptions(layers, _("Encapsulate Layer"), _("Encapsulate Layers"));
+}
+
 Action::ParamVocab
 Action::LayerEncapsulate::get_param_vocab()
 {
        ParamVocab ret(Action::CanvasSpecific::get_param_vocab());
-       
+
        ret.push_back(ParamDesc("layer",Param::TYPE_LAYER)
                .set_local_name(_("Layer"))
                .set_desc(_("Layer to be encapsulated"))
                .set_supports_multiple()
        );
-       
+
        return ret;
 }
 
 bool
-Action::LayerEncapsulate::is_canidate(const ParamList &x)
+Action::LayerEncapsulate::is_candidate(const ParamList &x)
 {
-       return canidate_check(get_param_vocab(),x);
+       return candidate_check(get_param_vocab(),x);
 }
 
 bool
@@ -89,7 +98,7 @@ Action::LayerEncapsulate::set_param(const synfig::String& name, const Action::Pa
        if(name=="layer" && param.get_type()==Param::TYPE_LAYER)
        {
                layers.push_back(param.get_layer());
-               
+
                return true;
        }
 
@@ -109,7 +118,7 @@ Action::LayerEncapsulate::lowest_depth()const
 {
        std::list<synfig::Layer::Handle>::const_iterator iter;
        int lowest_depth(0x7fffffff);
-       
+
        for(iter=layers.begin();iter!=layers.end();++iter)
        {
                int depth((*iter)->get_depth());
@@ -129,58 +138,58 @@ Action::LayerEncapsulate::prepare()
                return;
 
        if(layers.empty())
-               throw Error("No layers to encapsulate");
-               
+               throw Error(_("No layers to encapsulate"));
+
        // First create the new canvas and layer
        if(!child_canvas)
                child_canvas=Canvas::create_inline(get_canvas());
-       
+
        Layer::Handle new_layer(Layer::create("PasteCanvas"));
-       
+
        new_layer->set_param("canvas",child_canvas);
-       
+
        int target_depth(lowest_depth());
-       
+
        // Add the layer
        {
                Action::Handle action(LayerAdd::create());
-       
+
                action->set_param("canvas",get_canvas());
                action->set_param("canvas_interface",get_canvas_interface());
                action->set_param("new",new_layer);
-               
+
                add_action(action);
-       }       
-       
+       }
+
        // Move the layer
        {
                Action::Handle action(Action::create("layer_move"));
-               
+
                assert(action);
-       
+
                action->set_param("canvas",get_canvas());
                action->set_param("canvas_interface",get_canvas_interface());
                action->set_param("layer",new_layer);
                action->set_param("new_index",target_depth);
-               
+
                add_action(action);
-       }               
-               
+       }
+
        std::list<synfig::Layer::Handle>::reverse_iterator iter;
-       
+
        for(iter=layers.rbegin();iter!=layers.rend();++iter)
        {
                Layer::Handle layer(*iter);
-               
+
                Canvas::Handle subcanvas(layer->get_canvas());
-               
+
                // Find the iterator for the layer
                Canvas::iterator iter=find(subcanvas->begin(),subcanvas->end(),layer);
-               
+
                // If we couldn't find the layer in the canvas, then bail
                if(*iter!=layer)
                        throw Error(_("This layer doesn't exist anymore."));
-       
+
                if(!subcanvas)
                        throw Error(_("This layer doesn't have a parent canvas"));
 
@@ -192,25 +201,25 @@ Action::LayerEncapsulate::prepare()
 
                if(get_canvas()!=subcanvas)
                        throw Error(_("get_canvas()!=subcanvas"));
-               
+
                // Remove the layer from the old canvas
                {
                        Action::Handle action(LayerRemove::create());
-                       
+
                        action->set_param("canvas",subcanvas);
                        action->set_param("canvas_interface",get_canvas_interface());
                        action->set_param("layer",layer);
-                       
+
                        add_action(action);
                }
                // Add the layer to the new canvas
                {
                        Action::Handle action(LayerAdd::create());
-                       
+
                        action->set_param("canvas",child_canvas);
                        action->set_param("canvas_interface",get_canvas_interface());
                        action->set_param("new",layer);
-                       
+
                        add_action(action);
                }
        }