00001
00002
00003
00004
00005
00006 #ifndef H_CPPPDFAction
00007 #define H_CPPPDFAction
00008
00009
00010 #include <PDF/FileSpec.h>
00011 #include <SDF/Obj.h>
00012 #include <C/PDF/TRN_Action.h>
00013
00014 namespace pdftron {
00015 namespace PDF {
00016
00029 class Action
00030 {
00031 public:
00032
00043 static Action CreateGoto(class Destination dest);
00044
00055 static Action CreateGoto(const UChar* key, int key_sz, class Destination dest);
00056
00070 static Action CreateGotoRemote(const FileSpec& file, int page_num);
00071
00083 static Action CreateGotoRemote(const FileSpec& file, int page_num, bool new_window);
00084
00094 static Action CreateSubmitForm(const FileSpec& url);
00095
00104 Action (SDF::Obj in_obj = 0);
00105
00113 Action (const Action& in_action);
00114
00122 Action& operator=(const Action& in_action);
00123
00131 bool operator==(const Action& in_action);
00132
00141 bool IsValid() const;
00142
00143
00148 enum Type
00149 {
00150 e_GoTo,
00151 e_GoToR,
00152 e_GoToE,
00153 e_Launch,
00154 e_Thread,
00155 e_URI,
00156 e_Sound,
00157 e_Movie,
00158 e_Hide,
00159 e_Named,
00160 e_SubmitForm,
00161 e_ResetForm,
00162 e_ImportData,
00163 e_JavaScript,
00164 e_SetOCGState,
00165 e_Rendition,
00166 e_Trans,
00167 e_GoTo3DView,
00168 e_Unknown
00169 };
00170
00174 Type GetType() const;
00175
00184 class Destination GetDest();
00185
00189 SDF::Obj GetSDFObj () const;
00190
00192 Action(TRN_Action impl);
00193 TRN_Action mp_action;
00195 };
00196
00197 };
00198 };
00199
00200
00201 #include <Impl/Page.inl>
00202 #endif
00203