00001
00021
00022
00023
00024
00025 #ifndef __SYNFIG_STUDIO_WIDGET_FILENAME_H
00026 #define __SYNFIG_STUDIO_WIDGET_FILENAME_H
00027
00028
00029
00030 #include <sigc++/signal.h>
00031 #include <sigc++/slot.h>
00032 #include <gtkmm/box.h>
00033 #include <gtkmm/entry.h>
00034 #include <gtkmm/button.h>
00035
00036
00037
00038
00039
00040
00041
00042 namespace Gtk { class Entry; class Button; };
00043
00044 namespace studio {
00045
00046 class Widget_Filename : public Gtk::HBox
00047 {
00048 Gtk::Entry *entry_filename;
00049 Gtk::Button *button_choose;
00050
00051 void on_button_choose_pressed();
00052
00053 sigc::signal<void> signal_value_changed_;
00054
00055 public:
00056 sigc::signal<void> &signal_value_changed() { return signal_value_changed_; }
00057 Glib::SignalProxy0<void> signal_activate() { return entry_filename->signal_activate(); }
00058
00059 void on_value_changed();
00060
00061 void set_value(const std::string &data);
00062 std::string get_value() const;
00063 void set_has_frame(bool x);
00064 Widget_Filename();
00065 ~Widget_Filename();
00066 };
00067
00068 };
00069
00070
00071
00072 #endif