00001
00021
00022
00023
00024
00025 #ifndef __SYNFIG_GTKMM_DIALOG_WAYPOINT_H
00026 #define __SYNFIG_GTKMM_DIALOG_WAYPOINT_H
00027
00028
00029
00030 #include <gtk/gtk.h>
00031 #include <gtkmm/ruler.h>
00032 #include <gtkmm/arrow.h>
00033 #include <gtkmm/image.h>
00034 #include <gdkmm/pixbufloader.h>
00035 #include <gtkmm/viewport.h>
00036 #include <gtkmm/adjustment.h>
00037 #include <gtkmm/scrolledwindow.h>
00038 #include <gtkmm/table.h>
00039 #include <gtkmm/statusbar.h>
00040 #include <gtkmm/button.h>
00041 #include <gtkmm/progressbar.h>
00042 #include <gtkmm/paned.h>
00043 #include <gtkmm/treeview.h>
00044 #include <gtkmm/treestore.h>
00045 #include <gtkmm/adjustment.h>
00046 #include <gtkmm/box.h>
00047 #include <gtkmm/scrollbar.h>
00048 #include <gtkmm/cellrenderer.h>
00049
00050 #include <gtkmm/dialog.h>
00051 #include <gtkmm/menu.h>
00052
00053
00054 #include <synfigapp/value_desc.h>
00055 #include <synfig/valuenode_animated.h>
00056 #include <synfig/valuenode_dynamiclist.h>
00057 #include <synfig/string.h>
00058 #include <synfig/time.h>
00059
00060
00061
00062
00063
00064
00065
00066
00067 namespace studio {
00068
00069 class Widget_ValueBase;
00070 class Widget_Waypoint;
00071
00072 class Dialog_Waypoint : public Gtk::Dialog
00073 {
00074 Widget_Waypoint *waypointwidget;
00075 etl::handle<synfig::Canvas> canvas;
00076 synfig::ValueNode_Animated::WaypointList::iterator waypoint;
00077 synfigapp::ValueDesc value_desc_;
00078
00079 sigc::signal<void> signal_changed_;
00080
00081 sigc::signal<void> signal_delete_;
00082 void on_ok_pressed();
00083 void on_apply_pressed();
00084 void on_delete_pressed();
00085
00086 public:
00087 Dialog_Waypoint(Gtk::Window& parent,etl::handle<synfig::Canvas> canvas);
00088 ~Dialog_Waypoint();
00089
00090 void reset();
00091
00092 void set_value_desc(synfigapp::ValueDesc value_desc);
00093 synfigapp::ValueDesc get_value_desc()const { return value_desc_; }
00094
00095 void set_waypoint(synfig::ValueNode_Animated::Waypoint x);
00096 const synfig::ValueNode_Animated::Waypoint &get_waypoint()const;
00097
00098 sigc::signal<void> &signal_changed()
00099 {return signal_changed_; }
00100
00101 sigc::signal<void> &signal_delete()
00102 {return signal_delete_; }
00103 };
00104
00105 };
00106
00107
00108
00109 #endif