X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftags%2Fsynfigstudio_0_61_05%2Fsynfig-studio%2Fsrc%2Fgtkmm%2Fcompview.h;fp=synfig-studio%2Ftags%2Fsynfigstudio_0_61_05%2Fsynfig-studio%2Fsrc%2Fgtkmm%2Fcompview.h;h=7c218c6a1c7d795b7a77261e1eaee833ed390652;hb=7ba2096dd58b21ba3a08b28b5a6f70795f6ea265;hp=0000000000000000000000000000000000000000;hpb=043865a2284e71de646b09cc0f22b5674b95a454;p=synfig.git diff --git a/synfig-studio/tags/synfigstudio_0_61_05/synfig-studio/src/gtkmm/compview.h b/synfig-studio/tags/synfigstudio_0_61_05/synfig-studio/src/gtkmm/compview.h new file mode 100644 index 0000000..7c218c6 --- /dev/null +++ b/synfig-studio/tags/synfigstudio_0_61_05/synfig-studio/src/gtkmm/compview.h @@ -0,0 +1,125 @@ +/*! ======================================================================== +** Synfig +** Template Header File +** $Id: compview.h,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $ +** +** 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. +** +** === N O T E S =========================================================== +** +** ========================================================================= */ + +/* === S T A R T =========================================================== */ + +#ifndef __SYNFIG_COMPVIEW_H +#define __SYNFIG_COMPVIEW_H + +/* === H E A D E R S ======================================================= */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include "dialogsettings.h" + +/* === M A C R O S ========================================================= */ + +/* === T Y P E D E F S ===================================================== */ + +/* === C L A S S E S & S T R U C T S ======================================= */ + +namespace synfig { class Canvas; }; + +namespace studio { + +class Instance; +class CanvasView; + +class CompView : public Gtk::Window +{ + DialogSettings dialog_settings; + + Gtk::Tooltips tooltips; + + Gtk::OptionMenu *instance_selector; + Gtk::Notebook *notebook; + + Gtk::TreeView *canvas_tree; + Gtk::TreeView *action_tree; + + Gtk::Menu instance_list_menu; + Gtk::Menu menu; + + etl::loose_handle selected_instance; + + void set_selected_instance_(etl::handle x); + + void clear_history(); + void clear_redo(); + +public: + CompView(); + ~CompView(); + + etl::loose_handle get_selected_instance() { return selected_instance; } + + etl::loose_handle get_selected_canvas(); + + etl::loose_handle get_selected_canvas_view(); + + void set_selected_instance(etl::loose_handle x); + + void set_selected_instance_signal(etl::handle x); + + void new_instance(etl::handle x); + + void delete_instance(etl::handle x); + + void refresh_instances(); + + bool close(); + +private: + + Gtk::Widget* create_canvas_tree(); + Gtk::Widget* create_action_tree(); + Gtk::Widget* create_instance_selector(); + + void on_row_activate(const Gtk::TreeModel::Path &path, Gtk::TreeViewColumn *); + bool on_tree_event(GdkEvent *event); + + bool on_action_event(GdkEvent *event); + + void init_menu(); + + void menu_new_canvas(); + void menu_delete(); + void menu_rename(); + + void on_action_toggle(const Glib::ustring& path); +}; + +}; + +/* === E N D =============================================================== */ + +#endif