Batch Class Reference

#include <Batch.h>

List of all members.

Public Types

 DO_NOTHING = 0
 CLOSE_PTBATCHERGUI = 1
 SHUTDOWN = 2
 SUSPEND = 3
 HIBERNATE = 4
enum  EndTask {
  DO_NOTHING = 0, CLOSE_PTBATCHERGUI = 1, SHUTDOWN = 2, SUSPEND = 3,
  HIBERNATE = 4
}

Public Member Functions

 Batch (wxFrame *parent)
 Main constructor.
void AddAppToBatch (wxString app)
 Adds an application entry in the batch list.
void AddProjectToBatch (wxString projectFile, wxString outputFile=_T(""), Project::Target target=Project::STITCHING)
 Adds a project entry in the batch list.
bool AllDone ()
 Returns true if there are no more projects pending execution.
void AppendBatchFile (wxString file)
 Appends projects from file to batch list.
void CancelBatch ()
 Stops batch run, failing projects in progress.
void CancelProject (int index)
 Cancels project at index in batch, failing it.
void ChangePrefix (int index, wxString newPrefix)
 Changes output prefix for project at index.
int ClearBatch ()
 Clears batch list and returns 0 if succesful.
bool CompareProjectsInLists (int stitchListIndex, int batchListIndex)
 Compares two project at indexes in both lists and returns true if they have identical project ids.
int GetFirstAvailable ()
 Returns index of first waiting project in batch.
int GetIndex (int id)
 Returns index of project with selected id.
ProjectGetProject (int index)
 Returns project at index.
int GetProjectCount ()
 Returns number of projects in batch list.
int GetProjectCountByPath (wxString path)
 Returns number of projects in batch list with the input file path.
int GetRunningCount ()
 Returns number of projects currently in progress.
Project::Status GetStatus (int index)
 Returns current status of project at index.
bool IsRunning ()
 return true, if batch is running
bool IsPaused ()
 Returns true if batch execution is currently paused.
const wxString GetLastFile ()
 Returns last saved batch file.
wxDateTime GetLastFileDate ()
void ListBatch ()
 Used in console mode.
int LoadBatchFile (wxString file)
 Clears current batch list and loads projects from batch file.
int LoadTemp ()
 Loads temporary batch file.
bool NoErrors ()
 Returns true if there are no failed projects in batch.
void OnProcessTerminate (wxProcessEvent &event)
 Called internally when all running processes have completed and need to be removed from running list.
bool OnStitch (wxString scriptFile, wxString outname, int id)
 Called to start stitch of project with input scriptFile.
bool OnDetect (wxString scriptFile, int id)
 called to start detecting
void PauseBatch ()
 Pauses and continues batch execution.
void RemoveProject (int id)
 Removes project with id from batch list.
void RemoveProjectAtIndex (int selIndex)
 Removes project at index from batch list.
void RunBatch ()
 Starts batch execution.
void RunNextInBatch ()
 Starts execution of next waiting project in batch.
void SaveBatchFile (wxString file)
 Saves batch list to file.
void SaveTemp ()
 Saves batch list to temporary file.
void SetStatus (int index, Project::Status status)
 Used internally to set status of selected project.
void SwapProject (int index)
 Swaps position in batch of project at index with project at index+1.
void ShowOutput (bool isVisible=true)
 Set visibility of all running projects.
size_t GetFailedProjectsCount ()
 returns number of failed projects
wxString GetFailedProjectName (unsigned int i)
 returns project file name of failed project with index i
wxString GetFailedProjectLog (unsigned int i)
 returns log file name of failed project with index i

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
wxString m_lastFile
wxDateTime m_lastmod
bool m_cancelled
bool m_paused
bool m_running
bool m_clearedInProgress
std::vector< FailedProjectm_failedProjects


Detailed Description

Definition at line 51 of file Batch.h.


Member Enumeration Documentation

enum Batch::EndTask

Enumerator:
DO_NOTHING 
CLOSE_PTBATCHERGUI 
SHUTDOWN 
SUSPEND 
HIBERNATE 

Definition at line 54 of file Batch.h.


Constructor & Destructor Documentation

Batch::Batch ( wxFrame *  parent  )  [explicit]

Main constructor.

Definition at line 48 of file Batch.cpp.

References atEnd, autoremove, autostitch, deleteFiles, DO_NOTHING, m_cancelled, m_clearedInProgress, m_lastFile, m_paused, m_running, overwrite, saveLog, and verbose.


Member Function Documentation

void Batch::AddAppToBatch ( wxString  app  ) 

Adds an application entry in the batch list.

Definition at line 69 of file Batch.cpp.

References m_projList.

Referenced by BatchFrame::OnButtonAddCommand().

void Batch::AddProjectToBatch ( wxString  projectFile,
wxString  outputFile = _T(""),
Project::Target  target = Project::STITCHING 
)

Adds a project entry in the batch list.

Definition at line 75 of file Batch.cpp.

References Project::DETECTING, and m_projList.

Referenced by BatchFrame::AddDirToList(), BatchFrame::AddToList(), AppendBatchFile(), and OnProcessTerminate().

bool Batch::AllDone (  ) 

Returns true if there are no more projects pending execution.

Definition at line 95 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 109 of file Batch.cpp.

References AddProjectToBatch(), Project::DETECTING, Project::FAILED, Project::idGenerator, celeste::line, m_lastFile, m_lastmod, m_projList, Project::PAUSED, and Project::RUNNING.

Referenced by LoadBatchFile(), and LoadTemp().

void Batch::CancelBatch (  ) 

Stops batch run, failing projects in progress.

Definition at line 194 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 203 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 216 of file Batch.cpp.

References m_projList.

Referenced by BatchFrame::ChangePrefix().

int Batch::ClearBatch (  ) 

Clears batch list and returns 0 if succesful.

Definition at line 221 of file Batch.cpp.

References CancelBatch(), Project::idGenerator, m_clearedInProgress, m_projList, and m_stitchFrames.

Referenced by LoadBatchFile(), BatchFrame::OnButtonClear(), and BatchFrame::OnReloadBatch().

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 255 of file Batch.cpp.

References m_projList, and m_stitchFrames.

Referenced by BatchFrame::OnButtonSkip().

wxString Batch::GetFailedProjectLog ( unsigned int  i  ) 

returns log file name of failed project with index i

Definition at line 984 of file Batch.cpp.

References FailedProject::logfile, and 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 972 of file Batch.cpp.

References m_failedProjects, and FailedProject::project.

size_t Batch::GetFailedProjectsCount (  )  [inline]

returns number of failed projects

Definition at line 155 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 260 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 285 of file Batch.cpp.

References m_projList.

Referenced by OnProcessTerminate(), and RemoveProject().

const wxString Batch::GetLastFile (  )  [inline]

Returns last saved batch file.

Definition at line 110 of file Batch.h.

References m_lastFile.

Referenced by BatchFrame::Entry().

wxDateTime Batch::GetLastFileDate (  )  [inline]

Definition at line 114 of file Batch.h.

References m_lastmod.

Referenced by BatchFrame::Entry().

Project * Batch::GetProject ( int  index  ) 

Returns project at index.

Definition at line 297 of file Batch.cpp.

References m_projList.

Referenced by BatchFrame::AddDirToList(), BatchFrame::AddToList(), ProjectListBox::ChangePrefix(), ProjectListBox::Fill(), ProjectListBox::GetSelectedProjectTarget(), BatchFrame::OnButtonAddCommand(), and BatchFrame::OnUpdateListBox().

int Batch::GetProjectCount (  ) 

Returns number of projects in batch list.

Definition at line 302 of file Batch.cpp.

References m_projList.

Referenced by BatchFrame::AddDirToList(), BatchFrame::AddToList(), BatchFrame::ChangePrefix(), ProjectListBox::Fill(), BatchFrame::OnButtonAddCommand(), and BatchFrame::OnUpdateListBox().

int Batch::GetProjectCountByPath ( wxString  path  ) 

Returns number of projects in batch list with the input file path.

Definition at line 307 of file Batch.cpp.

References m_projList.

int Batch::GetRunningCount (  ) 

Returns number of projects currently in progress.

Definition at line 320 of file Batch.cpp.

References m_stitchFrames.

Referenced by CancelBatch(), CancelProject(), BatchFrame::OnButtonPause(), BatchFrame::OnButtonResetAll(), BatchFrame::OnButtonSkip(), BatchFrame::OnProcessTerminate(), OnProcessTerminate(), and PauseBatch().

Project::Status Batch::GetStatus ( int  index  ) 

Returns current status of project at index.

Definition at line 325 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 343 of file Batch.cpp.

References m_paused.

Referenced by BatchFrame::IsPaused(), BatchFrame::OnButtonPause(), and BatchFrame::OnButtonRunBatch().

bool Batch::IsRunning (  ) 

return true, if batch is running

Definition at line 338 of file Batch.cpp.

References m_running.

Referenced by BatchFrame::IsRunning().

void Batch::ListBatch (  ) 

Used in console mode.

Prints out all projects and their statuses to the console

Definition at line 348 of file Batch.cpp.

References cout, and m_projList.

int Batch::LoadBatchFile ( wxString  file  ) 

Clears current batch list and loads projects from batch file.

Definition at line 367 of file Batch.cpp.

References AppendBatchFile(), and ClearBatch().

Referenced by BatchFrame::OnButtonOpenBatch().

int Batch::LoadTemp (  ) 

Loads temporary batch file.

Definition at line 387 of file Batch.cpp.

References AppendBatchFile().

Referenced by BatchFrame::OnReloadBatch().

bool Batch::NoErrors (  ) 

Returns true if there are no failed projects in batch.

Definition at line 425 of file Batch.cpp.

References Project::FAILED, and m_projList.

Referenced by BatchFrame::OnButtonRemoveComplete(), and OnProcessTerminate().

bool Batch::OnDetect ( wxString  scriptFile,
int  id 
)

called to start detecting

Definition at line 708 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 437 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,
int  id 
)

Called to start stitch of project with input scriptFile.

Definition at line 625 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 736 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 770 of file Batch.cpp.

References GetIndex(), and RemoveProjectAtIndex().

void Batch::RemoveProjectAtIndex ( int  selIndex  ) 

Removes project at index from batch list.

Definition at line 782 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 805 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 820 of file Batch.cpp.

References AllDone(), Project::FAILED, Project::FINISHED, GetFirstAvailable(), m_projList, m_running, 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 876 of file Batch.cpp.

References Project::idGenerator, celeste::line, m_lastFile, m_lastmod, m_projList, and Project::STITCHING.

Referenced by BatchFrame::OnButtonSaveBatch(), and SaveTemp().

void Batch::SaveTemp (  ) 

Saves batch list to temporary file.

Definition at line 921 of file Batch.cpp.

References SaveBatchFile().

Referenced by 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(), OnProcessTerminate(), and BatchFrame::OnUpdateListBox().

void Batch::SetStatus ( int  index,
Project::Status  status 
)

Used internally to set status of selected project.

Definition at line 946 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.

Parameters:
isVisible If true display the project output, otherwise hide it.

Definition at line 964 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 958 of file Batch.cpp.

References m_projList.

Referenced by BatchFrame::SwapProject().


Member Data Documentation

EndTask Batch::atEnd

Definition at line 63 of file Batch.h.

Referenced by Batch(), BatchFrame::OnChoiceEnd(), OnProcessTerminate(), BatchFrame::PropagateDefaults(), and BatchFrame::SetCheckboxes().

bool Batch::autoremove

Definition at line 67 of file Batch.h.

Referenced by Batch(), BatchFrame::OnCheckAutoRemove(), OnProcessTerminate(), BatchFrame::PropagateDefaults(), and BatchFrame::SetCheckboxes().

bool Batch::autostitch

Definition at line 66 of file Batch.h.

Referenced by Batch(), BatchFrame::OnCheckAutoStitch(), OnProcessTerminate(), BatchFrame::PropagateDefaults(), and BatchFrame::SetCheckboxes().

bool Batch::deleteFiles

Definition at line 62 of file Batch.h.

Referenced by Batch(), and RemoveProjectAtIndex().

bool Batch::m_cancelled [private]

Definition at line 176 of file Batch.h.

Referenced by Batch(), CancelBatch(), and OnProcessTerminate().

bool Batch::m_clearedInProgress [private]

Definition at line 179 of file Batch.h.

Referenced by Batch(), ClearBatch(), and OnProcessTerminate().

wxConfigBase* Batch::m_config [private]

Definition at line 166 of file Batch.h.

std::vector<FailedProject> Batch::m_failedProjects [private]

Definition at line 182 of file Batch.h.

Referenced by GetFailedProjectLog(), GetFailedProjectName(), GetFailedProjectsCount(), OnProcessTerminate(), and RunBatch().

wxString Batch::m_lastFile [private]

Definition at line 172 of file Batch.h.

Referenced by AppendBatchFile(), Batch(), GetLastFile(), and SaveBatchFile().

wxDateTime Batch::m_lastmod [private]

Definition at line 173 of file Batch.h.

Referenced by AppendBatchFile(), GetLastFileDate(), and SaveBatchFile().

bool Batch::m_paused [private]

Definition at line 177 of file Batch.h.

Referenced by Batch(), CancelProject(), IsPaused(), OnProcessTerminate(), and PauseBatch().

ProjectArray Batch::m_projList [private]

Definition at line 168 of file Batch.h.

Referenced by AddAppToBatch(), AddProjectToBatch(), AllDone(), AppendBatchFile(), ChangePrefix(), ClearBatch(), CompareProjectsInLists(), GetFirstAvailable(), GetIndex(), GetProject(), GetProjectCount(), GetProjectCountByPath(), GetStatus(), ListBatch(), NoErrors(), OnProcessTerminate(), PauseBatch(), RemoveProjectAtIndex(), RunNextInBatch(), SaveBatchFile(), SetStatus(), and SwapProject().

bool Batch::m_running [private]

Definition at line 178 of file Batch.h.

Referenced by Batch(), CancelBatch(), CancelProject(), IsRunning(), OnProcessTerminate(), RunBatch(), and RunNextInBatch().

FrameArray Batch::m_stitchFrames [private]

Definition at line 170 of file Batch.h.

Referenced by CancelProject(), ClearBatch(), CompareProjectsInLists(), GetRunningCount(), OnDetect(), OnProcessTerminate(), OnStitch(), PauseBatch(), and ShowOutput().

bool Batch::overwrite

Definition at line 64 of file Batch.h.

Referenced by Batch(), BatchFrame::OnCheckOverwrite(), OnStitch(), BatchFrame::PropagateDefaults(), and BatchFrame::SetCheckboxes().

bool Batch::saveLog

Definition at line 68 of file Batch.h.

Referenced by Batch(), BatchFrame::OnCheckSaveLog(), OnProcessTerminate(), and BatchFrame::SetCheckboxes().

bool Batch::verbose

Definition at line 65 of file Batch.h.

Referenced by Batch(), BatchFrame::OnCheckVerbose(), OnDetect(), BatchFrame::OnMinimize(), OnStitch(), BatchFrame::PropagateDefaults(), BatchFrame::SetCheckboxes(), BatchFrame::SetInternalVerbose(), and BatchFrame::UpdateBatchVerboseStatus().


The documentation for this class was generated from the following files:
Generated on 4 Sep 2015 for Hugintrunk by  doxygen 1.4.7