1 // -*- c-basic-offset: 4 -*- 2 3 /** @file RunStitchFrame.h 4 * 5 * @brief Stitch a pto project file, with GUI output etc. 6 * 7 * @author Pablo d'Angelo <pablo.dangelo@web.de> 8 * 9 * $Id: hugin_stitch_project.cpp 2705 2008-01-27 19:56:06Z ippei $ 10 * 11 * This program is free software; you can redistribute it and/or 12 * modify it under the terms of the GNU General Public 13 * License as published by the Free Software Foundation; either 14 * version 2 of the License, or (at your option) any later version. 15 * 16 * This software is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 19 * General Public License for more details. 20 * 21 * You should have received a copy of the GNU General Public 22 * License along with this software. If not, see 23 * <http://www.gnu.org/licenses/>. 24 * 25 */ 26 27 #ifndef RUN_STITCH_FRAME_H 28 #define RUN_STITCH_FRAME_H 29 30 #include <hugin_shared.h> 31 #include <vector> 32 #include <set> 33 #include <functional> 34 #include <utility> 35 #include <string> 36 37 #include <panodata/Panorama.h> 38 39 #include "MyExternalCmdExecDialog.h" 40 41 class WXIMPEX RunStitchPanel: public wxPanel 42 { 43 public: 44 explicit RunStitchPanel(wxWindow * parent); 45 46 bool StitchProject(const wxString& scriptFile, const wxString& outname, const wxString& userDefinedOutput = wxEmptyString); 47 bool DetectProject(const wxString& scriptFile); 48 void CancelStitch(); 49 bool IsPaused(); 50 void SetOverwrite(bool over = true); 51 void PauseStitch(); 52 void ContinueStitch(); 53 long GetPid(); 54 /** save the content of the window into a given log file 55 @return true if log was saved successful */ 56 bool SaveLog(const wxString &filename); 57 58 private: 59 bool m_paused; 60 bool m_overwrite; 61 wxString m_currentPTOfn; 62 wxArrayString m_tempFiles; 63 wxString m_oldCwd; 64 void OnProcessTerminate(wxProcessEvent & event); 65 66 MyExecPanel * m_execPanel; 67 68 DECLARE_EVENT_TABLE() 69 }; 70 71 #endif 72