X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftags%2Fstable%2Fsrc%2Fgtkmm%2Fcellrenderer_value.h;fp=synfig-studio%2Ftags%2Fstable%2Fsrc%2Fgtkmm%2Fcellrenderer_value.h;h=90bcb79583b7bdc07b5b4f7ca4b62d1eb447a51f;hb=7c6d5426922cb3cda793f688dcd4d534b02765c8;hp=0000000000000000000000000000000000000000;hpb=fe6bf7f14f9a50e67575a8771fd48edff7fd80a9;p=synfig.git diff --git a/synfig-studio/tags/stable/src/gtkmm/cellrenderer_value.h b/synfig-studio/tags/stable/src/gtkmm/cellrenderer_value.h new file mode 100644 index 0000000..90bcb79 --- /dev/null +++ b/synfig-studio/tags/stable/src/gtkmm/cellrenderer_value.h @@ -0,0 +1,134 @@ +/* === S I N F G =========================================================== */ +/*! \file cellrenderer_value.cpp +** \brief Template File +** +** $Id: cellrenderer_value.h,v 1.1.1.1 2005/01/07 03:34:36 darco Exp $ +** +** \legal +** Copyright (c) 2002 Robert B. Quattlebaum Jr. +** +** This software and associated documentation +** are CONFIDENTIAL and PROPRIETARY property of +** the above-mentioned copyright holder. +** +** You may not copy, print, publish, or in any +** other way distribute this software without +** a prior written agreement with +** the copyright holder. +** \endlegal +*/ +/* ========================================================================= */ + +/* === S T A R T =========================================================== */ + +#ifndef __SINFG_GTKMM_CELLRENDERER_VALUE_H +#define __SINFG_GTKMM_CELLRENDERER_VALUE_H + +/* === H E A D E R S ======================================================= */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#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 studio { + +class Widget_Color; +class Widget_CanvasChooser; +class Widget_Enum; +class Widget_Filename; +class Widget_Vector; +class Widget_Time; + +class ValueBase_Entry; + +class CellRenderer_ValueBase : public Gtk::CellRendererText +{ + sigc::signal signal_secondary_click_; + sigc::signal signal_edited_; + + Glib::Property property_value_; + Glib::Property > property_canvas_; + Glib::Property property_param_desc_; + + void string_edited_(const Glib::ustring&,const Glib::ustring&); + + void gradient_edited(sinfg::Gradient gradient, Glib::ustring path); + void color_edited(sinfg::Color color, Glib::ustring path); + +public: + sigc::signal &signal_secondary_click() + {return signal_secondary_click_; } + + sigc::signal &signal_edited() + {return signal_edited_; } + + Glib::PropertyProxy property_value() { return property_value_.get_proxy();} + Glib::PropertyProxy > property_canvas() { return property_canvas_.get_proxy();} + Glib::PropertyProxy property_param_desc() { return property_param_desc_.get_proxy(); } + Glib::PropertyProxy property_inconsistant() { return property_foreground_set(); } + + etl::handle get_canvas()const { return property_canvas_; } + sinfg::ParamDesc get_param_desc()const { return property_param_desc_; } + + CellRenderer_ValueBase(); + ~CellRenderer_ValueBase(); + + ValueBase_Entry *value_entry; + + void on_value_editing_done(); + + 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_ValueBase + +}; // END of namespace studio + +/* === E N D =============================================================== */ + +#endif