**
** \legal
** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
-** Copyright (c) 2007 Chris Moore
+** Copyright (c) 2007, 2008 Chris Moore
+** Copyright (c) 2009 Carlos A. Sosa Navarro
**
** This package is free software; you can redistribute it and/or
** modify it under the terms of the GNU General Public License as
String path;
+ String errors_text;
+ String warnings_text;
+
GUID guid_;
/*
const synfig::String& get_path()const { return path; }
- //! \todo writeme
- Canvas::Handle parse_from_file(const String &filename);
+ const synfig::String& get_errors_text()const { return errors_text; }
+ const synfig::String& get_warnings_text()const { return warnings_text; }
+
+ static void register_canvas_in_map(Canvas::Handle canvas, String as);
- Canvas::Handle parse_from_file_as(const String &filename,const String &as);
+#ifdef _DEBUG
+ static void show_canvas_map(String file, int line, String text);
+#endif // _DEBUG
//! \todo writeme
- Canvas::Handle parse_from_string(const String &data);
+ Canvas::Handle parse_from_file_as(const String &filename,const String &as,String &errors);
+ Canvas::Handle parse_as(xmlpp::Element* node,String &errors);
+
+ static std::set<String> loading_;
private:
//! Loads a canvas from \a filename
/*! \return The Canvas's handle on success, an empty handle on failure */
-extern Canvas::Handle open_canvas(const String &filename);
-extern Canvas::Handle open_canvas_as(const String &filename,const String &as);
-
-//! Retrieves a Canvas from a string in XML format
-extern Canvas::Handle string_to_canvas(const String &data);
+extern Canvas::Handle open_canvas(xmlpp::Element* node,String &errors,String &warnings);
+extern Canvas::Handle open_canvas(const String &filename,String &errors,String &warnings);
+extern Canvas::Handle open_canvas_as(const String &filename,const String &as,String &errors,String &warnings);
std::map<synfig::String, etl::loose_handle<Canvas> >& get_open_canvas_map();