Hugintrunk
0.1
|
panel for stacker GUI More...
#include <StackerPanel.h>
Classes | |
struct | FileInfo |
Public Types | |
typedef std::vector< FileInfo > | FileInfoVector |
Public Member Functions | |
~StackerPanel () | |
destructor, save state and settings More... | |
bool | Create (wxWindow *parent, MyExecPanel *logPanel) |
creates the control and populates all controls with their settings More... | |
void | AddFile (const wxString &filename) |
adds the given file to the list More... | |
void | OnProcessFinished (wxCommandEvent &e) |
call at the end of the enfuse command, to load result back and enable buttons again More... | |
Protected Member Functions | |
void | OnAddFiles (wxCommandEvent &e) |
event handler More... | |
void | OnAddDirectory (wxCommandEvent &e) |
void | OnRemoveFile (wxCommandEvent &e) |
void | OnFileListChar (wxKeyEvent &e) |
void | OnFileSelectionChanged (wxCommandEvent &e) |
void | OnFileCheckStateChanged (wxListEvent &e) |
void | OnFileColumnHeaderClick (wxListEvent &e) |
void | OnModeChanged (wxCommandEvent &e) |
void | OnGeneratePreview (wxCommandEvent &e) |
void | OnGenerateOutput (wxCommandEvent &e) |
void | OnZoom (wxCommandEvent &e) |
Private Member Functions | |
void | ExecuteStacker () |
build the command line and execute enfuse command More... | |
void | ExecuteStackerExiftool () |
build the command line and execute enfuse and exiftool afterwards More... | |
wxString | GetStackerOptions () |
build string with all stacker options from values in wxPropertyGrid this are the mainly the fusion options without the filesnames More... | |
wxString | GetStackerCommandLine () |
get the full commandline for enfuse without program, but with files and output options, the output filename is read from m_outputFilename More... | |
void | EnableFileButtons () |
enable/disable the file(s) remove and create buttons depending on selection of wxListCtrl More... | |
long | GetCheckedItemCount () const |
return the number of check images More... | |
void | EnableOutputButtons (bool enable) |
enable/disable output buttons More... | |
void | CleanUpTempFiles () |
delete all temporary files, to be called mainly at end More... | |
void | SortList () |
sort filename list More... | |
void | FillFileList () |
fill the list from internal file list More... | |
void | AddFileInfo (const FileInfo &info) |
Private Attributes | |
wxListCtrl * | m_fileListCtrl { nullptr } |
wxChoice * | m_modeChoice { nullptr } |
wxSpinCtrlDouble * | m_winsorTrim { nullptr } |
wxSpinCtrlDouble * | m_sigma { nullptr } |
wxSpinCtrl * | m_sigmaMaxIter { nullptr } |
FileInfoVector | m_files |
PreviewWindow * | m_preview { nullptr } |
MyExecPanel * | m_logWindow { nullptr } |
wxArrayString | m_outputFilenames |
wxArrayString | m_tempFiles |
bool | m_cleanupOutput = false |
long | m_sortCol { -1 } |
bool | m_sortAscending { true } |
panel for stacker GUI
Definition at line 37 of file StackerPanel.h.
typedef std::vector<FileInfo> StackerPanel::FileInfoVector |
Definition at line 56 of file StackerPanel.h.
StackerPanel::~StackerPanel | ( | ) |
destructor, save state and settings
Definition at line 190 of file StackerPanel.cpp.
References CleanUpTempFiles(), m_fileListCtrl, m_modeChoice, m_sigma, m_sigmaMaxIter, m_sortAscending, m_sortCol, and m_winsorTrim.
void StackerPanel::AddFile | ( | const wxString & | filename | ) |
adds the given file to the list
Definition at line 293 of file StackerPanel.cpp.
References AddFileInfo(), EnableOutputButtons(), GetCheckedItemCount(), celeste::info(), and m_files.
Referenced by OnAddDirectory(), OnAddFiles(), and StackerDropTarget::OnDropFiles().
|
private |
Definition at line 814 of file StackerPanel.cpp.
References StackerPanel::FileInfo::height, StackerPanel::FileInfo::isChecked, m_fileListCtrl, StackerPanel::FileInfo::name, StackerPanel::FileInfo::path, and StackerPanel::FileInfo::width.
Referenced by AddFile(), and FillFileList().
|
private |
delete all temporary files, to be called mainly at end
Definition at line 794 of file StackerPanel.cpp.
References m_tempFiles.
Referenced by OnProcessFinished(), and ~StackerPanel().
bool StackerPanel::Create | ( | wxWindow * | parent, |
MyExecPanel * | logPanel | ||
) |
creates the control and populates all controls with their settings
Definition at line 210 of file StackerPanel.cpp.
References PreviewWindow::Create(), EnableFileButtons(), EnableOutputButtons(), m_fileListCtrl, m_logWindow, m_modeChoice, m_preview, m_sigma, m_sigmaMaxIter, m_sortAscending, m_sortCol, m_winsorTrim, OnAddDirectory(), OnAddFiles(), OnFileCheckStateChanged(), OnFileColumnHeaderClick(), OnFileListChar(), OnFileSelectionChanged(), OnGenerateOutput(), OnGeneratePreview(), OnModeChanged(), OnRemoveFile(), and OnZoom().
Referenced by ToolboxFrame::ToolboxFrame().
|
private |
enable/disable the file(s) remove and create buttons depending on selection of wxListCtrl
Definition at line 768 of file StackerPanel.cpp.
References m_fileListCtrl.
Referenced by Create(), OnFileSelectionChanged(), and OnRemoveFile().
|
private |
enable/disable output buttons
Definition at line 788 of file StackerPanel.cpp.
Referenced by AddFile(), Create(), ExecuteStacker(), ExecuteStackerExiftool(), OnFileCheckStateChanged(), OnProcessFinished(), and OnRemoveFile().
|
private |
build the command line and execute enfuse command
Definition at line 505 of file StackerPanel.cpp.
References MyExecPanel::AddString(), MyExecPanel::ClearOutput(), EnableOutputButtons(), MyExecPanel::ExecWithRedirect(), HuginQueue::GetInternalProgram(), GetStackerCommandLine(), m_logWindow, and HuginQueue::wxEscapeFilename().
Referenced by OnGeneratePreview().
|
private |
build the command line and execute enfuse and exiftool afterwards
Definition at line 518 of file StackerPanel.cpp.
References MyExecPanel::ClearOutput(), EnableOutputButtons(), MyExecPanel::ExecQueue(), HuginQueue::GetExternalProgram(), HuginQueue::GetInternalProgram(), GetStackerCommandLine(), m_fileListCtrl, m_files, m_logWindow, m_outputFilenames, and HuginQueue::wxEscapeFilename().
Referenced by OnGenerateOutput().
|
private |
fill the list from internal file list
Definition at line 803 of file StackerPanel.cpp.
References AddFileInfo(), celeste::info(), m_fileListCtrl, m_files, and SortList().
Referenced by OnRemoveFile().
|
private |
return the number of check images
Definition at line 774 of file StackerPanel.cpp.
References m_fileListCtrl.
Referenced by AddFile(), OnFileCheckStateChanged(), and OnRemoveFile().
|
private |
get the full commandline for enfuse without program, but with files and output options, the output filename is read from m_outputFilename
Definition at line 698 of file StackerPanel.cpp.
References HuginQueue::GetConfigTempDir(), GetStackerOptions(), hugin_utils::HuginMessageBox(), m_fileListCtrl, m_files, m_outputFilenames, m_tempFiles, and hugin_utils::wxQuoteFilename().
Referenced by ExecuteStacker(), and ExecuteStackerExiftool().
|
private |
build string with all stacker options from values in wxPropertyGrid this are the mainly the fusion options without the filesnames
Definition at line 663 of file StackerPanel.cpp.
References m_sigma, m_sigmaMaxIter, and m_winsorTrim.
Referenced by GetStackerCommandLine().
|
protected |
Definition at line 367 of file StackerPanel.cpp.
References AddFile(), SelectDirectoryFileDialog::GetFilenames(), m_fileListCtrl, and SortList().
Referenced by Create().
|
protected |
event handler
Definition at line 309 of file StackerPanel.cpp.
References AddFile(), GetFileDialogImageFilters(), m_fileListCtrl, and SortList().
Referenced by Create().
|
protected |
Definition at line 455 of file StackerPanel.cpp.
References EnableOutputButtons(), GetCheckedItemCount(), m_fileListCtrl, and m_files.
Referenced by Create().
|
protected |
Definition at line 462 of file StackerPanel.cpp.
References m_fileListCtrl, m_sortAscending, m_sortCol, and SortList().
Referenced by Create().
|
protected |
|
protected |
Definition at line 449 of file StackerPanel.cpp.
References EnableFileButtons().
Referenced by Create().
|
protected |
Definition at line 546 of file StackerPanel.cpp.
References ExecuteStackerExiftool(), GetMainImageFilters(), m_cleanupOutput, m_files, and m_outputFilenames.
Referenced by Create().
|
protected |
Definition at line 492 of file StackerPanel.cpp.
References ExecuteStacker(), HuginQueue::GetConfigTempDir(), m_cleanupOutput, and m_outputFilenames.
Referenced by Create().
|
protected |
Definition at line 479 of file StackerPanel.cpp.
References m_modeChoice, m_sigma, m_sigmaMaxIter, and m_winsorTrim.
Referenced by Create().
void StackerPanel::OnProcessFinished | ( | wxCommandEvent & | e | ) |
call at the end of the enfuse command, to load result back and enable buttons again
Definition at line 644 of file StackerPanel.cpp.
References CleanUpTempFiles(), EnableOutputButtons(), m_cleanupOutput, m_outputFilenames, m_preview, and PreviewWindow::setImage().
Referenced by ToolboxFrame::OnQueueProgress().
|
protected |
Definition at line 384 of file StackerPanel.cpp.
References EnableFileButtons(), EnableOutputButtons(), FillFileList(), GetCheckedItemCount(), m_fileListCtrl, and m_files.
Referenced by Create().
|
protected |
Definition at line 610 of file StackerPanel.cpp.
References DEBUG_ERROR, m_preview, and PreviewWindow::setScale().
Referenced by Create().
|
private |
sort filename list
Definition at line 861 of file StackerPanel.cpp.
References m_fileListCtrl, m_files, m_sortAscending, and m_sortCol.
Referenced by FillFileList(), OnAddDirectory(), OnAddFiles(), and OnFileColumnHeaderClick().
|
private |
Definition at line 115 of file StackerPanel.h.
Referenced by OnGenerateOutput(), OnGeneratePreview(), and OnProcessFinished().
|
private |
Definition at line 105 of file StackerPanel.h.
Referenced by AddFileInfo(), Create(), EnableFileButtons(), ExecuteStackerExiftool(), FillFileList(), GetCheckedItemCount(), GetStackerCommandLine(), OnAddDirectory(), OnAddFiles(), OnFileCheckStateChanged(), OnFileColumnHeaderClick(), OnFileListChar(), OnRemoveFile(), SortList(), and ~StackerPanel().
|
private |
Definition at line 110 of file StackerPanel.h.
Referenced by AddFile(), ExecuteStackerExiftool(), FillFileList(), GetStackerCommandLine(), OnFileCheckStateChanged(), OnGenerateOutput(), OnRemoveFile(), and SortList().
|
private |
Definition at line 112 of file StackerPanel.h.
Referenced by Create(), ExecuteStacker(), and ExecuteStackerExiftool().
|
private |
Definition at line 106 of file StackerPanel.h.
Referenced by Create(), OnModeChanged(), and ~StackerPanel().
|
private |
Definition at line 113 of file StackerPanel.h.
Referenced by ExecuteStackerExiftool(), GetStackerCommandLine(), OnGenerateOutput(), OnGeneratePreview(), and OnProcessFinished().
|
private |
Definition at line 111 of file StackerPanel.h.
Referenced by Create(), OnProcessFinished(), and OnZoom().
|
private |
Definition at line 108 of file StackerPanel.h.
Referenced by Create(), GetStackerOptions(), OnModeChanged(), and ~StackerPanel().
|
private |
Definition at line 109 of file StackerPanel.h.
Referenced by Create(), GetStackerOptions(), OnModeChanged(), and ~StackerPanel().
|
private |
Definition at line 118 of file StackerPanel.h.
Referenced by Create(), OnFileColumnHeaderClick(), SortList(), and ~StackerPanel().
|
private |
Definition at line 117 of file StackerPanel.h.
Referenced by Create(), OnFileColumnHeaderClick(), SortList(), and ~StackerPanel().
|
private |
Definition at line 114 of file StackerPanel.h.
Referenced by CleanUpTempFiles(), and GetStackerCommandLine().
|
private |
Definition at line 107 of file StackerPanel.h.
Referenced by Create(), GetStackerOptions(), OnModeChanged(), and ~StackerPanel().