X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-studio%2Ftags%2Fsynfigstudio_0_61_07_rc1%2Fsrc%2Fgtkmm%2Fwidget_vector.h;fp=synfig-studio%2Ftags%2Fsynfigstudio_0_61_07_rc1%2Fsrc%2Fgtkmm%2Fwidget_vector.h;h=36ccbbee156a703caa01225d893baa2a3a8f5f67;hb=e9077d5c0858c23469cc10d6aeb8ad1d6d86caae;hp=0000000000000000000000000000000000000000;hpb=7d32b486bfe48032fdb52fbb3b6f144a6ce7e63e;p=synfig.git diff --git a/synfig-studio/tags/synfigstudio_0_61_07_rc1/src/gtkmm/widget_vector.h b/synfig-studio/tags/synfigstudio_0_61_07_rc1/src/gtkmm/widget_vector.h new file mode 100644 index 0000000..36ccbbe --- /dev/null +++ b/synfig-studio/tags/synfigstudio_0_61_07_rc1/src/gtkmm/widget_vector.h @@ -0,0 +1,96 @@ +/* === S Y N F I G ========================================================= */ +/*! \file widget_vector.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_WIDGET_VECTOR_H +#define __SYNFIG_STUDIO_WIDGET_VECTOR_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 SpinButton; }; + +namespace studio { + +class Widget_Distance; + +class Widget_Vector : public Gtk::HBox +{ + Gtk::SpinButton* spinbutton_x; + Gtk::SpinButton* spinbutton_y; + + Widget_Distance* distance_x; + Widget_Distance* distance_y; + + Gtk::Adjustment x_adjustment; + Gtk::Adjustment y_adjustment; + + synfig::Vector vector; + + sigc::signal signal_value_changed_; + + sigc::signal signal_activate_; + + synfig::Canvas::LooseHandle canvas_; + +public: + + void activate() { signal_activate_(); } + + void set_canvas(synfig::Canvas::LooseHandle); + synfig::Canvas::LooseHandle get_canvas()const { return canvas_; } + + sigc::signal& signal_value_changed() { return signal_value_changed_; } + + sigc::signal& signal_activate() { return signal_activate_; } + + void on_value_changed(); + void on_grab_focus(); + + void set_value(const synfig::Vector &data); + const synfig::Vector &get_value(); + void set_has_frame(bool x); + void set_digits(int x); + Widget_Vector(); + ~Widget_Vector(); + +protected: + void show_all_vfunc(); +}; // END of class Widget_Vector + +}; // END of namespace studio + +/* === E N D =============================================================== */ + +#endif