X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftags%2Fstable%2Fsrc%2Fgtkmm%2Fdock_canvasspecific.h;fp=synfig-studio%2Ftags%2Fstable%2Fsrc%2Fgtkmm%2Fdock_canvasspecific.h;h=8351a8e2b5bc85c46309383e6b5555ca906eb516;hb=f6184c2a9c2245aae802c31c8f3300e1b744359c;hp=0000000000000000000000000000000000000000;hpb=0ae662c528942732c68caaaed4d37cc1264494fb;p=synfig.git diff --git a/synfig-studio/tags/stable/src/gtkmm/dock_canvasspecific.h b/synfig-studio/tags/stable/src/gtkmm/dock_canvasspecific.h new file mode 100644 index 0000000..8351a8e --- /dev/null +++ b/synfig-studio/tags/stable/src/gtkmm/dock_canvasspecific.h @@ -0,0 +1,73 @@ +/* === S Y N F I G ========================================================= */ +/*! \file dock_canvasspecific.h +** \brief Template Header +** +** $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 +*/ +/* ========================================================================= */ + +/* === S T A R T =========================================================== */ + +#ifndef __SYNFIG_STUDIO_DOCK_CANVASSPECIFIC_H +#define __SYNFIG_STUDIO_DOCK_CANVASSPECIFIC_H + +/* === H E A D E R S ======================================================= */ + +#include "dockable.h" +#include +#include "instance.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 studio { + +class CanvasView; +class Instance; + +class Dock_CanvasSpecific : public Dockable +{ + SigC::Connection canvas_delete_connection; +protected: + virtual void init_instance_vfunc(etl::loose_handle instance); + + virtual void init_canvas_view_vfunc(etl::loose_handle canvas_view); + virtual void changed_canvas_view_vfunc(etl::loose_handle canvas_view); + +private: + void init_canvas_view(CanvasView* canvas_view); + void init_instance(etl::handle instance); + void delete_instance(etl::handle instance); + void canvas_view_changed(); + void changed_canvas_view(etl::loose_handle canvas_view) { return changed_canvas_view_vfunc(canvas_view); } +public: + + etl::loose_handle get_canvas_view(); + etl::loose_handle get_canvas_interface(); + + Dock_CanvasSpecific(const synfig::String& name,const synfig::String& local_name,Gtk::StockID stock_id_=Gtk::StockID(" ")); + virtual ~Dock_CanvasSpecific(); +}; // END of Dock_CanvasSpecific + +}; // END of namespace studio + +/* === E N D =============================================================== */ + +#endif