source: synfigstudio/trunk/fuentes/src/gui/widgets/widget_vector.h @ 481

Last change on this file since 481 was 481, checked in by jrpelegrina, 4 years ago

First release to xenial

File size: 2.7 KB
Line 
1/* === S Y N F I G ========================================================= */
2/*!     \file widgets/widget_vector.h
3**      \brief Template Header
4**
5**      $Id$
6**
7**      \legal
8**      Copyright (c) 2002-2005 Robert B. Quattlebaum Jr., Adrian Bentley
9**
10**      This package is free software; you can redistribute it and/or
11**      modify it under the terms of the GNU General Public License as
12**      published by the Free Software Foundation; either version 2 of
13**      the License, or (at your option) any later version.
14**
15**      This package is distributed in the hope that it will be useful,
16**      but WITHOUT ANY WARRANTY; without even the implied warranty of
17**      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18**      General Public License for more details.
19**      \endlegal
20*/
21/* ========================================================================= */
22
23/* === S T A R T =========================================================== */
24
25#ifndef __SYNFIG_STUDIO_WIDGET_VECTOR_H
26#define __SYNFIG_STUDIO_WIDGET_VECTOR_H
27
28/* === H E A D E R S ======================================================= */
29
30#include <gtkmm/box.h>
31#include <gtkmm/adjustment.h>
32#include <synfig/vector.h>
33#include <synfig/distance.h>
34#include <synfig/canvas.h>
35
36/* === M A C R O S ========================================================= */
37
38/* === T Y P E D E F S ===================================================== */
39
40/* === C L A S S E S & S T R U C T S ======================================= */
41
42namespace Gtk { class SpinButton; };
43
44namespace studio {
45
46class Widget_Distance;
47
48class Widget_Vector : public Gtk::HBox
49{
50        Gtk::Entry* entry_x;
51        Gtk::Entry* entry_y;
52   
53        Gtk::SpinButton* spinbutton_x;
54        Gtk::SpinButton* spinbutton_y;
55
56        Widget_Distance* distance_x;
57        Widget_Distance* distance_y;
58
59        Glib::RefPtr<Gtk::Adjustment> x_adjustment;
60        Glib::RefPtr<Gtk::Adjustment> y_adjustment;
61
62        synfig::Vector vector;
63
64        sigc::signal<void> signal_value_changed_;
65
66        sigc::signal<void> signal_activate_;
67
68        synfig::Canvas::LooseHandle canvas_;
69
70public:
71
72        void activate() { signal_activate_(); }
73
74        void set_canvas(synfig::Canvas::LooseHandle);
75        synfig::Canvas::LooseHandle get_canvas()const { return canvas_; }
76
77        sigc::signal<void>& signal_value_changed() { return signal_value_changed_; }
78
79        sigc::signal<void>& signal_activate() { return signal_activate_; }
80
81        void on_value_changed();
82        void on_entry_x_changed();
83        void on_entry_y_changed();
84        void on_grab_focus();
85
86        void set_value(const synfig::Vector &data);
87        const synfig::Vector &get_value();
88        void set_has_frame(bool x);
89        void set_digits(int x);
90        Widget_Vector();
91        ~Widget_Vector();
92
93protected:
94        void show_all_vfunc();
95}; // END of class Widget_Vector
96
97}; // END of namespace studio
98
99/* === E N D =============================================================== */
100
101#endif
Note: See TracBrowser for help on using the repository browser.