Add my copyright to files I've modified.
[synfig.git] / synfig-studio / trunk / src / gtkmm / layeractionmanager.cpp
index 5f1c5da..0fa5bed 100644 (file)
@@ -1,20 +1,22 @@
-/* === S I N F G =========================================================== */
-/*!    \file template.cpp
+/* === S Y N F I G ========================================================= */
+/*!    \file layeractionmanager.cpp
 **     \brief Template File
 **
-**     $Id: layeractionmanager.cpp,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $
+**     $Id$
 **
 **     \legal
-**     Copyright (c) 2002 Robert B. Quattlebaum Jr.
+**     Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
+**     Copyright (c) 2007 Chris Moore
 **
-**     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
 */
 /* ========================================================================= */
@@ -30,9 +32,9 @@
 
 #include "layeractionmanager.h"
 #include "layertree.h"
-#include <sinfgapp/action_param.h>
+#include <synfigapp/action_param.h>
 #include "instance.h"
-#include <sinfgapp/selectionmanager.h>
+#include <synfigapp/selectionmanager.h>
 
 #endif
 
@@ -40,7 +42,7 @@
 
 using namespace std;
 using namespace etl;
-using namespace sinfg;
+using namespace synfig;
 using namespace studio;
 
 static const guint no_prev_popup((guint)-1);
@@ -57,8 +59,8 @@ static const guint no_prev_popup((guint)-1);
 
 LayerActionManager::LayerActionManager():
        action_group_(Gtk::ActionGroup::create()),
-       action_group_copy_paste(Gtk::ActionGroup::create()),
        popup_id_(no_prev_popup),
+       action_group_copy_paste(Gtk::ActionGroup::create()),
        queued(false)
 {
        action_cut_=Gtk::Action::create(
@@ -91,8 +93,8 @@ LayerActionManager::LayerActionManager():
                        &LayerActionManager::paste
                )
        );
-       
-       
+
+
        action_amount_inc_=Gtk::Action::create(
                "amount-inc",
                Gtk::StockID("gtk-add"),
@@ -158,7 +160,7 @@ LayerActionManager::set_layer_tree(LayerTree* x)
 }
 
 void
-LayerActionManager::set_canvas_interface(const etl::handle<sinfgapp::CanvasInterface> &x)
+LayerActionManager::set_canvas_interface(const etl::handle<synfigapp::CanvasInterface> &x)
 {
        canvas_interface_=x;
 }
@@ -195,7 +197,7 @@ LayerActionManager::queue_refresh()
 {
        if(queued)
                return;
-               
+
        //queue_refresh_connection.disconnect();
        queue_refresh_connection=Glib::signal_idle().connect(
                sigc::bind_return(
@@ -203,7 +205,7 @@ LayerActionManager::queue_refresh()
                        false
                )
        );
-       
+
        queued=true;
 }
 
@@ -218,33 +220,33 @@ LayerActionManager::refresh()
 
 
        clear();
-       
+
        // Make sure we are ready
        if(!ui_manager_ || !layer_tree_ || !canvas_interface_)
        {
-               sinfg::error("LayerActionManager::refresh(): Not ready!");
+               synfig::error("LayerActionManager::refresh(): Not ready!");
                return;
        }
-       
-       
+
+
        String ui_info;
 
        action_paste_->set_sensitive(!clipboard_.empty());
        action_group_->add(action_paste_);
-       
+
        if(layer_tree_->get_selection()->count_selected_rows()!=0)
        {
                bool multiple_selected(layer_tree_->get_selection()->count_selected_rows()>1);
                Layer::Handle layer(layer_tree_->get_selected_layer());
-               
+
                {
                        bool canvas_set(false);
-                       sinfgapp::Action::ParamList param_list;
+                       synfigapp::Action::ParamList param_list;
                        param_list.add("time",get_canvas_interface()->get_time());
                        param_list.add("canvas_interface",get_canvas_interface());
                        {
-                               sinfgapp::SelectionManager::LayerList layer_list(layer_tree_->get_selected_layers());
-                               sinfgapp::SelectionManager::LayerList::iterator iter;
+                               synfigapp::SelectionManager::LayerList layer_list(layer_tree_->get_selected_layers());
+                               synfigapp::SelectionManager::LayerList::iterator iter;
                                action_copy_->set_sensitive(!layer_list.empty());
                                action_cut_->set_sensitive(!layer_list.empty());
                                action_group_->add(action_copy_);
@@ -256,7 +258,7 @@ LayerActionManager::refresh()
                                action_group_->add(action_amount_inc_);
                                action_group_->add(action_amount_dec_);
                                action_group_->add(action_amount_);
-                               
+
                                for(iter=layer_list.begin();iter!=layer_list.end();++iter)
                                {
                                        update_connection_list.push_back(
@@ -264,7 +266,7 @@ LayerActionManager::refresh()
                                                        sigc::mem_fun(*this, &LayerActionManager::queue_refresh)
                                                )
                                        );
-                                       
+
                                        if(!canvas_set)
                                        {
                                                param_list.add("canvas",Canvas::Handle((*iter)->get_canvas()));
@@ -278,7 +280,7 @@ LayerActionManager::refresh()
                                        param_list.add("layer",Layer::Handle(*iter));
                                }
                        }
-                       
+
                        if(!multiple_selected && layer->get_name()=="PasteCanvas")
                        {
                                action_group_->add(Gtk::Action::create(
@@ -296,12 +298,12 @@ LayerActionManager::refresh()
                                ui_info+="<menuitem action='select-all-child-layers'/>";
                        }
                        handle<studio::Instance>::cast_static(get_canvas_interface()->get_instance())->
-                               add_actions_to_group(action_group_, ui_info,   param_list, sinfgapp::Action::CATEGORY_LAYER);
+                               add_actions_to_group(action_group_, ui_info,   param_list, synfigapp::Action::CATEGORY_LAYER);
                }
        }
-       
-       ui_info="<ui><menubar action='menu-main'><menu action='menu-layer'>"+ui_info+"<separator/><menuitem action='cut' /><menuitem action='copy' /><menuitem action='paste' /><separator/></menu></menubar></ui>";
-       popup_id_=get_ui_manager()->add_ui_from_string(ui_info);        
+
+       ui_info="<ui><popup action='menu-main'><menu action='menu-layer'>"+ui_info+"<separator/><menuitem action='cut' /><menuitem action='copy' /><menuitem action='paste' /><separator/></menu></popup></ui>";
+       popup_id_=get_ui_manager()->add_ui_from_string(ui_info);
 #ifdef ONE_ACTION_GROUP
 #else
        get_ui_manager()->insert_action_group(action_group_);
@@ -320,10 +322,10 @@ LayerActionManager::cut()
 void
 LayerActionManager::copy()
 {
-       sinfgapp::SelectionManager::LayerList layer_list(layer_tree_->get_selected_layers());
+       synfigapp::SelectionManager::LayerList layer_list(layer_tree_->get_selected_layers());
        clipboard_.clear();
-       sinfg::GUID guid;
-       
+       synfig::GUID guid;
+
        while(!layer_list.empty())
        {
                clipboard_.push_back(layer_list.front()->clone(guid));
@@ -331,21 +333,21 @@ LayerActionManager::copy()
        }
 
        action_paste_->set_sensitive(!clipboard_.empty());
-       
+
        //queue_refresh();
 }
 
 void
 LayerActionManager::paste()
 {
-       sinfg::GUID guid;
+       synfig::GUID guid;
 
        // Create the action group
-       sinfgapp::Action::PassiveGrouper group(get_canvas_interface()->get_instance().get(),_("Paste"));
+       synfigapp::Action::PassiveGrouper group(get_canvas_interface()->get_instance().get(),_("Paste"));
 
        Canvas::Handle canvas(get_canvas_interface()->get_canvas());
        int depth(0);
-       
+
        // we are temporarily using the layer to hold something
        Layer::Handle layer(layer_tree_->get_selected_layer());
        if(layer)
@@ -353,62 +355,62 @@ LayerActionManager::paste()
                depth=layer->get_depth();
                canvas=layer->get_canvas();
        }
-       
-       sinfgapp::SelectionManager::LayerList layer_selection;
-       
-       for(std::list<sinfg::Layer::Handle>::iterator iter=clipboard_.begin();iter!=clipboard_.end();++iter)
+
+       synfigapp::SelectionManager::LayerList layer_selection;
+
+       for(std::list<synfig::Layer::Handle>::iterator iter=clipboard_.begin();iter!=clipboard_.end();++iter)
        {
                layer=(*iter)->clone(guid);
                layer_selection.push_back(layer);
-               sinfgapp::Action::Handle        action(sinfgapp::Action::create("layer_add"));
-       
+               synfigapp::Action::Handle       action(synfigapp::Action::create("layer_add"));
+
                assert(action);
                if(!action)
                        return;
-               
+
                action->set_param("canvas",canvas);
-               action->set_param("canvas_interface",etl::loose_handle<sinfgapp::CanvasInterface>(get_canvas_interface()));
+               action->set_param("canvas_interface",etl::loose_handle<synfigapp::CanvasInterface>(get_canvas_interface()));
                action->set_param("new",layer);
-               
+
                if(!action->is_ready())
                {
                        return;
                }
-               
+
                if(!get_instance()->perform_action(action))
                {
                        return;
                }
-       
-               sinfg::info("DEPTH=%d",depth);
+
+               synfig::info("DEPTH=%d",depth);
                // Action to move the layer (if necessary)
                if(depth>0)
                {
-                       sinfgapp::Action::Handle        action(sinfgapp::Action::create("layer_move"));
-               
+                       synfigapp::Action::Handle       action(synfigapp::Action::create("layer_move"));
+
                        assert(action);
                        if(!action)
                                return;
-                       
+
                        action->set_param("canvas",canvas);
-                       action->set_param("canvas_interface",etl::loose_handle<sinfgapp::CanvasInterface>(get_canvas_interface()));
+                       action->set_param("canvas_interface",etl::loose_handle<synfigapp::CanvasInterface>(get_canvas_interface()));
                        action->set_param("layer",layer);
                        action->set_param("new_index",depth);
-                       
+
                        if(!action->is_ready())
                        {
-                               //get_ui_interface()->error(_("Move Action Not Ready"));                        
+                               //get_ui_interface()->error(_("Move Action Not Ready"));
                                //return 0;
                                return;
                        }
-                       
+
                        if(!get_instance()->perform_action(action))
                        {
-                               //get_ui_interface()->error(_("Move Action Not Ready"));                        
+                               //get_ui_interface()->error(_("Move Action Not Ready"));
                                //return 0;
                                return;
                        }
-               }       
+               }
                depth++;
        }
        get_canvas_interface()->get_selection_manager()->clear_selected_layers();
@@ -419,21 +421,21 @@ void
 LayerActionManager::amount_inc()
 {
        float adjust(0.1);
-       
+
        // Create the action group
-       sinfgapp::Action::PassiveGrouper group(get_canvas_interface()->get_instance().get(),_("Decrease Amount"));
-       
+       synfigapp::Action::PassiveGrouper group(get_canvas_interface()->get_instance().get(),_("Decrease Amount"));
+
        if(adjust>0)
                group.set_name(_("Increase Amount"));
 
-       sinfgapp::SelectionManager::LayerList layer_list(layer_tree_->get_selected_layers());
+       synfigapp::SelectionManager::LayerList layer_list(layer_tree_->get_selected_layers());
 
        while(!layer_list.empty())
        {
                ValueBase value(layer_list.front()->get_param("amount"));
-               if(value.same_as(Real()))
+               if(value.same_type_as(Real()))
                {
-                       get_canvas_interface()->change_value(sinfgapp::ValueDesc(layer_list.front(),"amount"),value.get(Real())+adjust);
+                       get_canvas_interface()->change_value(synfigapp::ValueDesc(layer_list.front(),"amount"),value.get(Real())+adjust);
                }
                layer_list.pop_front();
        }
@@ -443,21 +445,21 @@ void
 LayerActionManager::amount_dec()
 {
        float adjust(-0.1);
-       
+
        // Create the action group
-       sinfgapp::Action::PassiveGrouper group(get_canvas_interface()->get_instance().get(),_("Decrease Amount"));
-       
+       synfigapp::Action::PassiveGrouper group(get_canvas_interface()->get_instance().get(),_("Decrease Amount"));
+
        if(adjust>0)
                group.set_name(_("Increase Amount"));
 
-       sinfgapp::SelectionManager::LayerList layer_list(layer_tree_->get_selected_layers());
+       synfigapp::SelectionManager::LayerList layer_list(layer_tree_->get_selected_layers());
 
        while(!layer_list.empty())
        {
                ValueBase value(layer_list.front()->get_param("amount"));
-               if(value.same_as(Real()))
+               if(value.same_type_as(Real()))
                {
-                       get_canvas_interface()->change_value(sinfgapp::ValueDesc(layer_list.front(),"amount"),value.get(Real())+adjust);
+                       get_canvas_interface()->change_value(synfigapp::ValueDesc(layer_list.front(),"amount"),value.get(Real())+adjust);
                }
                layer_list.pop_front();
        }