X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fsynfigapp%2Finstance.cpp;h=c3c542bb357394f1449da25e6192c409f063bd8a;hb=9459638ad6797b8139f1e9f0715c96076dbf0890;hp=95d7df4b3f7b6eb13dbc6315ed56859fe619baf6;hpb=c6af6e1c3816eb3b15c573089b32e6ae65cd2f49;p=synfig.git diff --git a/synfig-studio/trunk/src/synfigapp/instance.cpp b/synfig-studio/trunk/src/synfigapp/instance.cpp index 95d7df4..c3c542b 100644 --- a/synfig-studio/trunk/src/synfigapp/instance.cpp +++ b/synfig-studio/trunk/src/synfigapp/instance.cpp @@ -2,10 +2,11 @@ /*! \file synfigapp/instance.cpp ** \brief Instance ** -** $Id: instance.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 @@ -37,8 +38,15 @@ #include #include #include +#include +#include +#include +#include +#include #include +#include "general.h" + #endif /* === U S I N G =========================================================== */ @@ -60,11 +68,14 @@ 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) + ||(ValueNode_Reference::Handle::cast_dynamic(value_node) && !ValueNode_Greyed::Handle::cast_dynamic(value_node)) + || ValueNode_BLineCalcVertex::Handle::cast_dynamic(value_node) + || ValueNode_BLineCalcTangent::Handle::cast_dynamic(value_node) + || ValueNode_BLineCalcWidth::Handle::cast_dynamic(value_node) + || ValueNode_Scale::Handle::cast_dynamic(value_node) ) return true; return false; @@ -80,7 +91,7 @@ synfigapp::find_instance(etl::handle canvas) /* === M E T H O D S ======================================================= */ -Instance::Instance(Canvas::Handle canvas): +Instance::Instance(etl::handle canvas): CVSInfo(canvas->get_file_name()), canvas_(canvas) { @@ -92,7 +103,7 @@ Instance::Instance(Canvas::Handle canvas): } // END of synfigapp::Instance::Instance() handle -Instance::create(Canvas::Handle canvas) +Instance::create(etl::handle canvas) { // Construct a new instance handle instance(new Instance(canvas)); @@ -116,11 +127,13 @@ Instance::set_file_name(const synfig::String &name) Instance::~Instance() { instance_map_.erase(canvas_); - synfig::info("studio::Instance::~Instance(): Deleted"); -} // END of studio::Instance::~Instance() + + if (getenv("SYNFIG_DEBUG_DESTRUCTORS")) + synfig::info("Instance::~Instance(): Deleted"); +} handle -Instance::find_canvas_interface(handle canvas) +Instance::find_canvas_interface(synfig::Canvas::Handle canvas) { if(!canvas) return 0; @@ -149,19 +162,7 @@ Instance::save()const } 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) +Instance::save_as(const synfig::String &file_name) { bool ret; @@ -177,9 +178,7 @@ Instance::save_as(const std::string &file_name) signal_saved_(); } else - { set_file_name(old_file_name); - } signal_filename_changed_();