00001
00021
00022
00023
00024
00025 #ifndef __SYNFIG_STUDIO_WIDGET_CURVES_H
00026 #define __SYNFIG_STUDIO_WIDGET_CURVES_H
00027
00028
00029
00030 #include <gtkmm/box.h>
00031 #include <gtkmm/table.h>
00032 #include <gtkmm/spinbutton.h>
00033 #include <gtkmm/adjustment.h>
00034 #include <gtkmm/drawingarea.h>
00035 #include <gtkmm/layout.h>
00036 #include <synfig/color.h>
00037 #include <synfigapp/value_desc.h>
00038 #include <list>
00039
00040
00041
00042
00043
00044
00045
00046 namespace studio {
00047
00048 class Widget_Curves : public Gtk::DrawingArea
00049 {
00050 struct Channel;
00051 struct CurveStruct;
00052
00053 Gtk::Adjustment* time_adjustment_;
00054 Gtk::Adjustment* range_adjustment_;
00055
00056 std::list<CurveStruct> curve_list_;
00057
00058 public:
00059
00060 Widget_Curves();
00061 ~Widget_Curves();
00062
00063 void set_value_descs(std::list<synfigapp::ValueDesc> value_descs);
00064 void clear();
00065 void refresh();
00066
00067 Gtk::Adjustment& get_range_adjustment() { return *range_adjustment_; }
00068 Gtk::Adjustment& get_time_adjustment() { return *time_adjustment_; }
00069 void set_time_adjustment(Gtk::Adjustment&);
00070
00071 private:
00072 bool redraw(GdkEventExpose*bleh);
00073 bool on_event(GdkEvent *event);
00074
00075 };
00076
00077 };
00078
00079
00080
00081 #endif