X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Fsrc%2Fgtkmm%2Fwidget_value.h;fp=synfig-studio%2Fsrc%2Fgtkmm%2Fwidget_value.h;h=99bdf5b29bbfa5f92870bed5eea248d74649506c;hb=a095981e18cc37a8ecc7cd237cc22b9c10329264;hp=0000000000000000000000000000000000000000;hpb=9459638ad6797b8139f1e9f0715c96076dbf0890;p=synfig.git diff --git a/synfig-studio/src/gtkmm/widget_value.h b/synfig-studio/src/gtkmm/widget_value.h new file mode 100644 index 0000000..99bdf5b --- /dev/null +++ b/synfig-studio/src/gtkmm/widget_value.h @@ -0,0 +1,136 @@ +/* === S Y N F I G ========================================================= */ +/*! \file widget_value.h +** \brief Template File +** +** $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_GTKMM_VALUE_H +#define __SYNFIG_GTKMM_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 + + +/* === 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_ColorEdit; +class Widget_CanvasChooser; +class Widget_Enum; +class Widget_Filename; +class Widget_Vector; +class Widget_Time; +class Widget_Distance; + +class Widget_ValueBase : public Gtk::HBox +{ + Gtk::Label *label; + synfig::ValueBase value; + + Widget_Vector *vector_widget; + Gtk::SpinButton *real_widget; + Gtk::Adjustment real_adjustment; + Gtk::SpinButton *integer_widget; + Gtk::Adjustment integer_adjustment; + Gtk::SpinButton *angle_widget; + Gtk::Adjustment angle_adjustment; + + Gtk::CheckButton *bool_widget; + //Gtk::ColorSelection *color_widget; + Widget_ColorEdit *color_widget; + Widget_CanvasChooser *canvas_widget; + Widget_Enum *enum_widget; + Widget_Filename *filename_widget; + Widget_Time *time_widget; + Gtk::Entry *string_widget; + Widget_Distance *distance_widget; + +// std::string hint; + + synfig::ParamDesc param_desc; + etl::handle canvas; + sigc::signal signal_value_changed_; + sigc::signal signal_activate_; + +public: + sigc::signal &signal_value_changed() { return signal_value_changed_; } + + void activate(); + + sigc::signal& signal_activate() { return signal_activate_; } + + void set_value(const synfig::ValueBase &data); + const synfig::ValueBase &get_value(); + + void on_grab_focus(); + + void set_param_desc(const synfig::ParamDesc &x) { param_desc=x; } + const synfig::ParamDesc &get_param_desc() { return param_desc; } + + void set_sensitive(bool x); + + //void set_hint(std::string x) { hint=x; } +// std::string get_hint() { return hint; } + + void set_canvas(etl::handle x) { canvas=x; assert(canvas); } + void inside_cellrenderer(); + Widget_ValueBase(); + ~Widget_ValueBase(); +}; + +}; // END of namespace studio + +/* === E N D =============================================================== */ + +#endif