1 /* === S Y N F I G ========================================================= */ 2 /*! \file widgets/widget_filename.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_FILENAME_H 26 #define __SYNFIG_STUDIO_WIDGET_FILENAME_H 27 28 /* === H E A D E R S ======================================================= */ 29 30 #include <sigc++/sigc++.h> 31 #include <gtkmm/grid.h> 32 #include <gtkmm/entry.h> 33 #include <gtkmm/button.h> 34 35 #include <synfig/canvas.h> 36 37 38 /* === M A C R O S ========================================================= */ 39 40 /* === T Y P E D E F S ===================================================== */ 41 42 /* === C L A S S E S & S T R U C T S ======================================= */ 43 44 namespace Gtk { class Entry; class Button; }; 45 46 namespace studio { 47 48 class Widget_Filename : public Gtk::Grid 49 { 50 Gtk::Entry *entry_filename; 51 Gtk::Button *button_choose; 52 Gtk::Label *label_find; 53 etl::handle<synfig::Canvas> canvas; 54 55 void on_button_choose_pressed(); 56 57 sigc::signal<void> signal_value_changed_; 58 59 public: signal_value_changed()60 sigc::signal<void> &signal_value_changed() { return signal_value_changed_; } signal_activate()61 Glib::SignalProxy0<void> signal_activate() { return entry_filename->signal_activate(); } 62 63 void on_value_changed(); 64 set_canvas(etl::handle<synfig::Canvas> x)65 void set_canvas(etl::handle<synfig::Canvas> x) { canvas=x; assert(canvas); } 66 void set_value(const std::string &data); 67 std::string get_value() const; 68 void set_has_frame(bool x); 69 Widget_Filename(); 70 ~Widget_Filename(); 71 }; // END of class Widget_Filename 72 73 }; // END of namespace studio 74 75 /* === E N D =============================================================== */ 76 77 #endif 78