Added copyright lines for files I've edited this year.
[synfig.git] / synfig-studio / trunk / src / gtkmm / layertreestore.cpp
index 65be4ad..959582c 100644 (file)
@@ -2,10 +2,11 @@
 /*!    \file layertreestore.cpp
 **     \brief Template File
 **
-**     $Id: layertreestore.cpp,v 1.2 2005/01/12 07:03:42 darco Exp $
+**     $Id$
 **
 **     \legal
 **     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 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
 #endif
 
 #include "layertreestore.h"
-#include "iconcontroler.h"
+#include "iconcontroller.h"
 #include <gtkmm/button.h>
 #include <synfig/paramdesc.h>
 #include <synfigapp/action.h>
 #include <synfigapp/instance.h>
 #include "app.h"
 #include "instance.h"
-#include "iconcontroler.h"
 #include <synfigapp/action_system.h>
 
 #include <gtk/gtkversion.h>
 #include <ETL/clock>
+#include "general.h"
+
 #endif
 
 /* === U S I N G =========================================================== */
@@ -90,21 +92,21 @@ LayerTreeStore::LayerTreeStore(etl::loose_handle<synfigapp::CanvasInterface> can
        //canvas_interface()->signal_value_node_replaced().connect(sigc::mem_fun(*this,&studio::LayerTreeStore::on_value_node_replaced));
 
        set_default_sort_func(sigc::ptr_fun(index_sorter));
-       
+
 //     rebuild();
 }
 
 LayerTreeStore::~LayerTreeStore()
 {
-       synfig::info("LayerTreeStore::~LayerTreeStore()q: Deleted");
-
+       if (getenv("SYNFIG_DEBUG_DESTRUCTORS"))
+               synfig::info("LayerTreeStore::~LayerTreeStore(): Deleted");
 }
 
 int
 LayerTreeStore::z_sorter(const Gtk::TreeModel::iterator &rhs,const Gtk::TreeModel::iterator &lhs)
 {
        const Model model;
-       
+
        float diff((float)(*rhs)[model.z_depth]-(float)(*lhs)[model.z_depth]);
 
        if(diff<0)
@@ -118,7 +120,7 @@ int
 LayerTreeStore::index_sorter(const Gtk::TreeModel::iterator &rhs,const Gtk::TreeModel::iterator &lhs)
 {
        const Model model;
-       
+
        return ((int)(*rhs)[model.index]-(int)(*lhs)[model.index]);
 }
 
@@ -130,7 +132,7 @@ LayerTreeStore::search_func(const Glib::RefPtr<TreeModel>&,int,const Glib::ustri
        Glib::ustring substr(x.uppercase());
        Glib::ustring label((*iter)[model.label]);
        label=label.uppercase();
-               
+
        return label.find(substr)==Glib::ustring::npos;
 }
 
@@ -152,14 +154,13 @@ LayerTreeStore::get_value_vfunc (const Gtk::TreeModel::iterator& iter, int colum
 
                Glib::Value<int> x;
                g_value_init(x.gobj(),x.value_type());
-               
+
                x.set(layer->get_depth());
-               
+
                g_value_init(value.gobj(),x.value_type());
                g_value_copy(x.gobj(),value.gobj());
        }
-       else
-       if(column==model.z_depth.index())
+       else if(column==model.z_depth.index())
        {
                synfig::Layer::Handle layer((*iter)[model.layer]);
 
@@ -167,14 +168,13 @@ LayerTreeStore::get_value_vfunc (const Gtk::TreeModel::iterator& iter, int colum
 
                Glib::Value<float> x;
                g_value_init(x.gobj(),x.value_type());
-               
+
                x.set(layer->get_z_depth(canvas_interface()->get_time())*1.0001+layer->get_depth());
-               
+
                g_value_init(value.gobj(),x.value_type());
                g_value_copy(x.gobj(),value.gobj());
        }
-       else
-       if(column==model.children_lock.index())
+       else if(column==model.children_lock.index())
        {
                synfig::Layer::Handle layer((*iter)[model.layer]);
 
@@ -183,16 +183,15 @@ LayerTreeStore::get_value_vfunc (const Gtk::TreeModel::iterator& iter, int colum
                Glib::Value<bool> x;
                g_value_init(x.gobj(),x.value_type());
                x.set(false);
-               
+
                ValueBase v(layer->get_param("children_lock"));
-               if(v.same_as(bool()))
+               if(v.same_type_as(bool()))
                        x.set(v.get(bool()));
-               
+
                g_value_init(value.gobj(),x.value_type());
                g_value_copy(x.gobj(),value.gobj());
        }
-       else
-       if(column==model.label.index())
+       else if(column==model.label.index())
        {
                synfig::Layer::Handle layer((*iter)[model.layer]);
 
@@ -201,18 +200,13 @@ LayerTreeStore::get_value_vfunc (const Gtk::TreeModel::iterator& iter, int colum
                Glib::Value<Glib::ustring> x;
                g_value_init(x.gobj(),x.value_type());
 
+               x.set(layer->get_non_empty_description());
 
-               if(!layer->get_description().empty())
-                       x.set(layer->get_description());
-               else
-                       x.set(layer->get_local_name());
-               
                g_value_init(value.gobj(),x.value_type());
                //g_value_copy(x.gobj(),value.gobj());
                value=x;
        }
-       else
-       if(column==model.tooltip.index())
+       else if(column==model.tooltip.index())
        {
                synfig::Layer::Handle layer((*iter)[model.layer]);
 
@@ -223,13 +217,12 @@ LayerTreeStore::get_value_vfunc (const Gtk::TreeModel::iterator& iter, int colum
 
 
                x.set(layer->get_local_name());
-               
+
                g_value_init(value.gobj(),x.value_type());
                //g_value_copy(x.gobj(),value.gobj());
                value=x;
        }
-       else
-       if(column==model.canvas.index())
+       else if(column==model.canvas.index())
        {
                synfig::Layer::Handle layer((*iter)[model.layer]);
 
@@ -240,13 +233,12 @@ LayerTreeStore::get_value_vfunc (const Gtk::TreeModel::iterator& iter, int colum
 
 
                x.set(layer->get_canvas());
-               
+
                g_value_init(value.gobj(),x.value_type());
                //g_value_copy(x.gobj(),value.gobj());
                value=x;
        }
-       else
-       if(column==model.active.index())
+       else if(column==model.active.index())
        {
                synfig::Layer::Handle layer((*iter)[model.layer]);
 
@@ -256,12 +248,11 @@ LayerTreeStore::get_value_vfunc (const Gtk::TreeModel::iterator& iter, int colum
                g_value_init(x.gobj(),x.value_type());
 
                x.set(layer->active());
-               
+
                g_value_init(value.gobj(),x.value_type());
                g_value_copy(x.gobj(),value.gobj());
        }
-       else
-       if(column==model.icon.index())
+       else if(column==model.icon.index())
        {
                synfig::Layer::Handle layer((*iter)[model.layer]);
                if(!layer)return;
@@ -271,7 +262,7 @@ LayerTreeStore::get_value_vfunc (const Gtk::TreeModel::iterator& iter, int colum
 
                //x.set(layer_icon);
                x.set(get_tree_pixbuf_layer(layer->get_name()));
-               
+
                g_value_init(value.gobj(),x.value_type());
                g_value_copy(x.gobj(),value.gobj());
        }
@@ -304,52 +295,51 @@ LayerTreeStore::set_value_impl(const Gtk::TreeModel::iterator& iter, int column,
                        Glib::Value<Glib::ustring> x;
                        g_value_init(x.gobj(),model.label.type());
                        g_value_copy(value.gobj(),x.gobj());
-                       
+
                        synfig::Layer::Handle layer((*iter)[model.layer]);
                        if(!layer)
                                return;
                        synfig::String new_desc(x.get());
-                       
+
                        if(new_desc==layer->get_local_name())
                                new_desc=synfig::String();
 
                        if(new_desc==layer->get_description())
                                return;
-                       
+
                        synfigapp::Action::Handle action(synfigapp::Action::create("layer_set_desc"));
-                       
+
                        if(!action)
                                return;
-                       
+
                        action->set_param("canvas",canvas_interface()->get_canvas());
                        action->set_param("canvas_interface",canvas_interface());
                        action->set_param("layer",layer);
                        action->set_param("new_description",synfig::String(x.get()));
-                       
+
                        canvas_interface()->get_instance()->perform_action(action);
                        return;
                }
-               else
-               if(column==model.active.index())
+               else if(column==model.active.index())
                {
                        synfig::Layer::Handle layer((*iter)[model.layer]);
-                       
+
                        if(!layer)return;
 
                        Glib::Value<bool> x;
                        g_value_init(x.gobj(),model.active.type());
                        g_value_copy(value.gobj(),x.gobj());
-                       
+
                        synfigapp::Action::Handle action(synfigapp::Action::create("layer_activate"));
-                       
+
                        if(!action)
                                return;
-                       
+
                        action->set_param("canvas",canvas_interface()->get_canvas());
                        action->set_param("canvas_interface",canvas_interface());
                        action->set_param("layer",layer);
                        action->set_param("new_status",bool(x.get()));
-                       
+
                        canvas_interface()->get_instance()->perform_action(action);
                        return;
                }
@@ -360,18 +350,18 @@ LayerTreeStore::set_value_impl(const Gtk::TreeModel::iterator& iter, int column,
        catch(std::exception x)
        {
                g_warning(x.what());
-       }       
+       }
 }
 
 
 
 
 bool
-LayerTreeStore::row_draggable_vfunc (const TreeModel::Path& path)const
+LayerTreeStore::row_draggable_vfunc (const TreeModel::Path& /*path*/)const
 {
        //if(!get_iter(path)) return false;
 //     Gtk::TreeModel::Row row(*get_iter(path));
-       
+
        return true;
 //     return (bool)true;
 }
@@ -391,7 +381,7 @@ LayerTreeStore::drag_data_get_vfunc (const TreeModel::Path& path, Gtk::Selection
                Layer* layer(((Layer::Handle)row[model.layer]).get());
                assert(layer);
                bool included(false);
-               
+
                //gtk_selection_data_set (selection_data, gdk_atom_intern("LAYER",false), 8, reinterpret_cast<const guchar*>(&layer), sizeof(layer));
 
                std::vector<Layer*> layers;
@@ -414,14 +404,14 @@ LayerTreeStore::drag_data_get_vfunc (const TreeModel::Path& path, Gtk::Selection
                if(!included)
                        layers.push_back(layer);
                selection_data.set("LAYER", 8, reinterpret_cast<const guchar*>(&layers.front()), sizeof(void*)*layers.size());
-               
+
                return true;
        }
        return false;
 }
 
 bool
-LayerTreeStore::drag_data_delete_vfunc (const TreeModel::Path& path)
+LayerTreeStore::drag_data_delete_vfunc (const TreeModel::Path& /*path*/)
 {
        return true;
 }
@@ -434,7 +424,7 @@ LayerTreeStore::row_drop_possible_vfunc (const TreeModel::Path& dest, const Gtk:
        //synfig::info("possible_drop -- data of type \"%s\"",selection_data.get_data_type());
        //synfig::info("possible_drop -- data of target \"%s\"",gdk_atom_name(selection_data->target));
        //synfig::info("possible_drop -- selection=\"%s\"",gdk_atom_name(selection_data->selection));
-       
+
        //Gtk::TreeModel::Row row(*get_iter(dest));
 
        if(synfig::String(selection_data.get_data_type())=="LAYER" && (bool)true)
@@ -450,13 +440,8 @@ LayerTreeStore::row_drop_possible_vfunc (const TreeModel::Path& dest, const Gtk:
                        //dest_canvas=(Canvas::Handle)(row[model.canvas]);
                        return true;
                }
-               else
-               {
-                       if((bool)const_cast<LayerTreeStore*>(this)->get_iter(dest_parent))
-                               return (bool)(Canvas::Handle)(*const_cast<LayerTreeStore*>(this)->get_iter(dest_parent))[model.contained_canvas];
-                       else
-                               return false;
-               }
+               else if((bool)const_cast<LayerTreeStore*>(this)->get_iter(dest_parent))
+                       return (bool)(Canvas::Handle)(*const_cast<LayerTreeStore*>(this)->get_iter(dest_parent))[model.contained_canvas];
        }
        return false;
 }
@@ -464,18 +449,18 @@ LayerTreeStore::row_drop_possible_vfunc (const TreeModel::Path& dest, const Gtk:
 bool
 LayerTreeStore::drag_data_received_vfunc (const TreeModel::Path& dest, const Gtk::SelectionData& selection_data)
 {
-       
+
        //if(!dest_parent.up() || !get_iter(dest)) return false;
-               
+
        bool ret=false;
        int i(0);
-       
+
 
        //synfig::info("Dropped data of type \"%s\"",selection_data.get_data_type());
        //synfig::info("Dropped data of target \"%s\"",gdk_atom_name(selection_data->target));
        //synfig::info("Dropped selection=\"%s\"",gdk_atom_name(selection_data->selection));
        synfigapp::Action::PassiveGrouper passive_grouper(canvas_interface()->get_instance().get(),_("Move Layers"));
-       
+
        // Save the selection data
        synfigapp::SelectionManager::LayerList selected_layer_list=canvas_interface()->get_selection_manager()->get_selected_layers();
 
@@ -483,9 +468,9 @@ LayerTreeStore::drag_data_received_vfunc (const TreeModel::Path& dest, const Gtk
        {
                Gtk::TreeModel::Row row;
                Canvas::Handle dest_canvas;
-               
+
                int dest_layer_depth=dest.back();
-               
+
                TreeModel::Path dest_parent(dest);
                if(!dest_parent.up() || !get_iter(dest_parent))
                {
@@ -506,25 +491,23 @@ LayerTreeStore::drag_data_received_vfunc (const TreeModel::Path& dest, const Gtk
                        row=(*get_iter(dest_parent));
                        dest_canvas=row[model.contained_canvas];
                }
-               
+
                assert(dest_canvas);
-               
+
                Layer::Handle dest_layer(row[model.layer]);
 
                if(synfig::String(selection_data.get_data_type())=="LAYER")for(unsigned int i=0;i<selection_data.get_length()/sizeof(void*);i++)
                {
                        //synfig::info("dest_layer_depth=%d",dest_layer_depth);
-                       
+
                        Layer::Handle src(reinterpret_cast<Layer**>(const_cast<guint8*>(selection_data.get_data()))[i]);
                        assert(src);
                        if(dest_layer==src)
                                continue;
-                       
+
                        if(dest_canvas==src->get_canvas() && src->get_depth()<dest_layer_depth)
-                       {
                                dest_layer_depth--;
-                       }
-                       
+
                        // In this case, we are just moving.
 //                     if(dest_canvas==src->get_canvas())
                        {
@@ -532,7 +515,7 @@ LayerTreeStore::drag_data_received_vfunc (const TreeModel::Path& dest, const Gtk
                                //      dest_layer_depth--;
                                if(dest_canvas==src->get_canvas() && dest_layer_depth==src->get_depth())
                                        continue;
-                               
+
                                synfigapp::Action::Handle action(synfigapp::Action::create("layer_move"));
                                action->set_param("canvas",dest_canvas);
                                action->set_param("canvas_interface",canvas_interface());
@@ -540,21 +523,17 @@ LayerTreeStore::drag_data_received_vfunc (const TreeModel::Path& dest, const Gtk
                                action->set_param("new_index",dest_layer_depth);
                                action->set_param("dest_canvas",dest_canvas);
                                if(canvas_interface()->get_instance()->perform_action(action))
-                               {
-                                       //DEBUGPOINT();
                                        ret=true;
-                               }
                                else
                                {
-                                       //DEBUGPOINT();
                                        passive_grouper.cancel();
                                        return false;
                                }
                                continue;
                        }
                        /*else // In this case we need to remove and then add
-                       {                               
-                               
+                       {
+
                                synfigapp::Action::Handle action;
                                action=synfigapp::Action::create("layer_remove");
                                action->set_param("canvas",Canvas::Handle(src->get_canvas()));
@@ -592,26 +571,20 @@ LayerTreeStore::drag_data_received_vfunc (const TreeModel::Path& dest, const Gtk
                                                ret=false;
                                                return false;
                                        }
-                               }                               
+                               }
                                ret=true;
                        }
                        */
                }
        }
-       synfig::info("I suposidly moved %d layers",i);
+       synfig::info("I supposedly moved %d layers",i);
 
        // Reselect the previously selected layers
        canvas_interface()->get_selection_manager()->set_selected_layers(selected_layer_list);
-       
+
        return ret;
 }
 
-
-
-
-
-
-
 void
 LayerTreeStore::rebuild()
 {
@@ -623,7 +596,7 @@ LayerTreeStore::rebuild()
 
        // Clear out the current list
        clear();
-               
+
        // Go ahead and and add all the layers
        std::for_each(
                canvas_interface()->get_canvas()->rbegin(), canvas_interface()->get_canvas()->rend(),
@@ -643,9 +616,9 @@ LayerTreeStore::refresh()
        etl::clock timer;timer.reset();
 
        Gtk::TreeModel::Children children_(children());
-       
+
        Gtk::TreeModel::Children::iterator iter;
-       
+
        if(!children_.empty())
                for(iter = children_.begin(); iter && iter != children_.end(); ++iter)
                {
@@ -661,7 +634,7 @@ LayerTreeStore::refresh_row(Gtk::TreeModel::Row &row)
        Layer::Handle layer=row[model.layer];
        /*
        {
-               row[model.name] = layer->get_local_name();      
+               row[model.name] = layer->get_local_name();
                if(layer->get_description().empty())
                {
                        row[model.label] = layer->get_local_name();
@@ -669,16 +642,16 @@ LayerTreeStore::refresh_row(Gtk::TreeModel::Row &row)
                }
                else
                {
-                       row[model.label] = layer->get_description();    
+                       row[model.label] = layer->get_description();
                        row[model.tooltip] = layer->get_local_name();
                }
        }
        */
-       
+
        if(layer->dynamic_param_list().count("z_depth"))
                row[model.z_depth]=Time::begin();
-       //      row_changed(get_path(row),row);                 
-       
+       //      row_changed(get_path(row),row);
+
        Gtk::TreeModel::Children children = row.children();
        Gtk::TreeModel::Children::iterator iter;
 
@@ -695,7 +668,7 @@ void
 LayerTreeStore::set_row_layer(Gtk::TreeRow &row,synfig::Layer::Handle &handle)
 {
        //row[model.id] = handle->get_name();
-       //row[model.name] = handle->get_local_name();   
+       //row[model.name] = handle->get_local_name();
        /*if(handle->get_description().empty())
        {
                //row[model.label] = handle->get_local_name();
@@ -703,45 +676,44 @@ LayerTreeStore::set_row_layer(Gtk::TreeRow &row,synfig::Layer::Handle &handle)
        }
        else
        {
-               //row[model.label] = handle->get_description(); 
+               //row[model.label] = handle->get_description();
                row[model.tooltip] = handle->get_local_name();
        }*/
-       
+
        //row[model.active] = handle->active();
        row[model.layer] = handle;
        //row[model.canvas] = handle->get_canvas();
-       //row[model.icon] = layer_icon; 
+       //row[model.icon] = layer_icon;
 
        synfig::Layer::ParamList paramlist=handle->get_param_list();
 
        synfig::Layer::Vocab vocab=handle->get_param_vocab();
        synfig::Layer::Vocab::iterator iter;
-       
+
        for(iter=vocab.begin();iter!=vocab.end();++iter)
        {
                if(iter->get_hidden())
                        continue;
                if(handle->get_param(iter->get_name()).get_type()!=ValueBase::TYPE_CANVAS)
                        continue;
-               
+
                {
                        Canvas::Handle canvas;
                        canvas=handle->get_param(iter->get_name()).get(canvas);
                        if(!canvas)
                                continue;
-               
+
                        Canvas::reverse_iterator iter;
                        row[model.contained_canvas]=canvas;
-                       
+
                        for(iter=canvas->rbegin();iter!=canvas->rend();++iter)
                        {
                                Gtk::TreeRow row_(*(prepend(row.children())));
                                set_row_layer(row_,*iter);
-                       }                       
+                       }
                        continue;
                }
-               
-               
+
                /*
                etl::handle<ValueNode> value_node;
                if(handle.constant()->dynamic_param_list().count(iter->get_name()))
@@ -798,14 +770,13 @@ LayerTreeStore::on_layer_removed(synfig::Layer::Handle handle)
 
 void
 LayerTreeStore::on_layer_inserted(synfig::Layer::Handle handle,int depth)
-{              
+{
        if(depth==0)
        {
                on_layer_added(handle);
                return;
        }
 
-
        Gtk::TreeModel::Children children_(children());
        if(canvas_interface()->get_canvas()!=handle->get_canvas())
        {
@@ -818,7 +789,7 @@ LayerTreeStore::on_layer_inserted(synfig::Layer::Handle handle,int depth)
                }
                children_=iter->children();
        }
-       
+
        Gtk::TreeModel::Children::iterator iter(children_.begin());
        while(depth-- && iter)
        {
@@ -830,14 +801,13 @@ LayerTreeStore::on_layer_inserted(synfig::Layer::Handle handle,int depth)
                        return;
                }
        }
-       
+
        Gtk::TreeModel::Row row(*insert(iter));
        set_row_layer(row,handle);
-       
 }
 
 void
-LayerTreeStore::on_layer_status_changed(synfig::Layer::Handle handle,bool x)
+LayerTreeStore::on_layer_status_changed(synfig::Layer::Handle handle,bool /*x*/)
 {
        Gtk::TreeModel::Children::iterator iter;
        if(find_layer_row(handle,iter))
@@ -851,7 +821,7 @@ LayerTreeStore::on_layer_status_changed(synfig::Layer::Handle handle,bool x)
 
 void
 LayerTreeStore::on_layer_lowered(synfig::Layer::Handle layer)
-{      
+{
        Gtk::TreeModel::Children::iterator iter, iter2;
        if(find_layer_row(layer,iter))
        {
@@ -864,15 +834,15 @@ LayerTreeStore::on_layer_lowered(synfig::Layer::Handle layer)
                        rebuild();
                        return;
                }
-               
+
                //Gtk::TreeModel::Row row(*iter);
                Gtk::TreeModel::Row row2 = *iter2;
                synfig::Layer::Handle layer2=row2[model.layer];
-               
+
                erase(iter2);
                row2=*insert(iter);
-               set_row_layer(row2,layer2);             
-               
+               set_row_layer(row2,layer2);
+
        }
        else
                rebuild();
@@ -888,25 +858,25 @@ LayerTreeStore::on_layer_raised(synfig::Layer::Handle layer)
        if(find_layer_row_(layer, canvas_interface()->get_canvas(), children_, iter,iter2))
        {
                if(iter!=iter2)
-               {       
+               {
                        //Gtk::TreeModel::Row row = *iter;
                        Gtk::TreeModel::Row row2 = *iter2;
                        synfig::Layer::Handle layer2=row2[model.layer];
-               
+
                        erase(iter2);
                        iter++;
                        row2=*insert(iter);
                        set_row_layer(row2,layer2);
-                       
+
                        return;
                }
        }
-       
+
        rebuild();
 }
 
 void
-LayerTreeStore::on_layer_moved(synfig::Layer::Handle layer,int depth, synfig::Canvas::Handle canvas)
+LayerTreeStore::on_layer_moved(synfig::Layer::Handle layer,int depth, synfig::Canvas::Handle /*canvas*/)
 {
        on_layer_removed(layer);
        on_layer_inserted(layer,depth);
@@ -925,25 +895,21 @@ LayerTreeStore::on_layer_param_changed(synfig::Layer::Handle handle,synfig::Stri
        }
 
        /*
-       //DEBUGPOINT();
        Gtk::TreeModel::Children::iterator iter;
        if(find_layer_row(handle,iter))
        {
-               //DEBUGPOINT();
                Gtk::TreeModel::Children children(iter->children());
-               
+
                for(iter = children.begin(); iter && iter != children.end(); ++iter)
                {
                        if((Glib::ustring)(*iter)[model.param_name]==param_name)
                        {
-                               //DEBUGPOINT();
                                Gtk::TreeRow row=*iter;
                                refresh_row(row);
-                               return;                         
+                               return;
                        }
                }
        }
-       //DEBUGPOINT();
        rebuild();
        */
 }
@@ -955,9 +921,9 @@ LayerTreeStore::on_layer_new_description(synfig::Layer::Handle handle,synfig::St
        if(find_layer_row(handle,iter))
        {
                Gtk::TreeRow row(*iter);
-               
-               Layer::Handle layer(row[model.layer]);          
-               
+
+               Layer::Handle layer(row[model.layer]);
+
                if(desc.empty())
                {
                        //row[model.label]=layer->get_local_name();
@@ -967,7 +933,7 @@ LayerTreeStore::on_layer_new_description(synfig::Layer::Handle handle,synfig::St
                        //row[model.label]=layer->get_description();
                        row[model.tooltip]=layer->get_local_name();
        }
-       else    
+       else
        {
                rebuild();
        }
@@ -975,7 +941,7 @@ LayerTreeStore::on_layer_new_description(synfig::Layer::Handle handle,synfig::St
 
 bool
 LayerTreeStore::find_canvas_row_(synfig::Canvas::Handle canvas, synfig::Canvas::Handle parent, Gtk::TreeModel::Children layers, Gtk::TreeModel::Children::iterator &iter)
-{      
+{
        if(canvas==parent)
                return false;
 
@@ -986,22 +952,22 @@ LayerTreeStore::find_canvas_row_(synfig::Canvas::Handle canvas, synfig::Canvas::
                        if(canvas==(synfig::Canvas::Handle)row[model.contained_canvas])
                                return true;
                }
-               
+
                iter=children().end();
                //return false;
        }
 
        Gtk::TreeModel::Children::iterator iter2;
        //Gtk::TreeModel::Children::iterator iter3;
-       
+
        for(iter2 = layers.begin(); iter2 && iter2 != layers.end(); ++iter2)
        {
                Gtk::TreeModel::Row row = *iter2;
                assert((bool)true);
-               
+
                if(row.children().empty())
                        continue;
-               
+
                Canvas::Handle sub_canvas((*row.children().begin())[model.canvas]);
                if(!sub_canvas)
                        continue;
@@ -1009,7 +975,7 @@ LayerTreeStore::find_canvas_row_(synfig::Canvas::Handle canvas, synfig::Canvas::
                if(find_canvas_row_(canvas,sub_canvas,iter2->children(),iter))
                        return true;
        }
-       
+
        iter=children().end();
        return false;
 }
@@ -1022,10 +988,10 @@ LayerTreeStore::find_canvas_row(synfig::Canvas::Handle canvas, Gtk::TreeModel::C
 
 
 bool
-LayerTreeStore::find_layer_row_(const synfig::Layer::Handle &layer, synfig::Canvas::Handle canvas, Gtk::TreeModel::Children layers, Gtk::TreeModel::Children::iterator &iter, Gtk::TreeModel::Children::iterator &prev)
+LayerTreeStore::find_layer_row_(const synfig::Layer::Handle &layer, synfig::Canvas::Handle /*canvas*/, Gtk::TreeModel::Children layers, Gtk::TreeModel::Children::iterator &iter, Gtk::TreeModel::Children::iterator &prev)
 {
        assert(layer);
-       
+
        //if(layer->get_canvas()==canvas)
        {
                for(iter=prev=layers.begin(); iter && iter != layers.end(); prev=iter++)
@@ -1034,30 +1000,29 @@ LayerTreeStore::find_layer_row_(const synfig::Layer::Handle &layer, synfig::Canv
                        if(layer==(synfig::Layer::Handle)row[model.layer])
                                return true;
                }
-               
+
                iter=children().end();
-               //DEBUGPOINT();
                //return false;
        }
 
        Gtk::TreeModel::Children::iterator iter2;
-       
+
        for(iter2 = layers.begin(); iter2 && iter2 != layers.end(); ++iter2)
        {
                Gtk::TreeModel::Row row = *iter2;
                assert((bool)true);
-               
+
                if(row.children().empty())
                        continue;
-               
+
                Canvas::Handle canvas((*row.children().begin())[model.canvas]);
                if(!canvas)
                        continue;
-               
+
                if(find_layer_row_(layer,canvas,iter2->children(),iter,prev))
                        return true;
        }
-       
+
        iter=children().end();
        return false;
 }