00001
00002
00027 #ifndef PROJECTARRAY_H
00028 #define PROJECTARRAY_H
00029
00030 #include <wx/dynarray.h>
00031 #include <wx/string.h>
00032 #include "panodata/PanoramaOptions.h"
00033 #include <wx/log.h>
00034 #include "PT/Panorama.h"
00035 #include "base_wx/platform.h"
00036
00037 using namespace HuginBase;
00038
00039 class Project;
00040
00041 WX_DECLARE_OBJARRAY(Project, ProjectArray);
00042 WX_DEFINE_ARRAY_INT(int,IntArray);
00043
00044 class Project
00045 {
00046 public:
00047 enum Status
00048 {
00049 FINISHED=0,
00050 WAITING,
00051 RUNNING,
00052 FAILED,
00053 MISSING,
00054 PAUSED
00055 };
00056 enum Target
00057 {
00058 STITCHING=0,
00059 DETECTING
00060 };
00061
00062
00063 static long idGenerator;
00064
00065 long id;
00066
00067 Status status;
00068
00069 Target target;
00070
00071 wxString path;
00072
00073 wxString prefix;
00074
00075 wxDateTime modDate;
00076
00077 HuginBase::PanoramaOptions options;
00078
00079 bool skip;
00080
00081 bool isAligned;
00082
00083
00084 Project(wxString pth,wxString pfx,Project::Target newTarget=STITCHING);
00085
00086 Project(wxString command);
00087
00088 wxString GetStatusText();
00089
00090 PanoramaOptions ReadOptions(wxString projectFile);
00091
00092 void ResetOptions();
00093 };
00094
00095 #endif //PROJECTARRAY_H