00001
00021
00022
00023
00024
00025 #ifndef __SYNFIG_APP_ACTION_WAYPOINTADD_H
00026 #define __SYNFIG_APP_ACTION_WAYPOINTADD_H
00027
00028
00029
00030 #include <synfigapp/action.h>
00031 #include <synfig/waypoint.h>
00032 #include <synfig/valuenode_animated.h>
00033
00034
00035
00036
00037
00038
00039
00040 namespace synfigapp {
00041
00042 class Instance;
00043
00044 namespace Action {
00045
00046 class WaypointAdd :
00047 public Undoable,
00048 public CanvasSpecific
00049 {
00050 private:
00051
00052 synfig::Waypoint waypoint;
00053
00054 bool time_overwrite;
00055 synfig::Waypoint overwritten_wp;
00056
00057 synfig::ValueNode_Animated::Handle value_node;
00058 bool time_set;
00059
00060 void calc_waypoint();
00061
00062 public:
00063
00064 WaypointAdd();
00065
00066 static ParamVocab get_param_vocab();
00067 static bool is_candidate(const ParamList &x);
00068
00069 virtual bool set_param(const synfig::String& name, const Param &);
00070 virtual bool is_ready()const;
00071
00072 virtual void perform();
00073 virtual void undo();
00074
00075 ACTION_MODULE_EXT
00076 };
00077
00078 };
00079 };
00080
00081
00082
00083 #endif