X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftags%2Fstable%2Fsrc%2Fgtkmm%2Fcellrenderer_time.h;fp=synfig-studio%2Ftags%2Fstable%2Fsrc%2Fgtkmm%2Fcellrenderer_time.h;h=149f7d8dd06dc9a34d2a5e0f8d8fcf5f46f634c6;hb=9b5810cef039c7f25e924ce2cf2fc80e76e59972;hp=0000000000000000000000000000000000000000;hpb=17a7ed174603c1e7703c66e40da1b79ced252042;p=synfig.git diff --git a/synfig-studio/tags/stable/src/gtkmm/cellrenderer_time.h b/synfig-studio/tags/stable/src/gtkmm/cellrenderer_time.h new file mode 100644 index 0000000..149f7d8 --- /dev/null +++ b/synfig-studio/tags/stable/src/gtkmm/cellrenderer_time.h @@ -0,0 +1,94 @@ +/* === S Y N F I G ========================================================= */ +/*! \file cellrenderer_time.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_CELLRENDERER_TIME_H +#define __SYNFIG_STUDIO_CELLRENDERER_TIME_H + +/* === H E A D E R S ======================================================= */ + +#include +#include + +#include +#include + +#include + +/* === 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 Gtk { class Entry; class Button; }; + +namespace studio { + +class CellRenderer_Time : public Gtk::CellRendererText +{ + sigc::signal signal_secondary_click_; + sigc::signal signal_edited_; + + Glib::Property property_time_; + Glib::Property property_fps_; + + void string_edited_(const Glib::ustring&,const Glib::ustring&); + + void on_value_editing_done(); + +public: + sigc::signal &signal_edited() + {return signal_edited_; } + + Glib::PropertyProxy property_time() { return property_time_.get_proxy();} + Glib::PropertyProxy property_fps() { return property_fps_.get_proxy();} + + CellRenderer_Time(); + ~CellRenderer_Time(); + +protected: + + virtual void + render_vfunc( + const Glib::RefPtr& window, + Gtk::Widget& widget, + const Gdk::Rectangle& background_area, + const Gdk::Rectangle& ca, + const Gdk::Rectangle& expose_area, + Gtk::CellRendererState flags); + + virtual Gtk::CellEditable* start_editing_vfunc(GdkEvent* event, + Gtk::Widget& widget, + const Glib::ustring& path, + const Gdk::Rectangle& background_area, + const Gdk::Rectangle& cell_area, + Gtk::CellRendererState flags); + +}; // END of class CellRenderer_Time + +}; // END of namespace studio + +/* === E N D =============================================================== */ + +#endif