X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftags%2Fsynfigstudio_0_61_06%2Fsrc%2Fsynfigapp%2Finstance.cpp;fp=synfig-studio%2Ftags%2Fsynfigstudio_0_61_06%2Fsrc%2Fsynfigapp%2Finstance.cpp;h=0000000000000000000000000000000000000000;hb=3a6643238c67c043fc3592837a05d6d2861967f1;hp=9a7215d98048663574585421f3282b19446547de;hpb=47fce282611fbba1044921d22ca887f9b53ad91a;p=synfig.git diff --git a/synfig-studio/tags/synfigstudio_0_61_06/src/synfigapp/instance.cpp b/synfig-studio/tags/synfigstudio_0_61_06/src/synfigapp/instance.cpp deleted file mode 100644 index 9a7215d..0000000 --- a/synfig-studio/tags/synfigstudio_0_61_06/src/synfigapp/instance.cpp +++ /dev/null @@ -1,187 +0,0 @@ -/* === S Y N F I G ========================================================= */ -/*! \file synfigapp/instance.cpp -** \brief Instance -** -** $Id$ -** -** \legal -** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley -** -** 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. -** -** 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 -*/ -/* ========================================================================= */ - -/* === H E A D E R S ======================================================= */ - -#ifdef USING_PCH -# include "pch.h" -#else -#ifdef HAVE_CONFIG_H -# include -#endif - -#include "instance.h" -#include "canvasinterface.h" -#include -#include -#include -#include -#include -#include -#include - -#endif - -/* === U S I N G =========================================================== */ - -using namespace std; -using namespace etl; -using namespace synfig; -using namespace synfigapp; - -/* === M A C R O S ========================================================= */ - -/* === G L O B A L S ======================================================= */ - -static std::map, loose_handle > instance_map_; - -/* === P R O C E D U R E S ================================================= */ - -bool -synfigapp::is_editable(synfig::ValueNode::Handle value_node) -{ - if(ValueNode_Const::Handle::cast_dynamic(value_node) - || ValueNode_TimedSwap::Handle::cast_dynamic(value_node) - || ValueNode_Animated::Handle::cast_dynamic(value_node) - || ValueNode_Composite::Handle::cast_dynamic(value_node) - || ValueNode_RadialComposite::Handle::cast_dynamic(value_node) - || ValueNode_Reference::Handle::cast_dynamic(value_node) - ) - return true; - return false; -} - -etl::handle -synfigapp::find_instance(etl::handle canvas) -{ - if(instance_map_.count(canvas)==0) - return 0; - return instance_map_[canvas]; -} - -/* === M E T H O D S ======================================================= */ - -Instance::Instance(Canvas::Handle canvas): - CVSInfo(canvas->get_file_name()), - canvas_(canvas) -{ - assert(canvas->is_root()); - - unset_selection_manager(); - - instance_map_[canvas]=this; -} // END of synfigapp::Instance::Instance() - -handle -Instance::create(Canvas::Handle canvas) -{ - // Construct a new instance - handle instance(new Instance(canvas)); - - return instance; -} // END of synfigapp::Instance::create() - -synfig::String -Instance::get_file_name()const -{ - return get_canvas()->get_file_name(); -} - -void -Instance::set_file_name(const synfig::String &name) -{ - get_canvas()->set_file_name(name); - CVSInfo::set_file_name(name); -} - -Instance::~Instance() -{ - instance_map_.erase(canvas_); - synfig::info("studio::Instance::~Instance(): Deleted"); -} // END of studio::Instance::~Instance() - -handle -Instance::find_canvas_interface(handle canvas) -{ - if(!canvas) - return 0; - while(canvas->is_inline()) - canvas=canvas->parent(); - - CanvasInterfaceList::iterator iter; - - for(iter=canvas_interface_list().begin();iter!=canvas_interface_list().end();iter++) - if((*iter)->get_canvas()==canvas) - return *iter; - - return CanvasInterface::create(this,canvas); -} - -bool -Instance::save()const -{ - bool ret=save_canvas(get_file_name(),canvas_); - if(ret) - { - reset_action_count(); - const_cast& >(signal_saved_)(); - } - return ret; -} - -bool -Instance::save_as(const std::string &file_name)const -{ - bool ret=save_canvas(file_name,canvas_); - if(ret) - { - reset_action_count(); - const_cast& >(signal_saved_)(); - } - return ret; -} - -bool -Instance::save_as(const std::string &file_name) -{ - bool ret; - - String old_file_name(get_file_name()); - - set_file_name(file_name); - - ret=save_canvas(file_name,canvas_); - - if(ret) - { - reset_action_count(); - signal_saved_(); - } - else - { - set_file_name(old_file_name); - } - - signal_filename_changed_(); - - return ret; -}