Hugintrunk
0.1
|
#include <Batch.h>
Public Types | |
enum | EndTask { DO_NOTHING = 0, CLOSE_PTBATCHERGUI = 1, SHUTDOWN = 2, SUSPEND = 3, HIBERNATE = 4 } |
Public Member Functions | |
Batch (wxFrame *parent) | |
Main constructor. More... | |
~Batch () | |
destructor More... | |
void | AddAppToBatch (wxString app) |
Adds an application entry in the batch list. More... | |
void | AddProjectToBatch (wxString projectFile, wxString outputFile=wxEmptyString, wxString userDefinedSequence=wxEmptyString, Project::Target target=Project::STITCHING) |
Adds a project entry in the batch list. More... | |
bool | AllDone () |
Returns true if there are no more projects pending execution. More... | |
void | AppendBatchFile (wxString file) |
Appends projects from file to batch list. More... | |
void | CancelBatch () |
Stops batch run, failing projects in progress. More... | |
void | CancelProject (int index) |
Cancels project at index in batch, failing it. More... | |
void | ChangePrefix (int index, wxString newPrefix) |
Changes output prefix for project at index. More... | |
void | ChangeUserDefined (int index, wxString newUserDefined) |
Changes user defined sequence for project at index. More... | |
int | ClearBatch () |
Clears batch list and returns 0 if succesful. More... | |
bool | CompareProjectsInLists (int stitchListIndex, int batchListIndex) |
Compares two project at indexes in both lists and returns true if they have identical project ids. More... | |
int | GetFirstAvailable () |
Returns index of first waiting project in batch. More... | |
int | GetIndex (int id) |
Returns index of project with selected id. More... | |
Project * | GetProject (int index) |
Returns project at index. More... | |
int | GetProjectCount () |
Returns number of projects in batch list. More... | |
int | GetProjectCountByPath (wxString path) |
Returns number of projects in batch list with the input file path. More... | |
int | GetRunningCount () |
Returns number of projects currently in progress. More... | |
Project::Status | GetStatus (int index) |
Returns current status of project at index. More... | |
bool | IsRunning () |
return true, if batch is running More... | |
bool | IsPaused () |
Returns true if batch execution is currently paused. More... | |
int | LoadBatchFile (wxString file) |
Clears current batch list and loads projects from batch file. More... | |
int | LoadTemp () |
Loads temporary batch file. More... | |
bool | NoErrors () |
Returns true if there are no failed projects in batch. More... | |
void | OnProcessTerminate (wxProcessEvent &event) |
Called internally when all running processes have completed and need to be removed from running list. More... | |
bool | OnStitch (wxString scriptFile, wxString outname, wxString userDefinedOutput, int id) |
Called to start stitch of project with input scriptFile. More... | |
bool | OnDetect (wxString scriptFile, wxString userDefinedAssistant, int id) |
called to start detecting More... | |
void | PauseBatch () |
Pauses and continues batch execution. More... | |
void | RemoveProject (int id) |
Removes project with id from batch list. More... | |
void | RemoveProjectAtIndex (int selIndex) |
Removes project at index from batch list. More... | |
void | RunBatch () |
Starts batch execution. More... | |
void | RunNextInBatch () |
Starts execution of next waiting project in batch. More... | |
void | SaveBatchFile (wxString file) |
Saves batch list to file. More... | |
wxString | GetBatchFilename () |
returns the filename of the default queue file More... | |
void | SaveTemp () |
Saves batch list to temporary file. More... | |
void | SetStatus (int index, Project::Status status) |
Used internally to set status of selected project. More... | |
void | SwapProject (int index) |
Swaps position in batch of project at index with project at index+1. More... | |
void | ShowOutput (bool isVisible=true) |
Set visibility of all running projects. More... | |
size_t | GetFailedProjectsCount () |
returns number of failed projects More... | |
wxString | GetFailedProjectName (unsigned int i) |
returns project file name of failed project with index i More... | |
wxString | GetFailedProjectLog (unsigned int i) |
returns log file name of failed project with index i More... | |
Public Attributes | |
bool | deleteFiles |
EndTask | atEnd |
bool | overwrite |
bool | verbose |
bool | autostitch |
bool | autoremove |
bool | saveLog |
Private Attributes | |
wxConfigBase * | m_config |
ProjectArray | m_projList |
FrameArray | m_stitchFrames |
bool | m_cancelled |
bool | m_paused |
bool | m_running |
bool | m_clearedInProgress |
std::vector< FailedProject > | m_failedProjects |
enum Batch::EndTask |
|
explicit |
Main constructor.
Definition at line 57 of file Batch.cpp.
References atEnd, autoremove, autostitch, deleteFiles, DO_NOTHING, m_cancelled, m_clearedInProgress, m_paused, m_running, overwrite, saveLog, and verbose.
void Batch::AddAppToBatch | ( | wxString | app | ) |
Adds an application entry in the batch list.
Definition at line 86 of file Batch.cpp.
References m_projList.
Referenced by AppendBatchFile(), and BatchFrame::OnButtonAddCommand().
void Batch::AddProjectToBatch | ( | wxString | projectFile, |
wxString | outputFile = wxEmptyString , |
||
wxString | userDefinedSequence = wxEmptyString , |
||
Project::Target | target = Project::STITCHING |
||
) |
Adds a project entry in the batch list.
Definition at line 92 of file Batch.cpp.
References Project::DETECTING, and m_projList.
Referenced by BatchFrame::AddArrayToList(), BatchFrame::AddDirToList(), BatchFrame::AddToList(), AppendBatchFile(), and OnProcessTerminate().
bool Batch::AllDone | ( | ) |
Returns true if there are no more projects pending execution.
Definition at line 112 of file Batch.cpp.
References m_projList, Project::PAUSED, Project::RUNNING, and Project::WAITING.
Referenced by OnProcessTerminate(), and RunNextInBatch().
void Batch::AppendBatchFile | ( | wxString | file | ) |
Appends projects from file to batch list.
Definition at line 126 of file Batch.cpp.
References AddAppToBatch(), AddProjectToBatch(), Project::DETECTING, Project::FAILED, hugin_utils::FileExists(), Project::idGenerator, m_projList, Project::PAUSED, Project::RUNNING, and Project::WAITING.
Referenced by LoadBatchFile(), and LoadTemp().
void Batch::CancelBatch | ( | ) |
Stops batch run, failing projects in progress.
Definition at line 196 of file Batch.cpp.
References CancelProject(), GetRunningCount(), m_cancelled, and m_running.
Referenced by ClearBatch(), and BatchFrame::OnButtonCancel().
void Batch::CancelProject | ( | int | index | ) |
Cancels project at index in batch, failing it.
Definition at line 212 of file Batch.cpp.
References GetRunningCount(), m_paused, m_running, and m_stitchFrames.
Referenced by CancelBatch(), and BatchFrame::OnButtonSkip().
void Batch::ChangePrefix | ( | int | index, |
wxString | newPrefix | ||
) |
Changes output prefix for project at index.
Definition at line 225 of file Batch.cpp.
References m_projList.
Referenced by BatchFrame::ChangePrefix().
void Batch::ChangeUserDefined | ( | int | index, |
wxString | newUserDefined | ||
) |
Changes user defined sequence for project at index.
Definition at line 230 of file Batch.cpp.
References m_projList.
Referenced by BatchFrame::ChangeUserDefined(), and BatchFrame::OnButtonChangeUserDefinedSequence().
int Batch::ClearBatch | ( | ) |
Clears batch list and returns 0 if succesful.
Definition at line 235 of file Batch.cpp.
References CancelBatch(), Project::idGenerator, m_clearedInProgress, m_projList, and m_stitchFrames.
Referenced by LoadBatchFile(), BatchFrame::OnButtonClear(), and BatchFrame::OnClose().
bool Batch::CompareProjectsInLists | ( | int | stitchListIndex, |
int | batchListIndex | ||
) |
Compares two project at indexes in both lists and returns true if they have identical project ids.
Definition at line 269 of file Batch.cpp.
References m_projList, and m_stitchFrames.
Referenced by BatchFrame::OnButtonSkip().
wxString Batch::GetBatchFilename | ( | ) |
returns the filename of the default queue file
Definition at line 908 of file Batch.cpp.
References hugin_utils::GetUserAppDataDir().
Referenced by LoadTemp(), and SaveTemp().
wxString Batch::GetFailedProjectLog | ( | unsigned int | i | ) |
returns log file name of failed project with index i
Definition at line 963 of file Batch.cpp.
References m_failedProjects.
Referenced by FailedProjectsDialog::OnSelectProject().
wxString Batch::GetFailedProjectName | ( | unsigned int | i | ) |
returns project file name of failed project with index i
Definition at line 951 of file Batch.cpp.
References m_failedProjects.
|
inline |
returns number of failed projects
Definition at line 147 of file Batch.h.
References m_failedProjects.
Referenced by BatchFrame::OnBatchFailed().
int Batch::GetFirstAvailable | ( | ) |
Returns index of first waiting project in batch.
Definition at line 274 of file Batch.cpp.
References m_projList, and Project::WAITING.
Referenced by RunNextInBatch().
int Batch::GetIndex | ( | int | id | ) |
Returns index of project with selected id.
Definition at line 299 of file Batch.cpp.
References m_projList.
Referenced by OnProcessTerminate(), and RemoveProject().
Project * Batch::GetProject | ( | int | index | ) |
Returns project at index.
Definition at line 311 of file Batch.cpp.
References m_projList.
Referenced by BatchFrame::AddArrayToList(), BatchFrame::AddDirToList(), BatchFrame::AddToList(), ProjectListBox::ChangePrefix(), ProjectListBox::ChangeUserDefined(), ProjectListBox::Fill(), BatchFrame::OnButtonAddCommand(), BatchFrame::OnButtonChangePrefix(), BatchFrame::OnButtonChangeUserDefinedSequence(), BatchFrame::OnButtonOpenWithHugin(), BatchFrame::OnButtonRemoveFromList(), BatchFrame::OnButtonReset(), ProjectListBox::OnContextMenu(), BatchFrame::OnRefillListBox(), and BatchFrame::OnUpdateListBox().
int Batch::GetProjectCount | ( | ) |
Returns number of projects in batch list.
Definition at line 316 of file Batch.cpp.
References m_projList.
Referenced by BatchFrame::AddArrayToList(), BatchFrame::AddDirToList(), BatchFrame::AddToList(), BatchFrame::ChangePrefix(), BatchFrame::ChangeUserDefined(), ProjectListBox::Fill(), BatchFrame::OnButtonAddCommand(), BatchFrame::OnClose(), and BatchFrame::OnUpdateListBox().
int Batch::GetProjectCountByPath | ( | wxString | path | ) |
Returns number of projects in batch list with the input file path.
Definition at line 321 of file Batch.cpp.
References m_projList.
int Batch::GetRunningCount | ( | ) |
Returns number of projects currently in progress.
Definition at line 334 of file Batch.cpp.
References m_stitchFrames.
Referenced by CancelBatch(), CancelProject(), BatchFrame::OnButtonPause(), BatchFrame::OnButtonResetAll(), BatchFrame::OnButtonSkip(), OnProcessTerminate(), BatchFrame::OnProcessTerminate(), and PauseBatch().
Project::Status Batch::GetStatus | ( | int | index | ) |
Returns current status of project at index.
Definition at line 339 of file Batch.cpp.
References m_projList, and Project::MISSING.
Referenced by BatchFrame::OnButtonRemoveComplete(), BatchFrame::OnButtonRemoveFromList(), BatchFrame::OnButtonReset(), BatchFrame::OnButtonSkip(), and BatchFrame::OnUpdateListBox().
bool Batch::IsPaused | ( | ) |
Returns true if batch execution is currently paused.
Definition at line 357 of file Batch.cpp.
References m_paused.
Referenced by BatchFrame::IsPaused(), BatchFrame::OnButtonPause(), BatchFrame::OnButtonRunBatch(), BatchFrame::UpdateTaskBarProgressBar(), and BatchFrame::UpdateTrayIcon().
bool Batch::IsRunning | ( | ) |
return true, if batch is running
Definition at line 352 of file Batch.cpp.
References m_running.
Referenced by BatchFrame::IsRunning(), and BatchFrame::UpdateTrayIcon().
int Batch::LoadBatchFile | ( | wxString | file | ) |
Clears current batch list and loads projects from batch file.
Definition at line 362 of file Batch.cpp.
References AppendBatchFile(), and ClearBatch().
Referenced by BatchFrame::OnButtonOpenBatch().
int Batch::LoadTemp | ( | ) |
Loads temporary batch file.
Definition at line 382 of file Batch.cpp.
References AppendBatchFile(), hugin_utils::FileExists(), and GetBatchFilename().
bool Batch::NoErrors | ( | ) |
Returns true if there are no failed projects in batch.
Definition at line 393 of file Batch.cpp.
References Project::FAILED, and m_projList.
Referenced by BatchFrame::OnButtonRemoveComplete(), and OnProcessTerminate().
bool Batch::OnDetect | ( | wxString | scriptFile, |
wxString | userDefinedAssistant, | ||
int | id | ||
) |
called to start detecting
Definition at line 685 of file Batch.cpp.
References RunStitchFrame::DetectProject(), m_stitchFrames, RunStitchFrame::SetProjectId(), and verbose.
Referenced by RunNextInBatch().
void Batch::OnProcessTerminate | ( | wxProcessEvent & | event | ) |
Called internally when all running processes have completed and need to be removed from running list.
Definition at line 405 of file Batch.cpp.
References AddProjectToBatch(), AllDone(), atEnd, autoremove, autostitch, CLOSE_PTBATCHERGUI, Project::DETECTING, DO_NOTHING, Project::FAILED, Project::FINISHED, GetIndex(), GetRunningCount(), HIBERNATE, FailedProject::logfile, m_cancelled, m_clearedInProgress, m_failedProjects, m_paused, m_projList, m_running, m_stitchFrames, NoErrors(), FailedProject::project, RemoveProjectAtIndex(), RunNextInBatch(), saveLog, SaveTemp(), SHUTDOWN, Project::STITCHING, and SUSPEND.
bool Batch::OnStitch | ( | wxString | scriptFile, |
wxString | outname, | ||
wxString | userDefinedOutput, | ||
int | id | ||
) |
Called to start stitch of project with input scriptFile.
Definition at line 602 of file Batch.cpp.
References m_stitchFrames, RunStitchFrame::m_stitchPanel, overwrite, RunStitchPanel::SetOverwrite(), RunStitchFrame::SetProjectId(), RunStitchFrame::StitchProject(), and verbose.
Referenced by RunNextInBatch().
void Batch::PauseBatch | ( | ) |
Pauses and continues batch execution.
Definition at line 713 of file Batch.cpp.
References GetRunningCount(), m_paused, m_projList, m_stitchFrames, Project::PAUSED, and Project::RUNNING.
Referenced by BatchFrame::OnButtonPause().
void Batch::RemoveProject | ( | int | id | ) |
Removes project with id from batch list.
Definition at line 747 of file Batch.cpp.
References GetIndex(), and RemoveProjectAtIndex().
void Batch::RemoveProjectAtIndex | ( | int | selIndex | ) |
Removes project at index from batch list.
Definition at line 759 of file Batch.cpp.
References deleteFiles, Project::FINISHED, Project::idGenerator, and m_projList.
Referenced by BatchFrame::OnButtonRemoveComplete(), BatchFrame::OnButtonRemoveFromList(), OnProcessTerminate(), and RemoveProject().
void Batch::RunBatch | ( | ) |
Starts batch execution.
Definition at line 782 of file Batch.cpp.
References m_failedProjects, m_running, and RunNextInBatch().
Referenced by BatchFrame::RunBatch().
void Batch::RunNextInBatch | ( | ) |
Starts execution of next waiting project in batch.
Definition at line 800 of file Batch.cpp.
References AllDone(), Project::FAILED, hugin_utils::FileExists(), Project::FINISHED, GetFirstAvailable(), m_projList, m_running, Project::MISSING, OnDetect(), OnStitch(), Project::RUNNING, and Project::STITCHING.
Referenced by OnProcessTerminate(), and RunBatch().
void Batch::SaveBatchFile | ( | wxString | file | ) |
Saves batch list to file.
Definition at line 871 of file Batch.cpp.
References Project::DETECTING, Project::idGenerator, m_projList, and Project::STITCHING.
Referenced by BatchFrame::OnButtonSaveBatch(), and SaveTemp().
void Batch::SaveTemp | ( | ) |
Saves batch list to temporary file.
Definition at line 920 of file Batch.cpp.
References GetBatchFilename(), and SaveBatchFile().
Referenced by BatchFrame::AddArrayToList(), BatchFrame::AddDirToList(), BatchFrame::AddToList(), BatchFrame::OnButtonAddCommand(), BatchFrame::OnButtonAddToAssistantQueue(), BatchFrame::OnButtonAddToStitchingQueue(), BatchFrame::OnButtonChangePrefix(), BatchFrame::OnButtonClear(), BatchFrame::OnButtonMoveDown(), BatchFrame::OnButtonMoveUp(), BatchFrame::OnButtonOpenBatch(), BatchFrame::OnButtonRemoveComplete(), BatchFrame::OnButtonRemoveFromList(), BatchFrame::OnButtonReset(), BatchFrame::OnButtonResetAll(), BatchFrame::OnClose(), OnProcessTerminate(), and BatchFrame::OnUpdateListBox().
void Batch::SetStatus | ( | int | index, |
Project::Status | status | ||
) |
Used internally to set status of selected project.
Definition at line 925 of file Batch.cpp.
References m_projList.
Referenced by BatchFrame::OnButtonReset(), BatchFrame::OnButtonResetAll(), BatchFrame::OnButtonSkip(), and BatchFrame::OnUpdateListBox().
void Batch::ShowOutput | ( | bool | isVisible = true | ) |
Set visibility of all running projects.
isVisible | If true display the project output, otherwise hide it. |
Definition at line 943 of file Batch.cpp.
References m_stitchFrames.
Referenced by BatchFrame::OnCheckVerbose(), BatchFrame::OnMinimize(), and BatchFrame::UpdateBatchVerboseStatus().
void Batch::SwapProject | ( | int | index | ) |
Swaps position in batch of project at index with project at index+1.
Definition at line 937 of file Batch.cpp.
References m_projList.
Referenced by BatchFrame::SwapProject().
EndTask Batch::atEnd |
Definition at line 60 of file Batch.h.
Referenced by Batch(), BatchFrame::OnChoiceEnd(), OnProcessTerminate(), BatchFrame::PropagateDefaults(), and BatchFrame::SetCheckboxes().
bool Batch::autoremove |
Definition at line 64 of file Batch.h.
Referenced by Batch(), BatchFrame::OnCheckAutoRemove(), OnProcessTerminate(), BatchFrame::PropagateDefaults(), and BatchFrame::SetCheckboxes().
bool Batch::autostitch |
Definition at line 63 of file Batch.h.
Referenced by Batch(), BatchFrame::OnCheckAutoStitch(), OnProcessTerminate(), BatchFrame::PropagateDefaults(), and BatchFrame::SetCheckboxes().
bool Batch::deleteFiles |
Definition at line 59 of file Batch.h.
Referenced by Batch(), and RemoveProjectAtIndex().
|
private |
Definition at line 165 of file Batch.h.
Referenced by Batch(), CancelBatch(), and OnProcessTerminate().
|
private |
Definition at line 168 of file Batch.h.
Referenced by Batch(), ClearBatch(), and OnProcessTerminate().
|
private |
Definition at line 171 of file Batch.h.
Referenced by GetFailedProjectLog(), GetFailedProjectName(), GetFailedProjectsCount(), OnProcessTerminate(), and RunBatch().
|
private |
Definition at line 166 of file Batch.h.
Referenced by Batch(), CancelProject(), IsPaused(), OnProcessTerminate(), and PauseBatch().
|
private |
Definition at line 160 of file Batch.h.
Referenced by AddAppToBatch(), AddProjectToBatch(), AllDone(), AppendBatchFile(), ChangePrefix(), ChangeUserDefined(), ClearBatch(), CompareProjectsInLists(), GetFirstAvailable(), GetIndex(), GetProject(), GetProjectCount(), GetProjectCountByPath(), GetStatus(), NoErrors(), OnProcessTerminate(), PauseBatch(), RemoveProjectAtIndex(), RunNextInBatch(), SaveBatchFile(), SetStatus(), and SwapProject().
|
private |
Definition at line 167 of file Batch.h.
Referenced by Batch(), CancelBatch(), CancelProject(), IsRunning(), OnProcessTerminate(), RunBatch(), and RunNextInBatch().
|
private |
Definition at line 162 of file Batch.h.
Referenced by CancelProject(), ClearBatch(), CompareProjectsInLists(), GetRunningCount(), OnDetect(), OnProcessTerminate(), OnStitch(), PauseBatch(), and ShowOutput().
bool Batch::overwrite |
Definition at line 61 of file Batch.h.
Referenced by Batch(), BatchFrame::OnCheckOverwrite(), OnStitch(), BatchFrame::PropagateDefaults(), and BatchFrame::SetCheckboxes().
bool Batch::saveLog |
Definition at line 65 of file Batch.h.
Referenced by Batch(), BatchFrame::OnCheckSaveLog(), OnProcessTerminate(), and BatchFrame::SetCheckboxes().
bool Batch::verbose |
Definition at line 62 of file Batch.h.
Referenced by Batch(), BatchFrame::OnCheckVerbose(), OnDetect(), BatchFrame::OnMinimize(), OnStitch(), BatchFrame::PropagateDefaults(), BatchFrame::SetCheckboxes(), BatchFrame::SetInternalVerbose(), and BatchFrame::UpdateBatchVerboseStatus().