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 |
wxPowerResourceBlocker * | m_resBlocker |
enum Batch::EndTask |
|
explicit |
Main constructor.
Definition at line 47 of file Batch.cpp.
References atEnd, autoremove, autostitch, deleteFiles, DO_NOTHING, m_cancelled, m_clearedInProgress, m_paused, m_resBlocker, m_running, OnProcessTerminate(), overwrite, saveLog, and verbose.
Batch::~Batch | ( | ) |
void Batch::AddAppToBatch | ( | wxString | app | ) |
Adds an application entry in the batch list.
Definition at line 73 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 79 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 99 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 113 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 183 of file Batch.cpp.
References CancelProject(), GetRunningCount(), m_cancelled, m_resBlocker, 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 197 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 210 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 215 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 220 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 254 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 889 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 944 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 932 of file Batch.cpp.
References m_failedProjects.
Referenced by FailedProjectsDialog::FailedProjectsDialog().
|
inline |
returns number of failed projects
Definition at line 145 of file Batch.h.
References m_failedProjects.
Referenced by FailedProjectsDialog::FailedProjectsDialog(), and BatchFrame::OnBatchFailed().
int Batch::GetFirstAvailable | ( | ) |
Returns index of first waiting project in batch.
Definition at line 259 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 284 of file Batch.cpp.
References m_projList.
Referenced by OnProcessTerminate(), and RemoveProject().
Project * Batch::GetProject | ( | int | index | ) |
Returns project at index.
Definition at line 296 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 301 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 306 of file Batch.cpp.
References m_projList.
int Batch::GetRunningCount | ( | ) |
Returns number of projects currently in progress.
Definition at line 319 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 324 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 342 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 337 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 347 of file Batch.cpp.
References AppendBatchFile(), and ClearBatch().
Referenced by BatchFrame::OnButtonOpenBatch().
int Batch::LoadTemp | ( | ) |
Loads temporary batch file.
Definition at line 367 of file Batch.cpp.
References AppendBatchFile(), hugin_utils::FileExists(), and GetBatchFilename().
Referenced by BatchFrame::BatchFrame().
bool Batch::NoErrors | ( | ) |
Returns true if there are no failed projects in batch.
Definition at line 378 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 668 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 390 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_resBlocker, m_running, m_stitchFrames, NoErrors(), FailedProject::project, RemoveProjectAtIndex(), RunNextInBatch(), saveLog, SaveTemp(), SHUTDOWN, Project::STITCHING, and SUSPEND.
Referenced by Batch().
bool Batch::OnStitch | ( | wxString | scriptFile, |
wxString | outname, | ||
wxString | userDefinedOutput, | ||
int | id | ||
) |
Called to start stitch of project with input scriptFile.
Definition at line 585 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 696 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 730 of file Batch.cpp.
References GetIndex(), and RemoveProjectAtIndex().
void Batch::RemoveProjectAtIndex | ( | int | selIndex | ) |
Removes project at index from batch list.
Definition at line 742 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 765 of file Batch.cpp.
References m_failedProjects, m_resBlocker, m_running, and RunNextInBatch().
Referenced by BatchFrame::RunBatch().
void Batch::RunNextInBatch | ( | ) |
Starts execution of next waiting project in batch.
Definition at line 781 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 852 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 901 of file Batch.cpp.
References GetBatchFilename(), and SaveBatchFile().
Referenced by BatchFrame::AddArrayToList(), BatchFrame::AddDirToList(), BatchFrame::AddToList(), BatchFrame::BatchFrame(), 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 906 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 924 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 918 of file Batch.cpp.
References m_projList.
Referenced by BatchFrame::SwapProject().
EndTask Batch::atEnd |
Definition at line 58 of file Batch.h.
Referenced by Batch(), BatchFrame::OnChoiceEnd(), OnProcessTerminate(), BatchFrame::PropagateDefaults(), and BatchFrame::SetCheckboxes().
bool Batch::autoremove |
Definition at line 62 of file Batch.h.
Referenced by Batch(), BatchFrame::OnCheckAutoRemove(), OnProcessTerminate(), BatchFrame::PropagateDefaults(), and BatchFrame::SetCheckboxes().
bool Batch::autostitch |
Definition at line 61 of file Batch.h.
Referenced by Batch(), BatchFrame::OnCheckAutoStitch(), OnProcessTerminate(), BatchFrame::PropagateDefaults(), and BatchFrame::SetCheckboxes().
bool Batch::deleteFiles |
Definition at line 57 of file Batch.h.
Referenced by Batch(), and RemoveProjectAtIndex().
|
private |
Definition at line 163 of file Batch.h.
Referenced by Batch(), CancelBatch(), and OnProcessTerminate().
|
private |
Definition at line 166 of file Batch.h.
Referenced by Batch(), ClearBatch(), and OnProcessTerminate().
|
private |
Definition at line 169 of file Batch.h.
Referenced by GetFailedProjectLog(), GetFailedProjectName(), GetFailedProjectsCount(), OnProcessTerminate(), and RunBatch().
|
private |
Definition at line 164 of file Batch.h.
Referenced by Batch(), CancelProject(), IsPaused(), OnProcessTerminate(), and PauseBatch().
|
private |
Definition at line 158 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 170 of file Batch.h.
Referenced by Batch(), CancelBatch(), OnProcessTerminate(), RunBatch(), and ~Batch().
|
private |
Definition at line 165 of file Batch.h.
Referenced by Batch(), CancelBatch(), CancelProject(), IsRunning(), OnProcessTerminate(), RunBatch(), and RunNextInBatch().
|
private |
Definition at line 160 of file Batch.h.
Referenced by CancelProject(), ClearBatch(), CompareProjectsInLists(), GetRunningCount(), OnDetect(), OnProcessTerminate(), OnStitch(), PauseBatch(), and ShowOutput().
bool Batch::overwrite |
Definition at line 59 of file Batch.h.
Referenced by Batch(), BatchFrame::OnCheckOverwrite(), OnStitch(), BatchFrame::PropagateDefaults(), and BatchFrame::SetCheckboxes().
bool Batch::saveLog |
Definition at line 63 of file Batch.h.
Referenced by Batch(), BatchFrame::OnCheckSaveLog(), OnProcessTerminate(), and BatchFrame::SetCheckboxes().
bool Batch::verbose |
Definition at line 60 of file Batch.h.
Referenced by Batch(), BatchFrame::OnCheckVerbose(), OnDetect(), BatchFrame::OnMinimize(), OnStitch(), BatchFrame::PropagateDefaults(), BatchFrame::SetCheckboxes(), BatchFrame::SetInternalVerbose(), and BatchFrame::UpdateBatchVerboseStatus().