00001 // -*- c-basic-offset: 4 -*- 00002 00027 #ifndef RUN_STITCH_FRAME_H 00028 #define RUN_STITCH_FRAME_H 00029 00030 #include <hugin_shared.h> 00031 #include <vector> 00032 #include <set> 00033 #include <functional> 00034 #include <utility> 00035 #include <string> 00036 00037 #include <PT/Panorama.h> 00038 00039 #include <algorithms/panorama_makefile/PanoramaMakefilelibExport.h> 00040 #include <algorithms/assistant_makefile/AssistantMakefilelibExport.h> 00041 00042 #include "MyExternalCmdExecDialog.h" 00043 00044 struct WXIMPEX StitchProjectEntry 00045 { 00046 StitchProjectEntry(wxString script, wxString output) 00047 : scriptFile(script), outputPrefix(output), finished(false), 00048 error(false) 00049 { 00050 } 00051 00052 wxString scriptFile; 00053 wxString outputPrefix; 00054 bool finished; 00055 bool error; 00056 }; 00057 00058 WXIMPEX wxString getGNUMakeCmd(const wxString& args); 00059 00060 class WXIMPEX RunStitchPanel: public wxPanel 00061 { 00062 public: 00063 RunStitchPanel(wxWindow * parent); 00064 00065 bool StitchProject(wxString scriptFile, wxString outname, 00066 HuginBase::PanoramaMakefilelibExport::PTPrograms progs); 00067 bool DetectProject(wxString scriptFile, 00068 HuginBase::AssistantMakefilelibExport::AssistantPrograms progs); 00069 void CancelStitch(); 00070 bool IsPaused(); 00071 void SetOverwrite(bool over = true); 00072 void PauseStitch(); 00073 void ContinueStitch(); 00074 long GetPid(); 00077 bool SaveLog(const wxString &filename); 00078 00079 private: 00080 bool m_paused; 00081 bool m_overwrite; 00082 wxString m_currentPTOfn; 00083 wxString m_currentMakefn; 00084 void OnProcessTerminate(wxProcessEvent & event); 00085 00086 MyExecPanel * m_execPanel; 00087 00088 DECLARE_EVENT_TABLE() 00089 }; 00090 00091 #endif
1.3.9.1