X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Finstance.h;fp=synfig-studio%2Ftrunk%2Fsrc%2Fgtkmm%2Finstance.h;h=0000000000000000000000000000000000000000;hb=a095981e18cc37a8ecc7cd237cc22b9c10329264;hp=16842c1ef16b64d82b3221dd10800c45e997ee2c;hpb=9459638ad6797b8139f1e9f0715c96076dbf0890;p=synfig.git diff --git a/synfig-studio/trunk/src/gtkmm/instance.h b/synfig-studio/trunk/src/gtkmm/instance.h deleted file mode 100644 index 16842c1..0000000 --- a/synfig-studio/trunk/src/gtkmm/instance.h +++ /dev/null @@ -1,237 +0,0 @@ -/* === S Y N F I G ========================================================= */ -/*! \file gtkmm/instance.h -** \brief writeme -** -** $Id$ -** -** \legal -** Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley -** Copyright (c) 2007 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 -** 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 -*/ -/* ========================================================================= */ - -/* === S T A R T =========================================================== */ - -#ifndef __SYNFIG_STUDIO_INSTANCE_H -#define __SYNFIG_STUDIO_INSTANCE_H - -/* === H E A D E R S ======================================================= */ - -#include -#include -#include -#include -#include -#include -#include "historytreestore.h" -#include - -/* === M A C R O S ========================================================= */ -#define DEFAULT_FILENAME_PREFIX _("Synfig Animation ") // will be followed by a different number for each document - -/* === T Y P E D E F S ===================================================== */ - -/* === C L A S S E S & S T R U C T S ======================================= */ - -namespace Gtk { class Menu; class ActionGroup; }; - -namespace studio { - -class CanvasView; - - -class Instance : public synfigapp::Instance -{ -public: - typedef std::list< etl::handle > CanvasViewList; - - enum Status - { - STATUS_OK, - STATUS_ERROR, - STATUS_CANCEL - }; - - class CanvasTreeModel : public Gtk::TreeModel::ColumnRecord - { - public: - Gtk::TreeModelColumn > icon; - Gtk::TreeModelColumn label; - Gtk::TreeModelColumn name; - Gtk::TreeModelColumn id; - - Gtk::TreeModelColumn canvas; - Gtk::TreeModelColumn is_canvas; - - Gtk::TreeModelColumn value_node; - Gtk::TreeModelColumn is_value_node; - Gtk::TreeModelColumn value; - Gtk::TreeModelColumn type; - Gtk::TreeModelColumn link_id; - Gtk::TreeModelColumn link_count; - - Gtk::TreeModelColumn is_editable; - - Gtk::TreeModelColumn value_desc; - - CanvasTreeModel() - { - add(value); - add(name); - add(label); - add(icon); - add(type); - add(id); - add(canvas); - add(value_node); - add(is_canvas); - add(is_value_node); - - add(is_editable); - add(value_desc); - add(link_count); - add(link_id); - } - } canvas_tree_model; - -private: - - sigc::signal signal_canvas_view_created_; - sigc::signal signal_canvas_view_deleted_; - - sigc::signal signal_undo_redo_status_changed_; - - //! Tree containing the canvases -- used for the "canvas browser" - Glib::RefPtr canvas_tree_store_; - - //! Tree containing the actions -- used for the "canvas browser" - Glib::RefPtr history_tree_store_; - - //! Instance number - int id_; - - //! Used to calculate instance ID - static int instance_count_; - - //! List of canvas view windows - CanvasViewList canvas_view_list_; - - bool undo_status_; - bool redo_status_; - - void set_undo_status(bool x); - void set_redo_status(bool x); - - static void _revert(Instance *); - -protected: - - Instance(synfig::Canvas::Handle); - -public: - - sigc::signal& signal_undo_redo_status_changed() { return signal_undo_redo_status_changed_; } - - ~Instance(); - - sigc::signal& signal_canvas_view_created() { return signal_canvas_view_created_; } - sigc::signal& signal_canvas_view_deleted() { return signal_canvas_view_deleted_; } - - bool get_undo_status()const { return undo_status_; } - - bool get_redo_status()const { return redo_status_; } - - int get_visible_canvases()const; - - Glib::RefPtr canvas_tree_store() { return canvas_tree_store_; } - - Glib::RefPtr canvas_tree_store()const { return canvas_tree_store_; } - - Glib::RefPtr history_tree_store() { return history_tree_store_; } - - Glib::RefPtr history_tree_store()const { return history_tree_store_; } - - //! Returns the number of instances that are currently open in the program - static int get_count() { return instance_count_; } - - //etl::handle get_canvas()const { return synfigapp::Instance::get_canvas(); } - - etl::handle find_canvas_view(etl::handle canvas); - - //! Sets the focus to a specific canvas - void focus(etl::handle canvas); - - CanvasViewList & canvas_view_list() { return canvas_view_list_; } - - const CanvasViewList & canvas_view_list()const { return canvas_view_list_; } - - bool save_as(const synfig::String &filename); - - //! returns true if the instance has a real filename associated with it, rather than the made up "synfig animation 1" or some such - bool has_real_filename(); - - //! Opens a "Save As" dialog, and then saves the composition to that file - //! returns true if the save was successful - bool dialog_save_as(); - - void open(); - - Status save(); - - void dialog_cvs_commit(); - - void dialog_cvs_add(); - - void dialog_cvs_update(); - - void dialog_cvs_revert(); - - //! Closes the instance of this composition - void close(); - - void revert(); - - void update_all_titles(); - - void refresh_canvas_tree(); - - bool safe_revert(); - bool safe_close(); - - void add_actions_to_menu(Gtk::Menu *menu, const synfigapp::Action::ParamList ¶m_list, synfigapp::Action::Category category=synfigapp::Action::CATEGORY_ALL)const; - void add_actions_to_menu(Gtk::Menu *menu, const synfigapp::Action::ParamList ¶m_list1,const synfigapp::Action::ParamList ¶m_list2, synfigapp::Action::Category category=synfigapp::Action::CATEGORY_ALL)const; - - void add_actions_to_group(const Glib::RefPtr& action_group, synfig::String& ui_info, const synfigapp::Action::ParamList ¶m_list, synfigapp::Action::Category category=synfigapp::Action::CATEGORY_ALL)const; - - void process_action(synfig::String name, synfigapp::Action::ParamList param_list); - - void make_param_menu(Gtk::Menu *menu,synfig::Canvas::Handle canvas, synfigapp::ValueDesc value_desc, float location=0.5f, bool bezier=false); - - void make_param_menu(Gtk::Menu *menu,synfig::Canvas::Handle canvas,const std::list& value_desc_list); - - - static void edit_waypoint(synfigapp::ValueDesc value_desc,synfig::Waypoint waypoint); - -private: - void insert_canvas(Gtk::TreeRow row,synfig::Canvas::Handle canvas); - -public: - static etl::handle create(synfig::Canvas::Handle canvas); -}; // END class Instance - -}; // END namespace studio - -/* === E N D =============================================================== */ - -#endif