00001
00021
00022
00023
00024
00025 #ifndef __SYNFIG_APP_ACTION_KEYFRAMEDUPLICATE_H
00026 #define __SYNFIG_APP_ACTION_KEYFRAMEDUPLICATE_H
00027
00028
00029
00030 #include <synfigapp/action.h>
00031 #include <synfig/keyframe.h>
00032
00033
00034
00035
00036
00037
00038
00039 namespace synfigapp {
00040
00041 class Instance;
00042
00043 namespace Action {
00044
00045 class KeyframeDuplicate :
00046 public Super
00047 {
00048 private:
00049
00050 synfig::Keyframe keyframe;
00051 synfig::Keyframe new_keyframe;
00052
00053 void process_value_desc(const synfigapp::ValueDesc& value_desc);
00054
00055 public:
00056
00057 KeyframeDuplicate();
00058
00059 static ParamVocab get_param_vocab();
00060 static bool is_candidate(const ParamList &x);
00061
00062 virtual bool set_param(const synfig::String& name, const Param &);
00063 virtual bool is_ready()const;
00064
00065 virtual void prepare();
00066 virtual void perform();
00067 virtual void undo();
00068
00069 ACTION_MODULE_EXT
00070 };
00071
00072 };
00073 };
00074
00075
00076
00077 #endif