#include <ImagesTree.h>
Inheritance diagram for ImagesTreeCtrl:

Public Types | |
| enum | GroupMode { GROUP_NONE = 0, GROUP_LENS = 1, GROUP_STACK = 2, GROUP_OUTPUTLAYERS = 3, GROUP_OUTPUTSTACK = 4 } |
| enumeration for grouping mode More... | |
| enum | DisplayMode { DISPLAY_GENERAL = 0, DISPLAY_EXIF = 1, DISPLAY_POSITION = 2, DISPLAY_LENS = 3, DISPLAY_PHOTOMETRICS = 4, DISPLAY_PHOTOMETRICS_IMAGES = 32, DISPLAY_PHOTOMETRICS_LENSES = 33 } |
| enumeration for display mode, limits the displayed columns More... | |
Public Member Functions | |
| ImagesTreeCtrl () | |
| general constructor | |
| bool | Create (wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL, const wxString &name=wxT("panel")) |
| creates the control | |
| void | Init (PT::Panorama *pano) |
| initialization, connects all control with Panorama, register observer | |
| virtual | ~ImagesTreeCtrl (void) |
| destructor | |
| void | SetGroupMode (GroupMode newMode) |
| sets the group mode to given mode | |
| void | SetDisplayMode (DisplayMode newMode) |
| sets the display mode to given mode | |
| void | SetGuiLevel (GuiLevel newSetting) |
| sets the GuiLevel of the control | |
| void | SetOptimizerMode () |
| sets to control into optimizer mode | |
| virtual void | panoramaChanged (PT::Panorama &pano) |
| receives notification about panorama changes | |
| void | panoramaImagesChanged (PT::Panorama &pano, const PT::UIntSet &imgNr) |
| receive the update signal and update display accordingly | |
| HuginBase::UIntSet | GetSelectedImages () |
| returns the selected images | |
Protected Member Functions | |
| void | UpdateImageText (wxTreeItemId item) |
| updates the information for the given image in tree | |
| void | UpdateGroupText (wxTreeItemId item) |
| updates the information fot the given lens/stack in the tree | |
| void | UpdateGroup (wxTreeItemId parent, const UIntSet imgs, UIntSet &changed) |
| updates the given group, updates number of images and the images itself | |
| void | OnColumnWidthChange (wxListEvent &e) |
| event handler, when column width was changed, save into wxConfig | |
| void | OnLinkImageVariables (wxCommandEvent &e) |
| event handler for linking image variables | |
| void | OnUnlinkImageVariables (wxCommandEvent &e) |
| event handler for unlinking image variables | |
| void | OnEditImageVariables (wxCommandEvent &e) |
| event handler for showing image variables editing dialog | |
| void | OnBeginDrag (wxTreeEvent &e) |
| event handler when dragging begins, veto if dragging is not possible | |
| void | OnEndDrag (wxMouseEvent &e) |
| event handler when dragging ends, updates the Panorama | |
| void | OnLeftDown (wxMouseEvent &e) |
| event handler for left mouse down, handles toggle of optimizer variables | |
| void | OnLeftDblClick (wxMouseEvent &e) |
| event handler for left double click | |
| void | OnSelectAll (wxCommandEvent &e) |
| event handler for select all optimizer variables | |
| void | OnUnselectAll (wxCommandEvent &e) |
| event handler for unselect all optimizer variables | |
| void | OnSelectLensStack (wxCommandEvent &e) |
| event handler for select all optimizer variables for selected lens/stack | |
| void | OnUnselectLensStack (wxCommandEvent &e) |
| event handler for unselect all optimizer variables for selected lens/stack | |
| void | OnChar (wxTreeEvent &e) |
| event handler for key events | |
| void | OnBeginEdit (wxTreeEvent &e) |
| event handler for beginning editing | |
| void | OnEndEdit (wxTreeEvent &e) |
| event handler for ending editing, updates the Panorama with modified value | |
| void | OnExecuteOperation (wxCommandEvent &e) |
| menu event handler for PanoOperation (context menu items) | |
| void | OnContextMenu (wxTreeEvent &e) |
| event handler to display context menu | |
| void | OnHeaderContextMenu (wxListEvent &e) |
| event handler for context menu on header | |
Private Member Functions | |
| void | CreateColumns () |
| creates all columns and stores information in m_columnMap, m_columnVector, m_editableColumns and m_variableVector | |
| void | UnLinkImageVariables (bool linked) |
| helper procedure for link/unlink image variables | |
| void | SelectAllParameters (bool select, bool allImages) |
| select/unselect all variables in the active column true selects all, false unselect all true works on all images, false only on images of current lens or stack | |
| void | UpdateOptimizerVariables () |
| updates the display of the optimizer variables (set font) | |
| void | GenerateSubMenu (wxMenu *menu, PanoOperation::PanoOperationVector *operations, int &id) |
| generates submenu for given PanoOperationVector | |
Private Attributes | |
| Panorama * | m_pano |
| GroupMode | m_groupMode |
| the active group mode | |
| HuginBase::StandardImageVariableGroups * | m_variable_groups |
| int | m_degDigits |
| int | m_distDigits |
| int | m_pixelDigits |
| GuiLevel | m_guiLevel |
| stores the active GuiLevel | |
| bool | m_optimizerMode |
| true, if in optimizer mode | |
| DisplayMode | m_displayMode |
| the active display mode | |
| std::map< std::string, size_t > | m_columnMap |
| map for easier access to column information | |
| std::vector< std::string > | m_columnVector |
| vector for easier access to column information | |
| HuginBase::UIntSet | m_editableColumns |
| set, which contains editable columns (all column which contains numeric image variables | |
| std::vector< HuginBase::ImageVariableGroup::ImageVariableEnum > | m_variableVector |
| vector for easier access to linking information | |
| std::map< int, PanoOperation::PanoOperation * > | m_menuOperation |
| map with current active context menu PanoOperation | |
| size_t | m_selectedColumn |
| selected column | |
| HuginBase::UIntSet | m_draggingImages |
| UIntSet of dragging images. | |
| bool | m_dragging |
| true, if dragging | |
| double | m_editVal |
| value, which is currently edited | |
| wxString | m_editOldString |
| wxString, as shown before editing started | |
| bool | m_needsUpdate |
| helper variable for update of output stacks/layers | |
| wxTreeItemId | m_root |
| pointer to root item, not shown | |
| wxString | m_configClassName |
Definition at line 38 of file ImagesTree.h.
|
|
enumeration for display mode, limits the displayed columns
Definition at line 51 of file ImagesTree.h. |
|
|
enumeration for grouping mode
Definition at line 42 of file ImagesTree.h. Referenced by ImagesPanel::OnGroupModeChanged(). |
|
|
general constructor
Definition at line 92 of file ImagesTree.cpp. References m_displayMode, m_dragging, m_groupMode, m_guiLevel, m_needsUpdate, m_optimizerMode, and m_pano. |
|
|
destructor
Definition at line 220 of file ImagesTree.cpp. References DEBUG_TRACE, m_pano, and HuginBase::Panorama::removeObserver(). |
|
||||||||||||||||||||||||||||
|
creates the control
Definition at line 103 of file ImagesTree.cpp. References wxTreeListCtrl::AddRoot(), wxTreeListCtrl::Create(), CreateColumns(), DEBUG_TRACE, m_configClassName, m_degDigits, m_distDigits, m_pixelDigits, and m_root. Referenced by ImagesPanel::Create(). |
|
|
creates all columns and stores information in m_columnMap, m_columnVector, m_editableColumns and m_variableVector
Definition at line 127 of file ImagesTree.cpp. References wxTreeListCtrl::AddColumn(), ADDCOLUMN, wxTreeListCtrl::GetColumnCount(), m_configClassName, and wxTreeListCtrl::SetColumnWidth(). Referenced by Create(). |
|
||||||||||||||||
|
generates submenu for given PanoOperationVector
Definition at line 1258 of file ImagesTree.cpp. References GetSelectedImages(), m_guiLevel, m_menuOperation, and m_pano. Referenced by OnContextMenu(). |
|
|
returns the selected images if a lens or stack is selected it returns all images of the selected lens/stack Definition at line 983 of file ImagesTree.cpp. References wxTreeListCtrl::GetFirstChild(), ImagesTreeData::GetImgNr(), wxTreeListCtrl::GetItemData(), wxTreeListCtrl::GetNextChild(), wxTreeListCtrl::GetSelections(), and ImagesTreeData::IsGroup(). Referenced by ImagesPanel::CPGenerate(), GenerateSubMenu(), OnBeginDrag(), OnChar(), ImagesPanel::OnCropFactorChanged(), OnEditImageVariables(), OnExecuteOperation(), ImagesPanel::OnFocalLengthChanged(), ImagesPanel::OnLensTypeChanged(), OptimizePhotometricPanel::OnReset(), OptimizePanel::OnReset(), ImagesPanel::OnSelectionChanged(), ImagesPanel::panoramaImagesChanged(), and UnLinkImageVariables(). |
|
|
initialization, connects all control with Panorama, register observer
Definition at line 206 of file ImagesTree.cpp. References HuginBase::Panorama::addObserver(), DEBUG_ASSERT, m_pano, and m_variable_groups. Referenced by OptimizePhotometricPanel::Init(), OptimizePanel::Init(), and ImagesPanel::Init(). |
|
|
event handler when dragging begins, veto if dragging is not possible
Definition at line 1363 of file ImagesTree.cpp. References HuginBase::Panorama::getNrOfImages(), GetSelectedImages(), GROUP_LENS, GROUP_NONE, m_dragging, m_draggingImages, m_groupMode, and m_pano. |
|
|
event handler for beginning editing
Definition at line 1757 of file ImagesTree.cpp. References hugin_utils::doubleTowxString(), wxTreeListCtrl::GetFirstChild(), HuginBase::Panorama::getImage(), ImagesTreeData::GetImgNr(), wxTreeListCtrl::GetItemData(), wxTreeListCtrl::GetItemText(), HuginBase::SrcPanoImage::getVar(), ImagesTreeData::IsGroup(), m_columnVector, m_editOldString, m_editVal, m_pano, and wxTreeListCtrl::SetItemText(). |
|
|
event handler for key events
Definition at line 1726 of file ImagesTree.cpp. References CommandHistory::addCommand(), MainFrame::Get(), GlobalCmdHist::getInstance(), GetSelectedImages(), m_pano, and wxTreeListCtrl::SelectAll(). |
|
|
event handler, when column width was changed, save into wxConfig
Definition at line 1012 of file ImagesTree.cpp. References wxTreeListCtrl::GetColumnWidth(), and m_configClassName. |
|
|
event handler to display context menu
Definition at line 1122 of file ImagesTree.cpp. References GenerateSubMenu(), wxTreeListCtrl::GetItemData(), wxTreeListCtrl::GetItemText(), GROUP_LENS, GROUP_STACK, ID_EDIT, ID_LINK, ID_SELECT_ALL, ID_SELECT_LENS_STACK, ID_UNLINK, ID_UNSELECT_ALL, ID_UNSELECT_LENS_STACK, ImagesTreeData::IsGroup(), m_columnVector, m_editableColumns, m_groupMode, m_guiLevel, m_menuOperation, m_optimizerMode, m_selectedColumn, m_variableVector, and set_contains(). |
|
|
event handler for showing image variables editing dialog
Definition at line 1327 of file ImagesTree.cpp. References DISPLAY_LENS, DISPLAY_PHOTOMETRICS, DISPLAY_PHOTOMETRICS_IMAGES, DISPLAY_PHOTOMETRICS_LENSES, GetSelectedImages(), m_columnMap, m_guiLevel, m_pano, m_selectedColumn, ImageVariableDialog::SelectTab(), and ImageVariableDialog::SetGuiLevel(). |
|
|
event handler when dragging ends, updates the Panorama
Definition at line 1381 of file ImagesTree.cpp. References CommandHistory::addCommand(), CommandHistory::clear(), ImagesTreeData::GetGroupNr(), ImagesTreeData::GetImgNr(), GlobalCmdHist::getInstance(), wxTreeListCtrl::GetItemData(), wxTreeListCtrl::GetItemParent(), HuginBase::Panorama::getNrOfImages(), wxTreeListCtrl::HitTest(), ImagesTreeData::IsGroup(), m_dragging, m_draggingImages, m_groupMode, and m_pano. |
|
|
event handler for ending editing, updates the Panorama with modified value
Definition at line 1779 of file ImagesTree.cpp. References CommandHistory::addCommand(), wxTreeListCtrl::GetFirstChild(), HuginBase::Panorama::getImage(), ImagesTreeData::GetImgNr(), GlobalCmdHist::getInstance(), wxTreeListCtrl::GetItemData(), ImagesTreeData::IsGroup(), m_columnVector, m_pano, wxTreeListCtrl::Refresh(), wxTreeListCtrl::SetItemText(), and str2double(). |
|
|
menu event handler for PanoOperation (context menu items)
Definition at line 1852 of file ImagesTree.cpp. References CommandHistory::addCommand(), PanoOperation::PanoOperation::GetCommand(), GlobalCmdHist::getInstance(), GetSelectedImages(), m_guiLevel, m_menuOperation, and m_pano. |
|
|
event handler for context menu on header
Definition at line 1272 of file ImagesTree.cpp. References ID_SELECT_ALL, ID_UNSELECT_ALL, m_editableColumns, m_optimizerMode, m_selectedColumn, and set_contains(). |
|
|
event handler for left double click
Definition at line 1862 of file ImagesTree.cpp. References wxTreeListCtrl::HitTest(), ID_EDIT, and m_selectedColumn. |
|
|
event handler for left mouse down, handles toggle of optimizer variables
Definition at line 1488 of file ImagesTree.cpp. References CommandHistory::addCommand(), wxTreeListCtrl::GetFirstChild(), ImagesTreeData::GetImgNr(), GlobalCmdHist::getInstance(), wxTreeListCtrl::GetItemData(), wxTreeListCtrl::GetItemText(), wxTreeListCtrl::GetNextChild(), HuginBase::Panorama::getOptimizeVector(), wxTreeListCtrl::HitTest(), ImagesTreeData::IsGroup(), m_columnVector, m_dragging, m_editableColumns, m_pano, and set_contains(). |
|
|
event handler for linking image variables
Definition at line 1317 of file ImagesTree.cpp. References UnLinkImageVariables(). |
|
|
event handler for select all optimizer variables
Definition at line 1706 of file ImagesTree.cpp. References SelectAllParameters(). |
|
|
event handler for select all optimizer variables for selected lens/stack
Definition at line 1716 of file ImagesTree.cpp. References SelectAllParameters(). |
|
|
event handler for unlinking image variables
Definition at line 1322 of file ImagesTree.cpp. References UnLinkImageVariables(). |
|
|
event handler for unselect all optimizer variables
Definition at line 1711 of file ImagesTree.cpp. References SelectAllParameters(). |
|
|
event handler for unselect all optimizer variables for selected lens/stack
Definition at line 1721 of file ImagesTree.cpp. References SelectAllParameters(). |
|
|
receives notification about panorama changes
Definition at line 227 of file ImagesTree.cpp. References fill_set(), HuginBase::Panorama::getNrOfImages(), GROUP_OUTPUTLAYERS, m_groupMode, m_needsUpdate, panoramaImagesChanged(), and UpdateOptimizerVariables(). |
|
||||||||||||
|
||||||||||||
|
select/unselect all variables in the active column true selects all, false unselect all true works on all images, false only on images of current lens or stack
Definition at line 1604 of file ImagesTree.cpp. References CommandHistory::addCommand(), HuginBase::PanoramaOptions::colorReferenceImage, fill_set(), wxTreeListCtrl::GetFirstChild(), ImagesTreeData::GetImgNr(), GlobalCmdHist::getInstance(), wxTreeListCtrl::GetItemData(), wxTreeListCtrl::GetItemParent(), wxTreeListCtrl::GetNextChild(), HuginBase::Panorama::getNrOfImages(), HuginBase::Panorama::getOptimizeVector(), HuginBase::Panorama::getOptions(), wxTreeListCtrl::GetSelections(), ImagesTreeData::IsGroup(), m_columnVector, m_pano, and HuginBase::PanoramaOptions::optimizeReferenceImage. Referenced by OnSelectAll(), OnSelectLensStack(), OnUnselectAll(), and OnUnselectLensStack(). |
|
|
sets the display mode to given mode
Definition at line 1064 of file ImagesTree.cpp. References DISPLAY_EXIF, DISPLAY_GENERAL, DISPLAY_LENS, DISPLAY_PHOTOMETRICS, DISPLAY_PHOTOMETRICS_IMAGES, DISPLAY_PHOTOMETRICS_LENSES, DISPLAY_POSITION, GUI_ADVANCED, GUI_EXPERT, m_columnMap, m_displayMode, m_guiLevel, wxTreeListCtrl::Refresh(), and wxTreeListCtrl::SetColumnShown(). Referenced by OptimizePhotometricPanel::Init(), OptimizePanel::Init(), ImagesPanel::OnDisplayModeChanged(), and SetGuiLevel(). |
|
|
sets the group mode to given mode
Definition at line 1040 of file ImagesTree.cpp. References wxTreeListCtrl::DeleteChildren(), wxTreeListCtrl::ExpandAll(), fill_set(), HuginBase::Panorama::getNrOfImages(), wxTreeListCtrl::GetWindowStyle(), m_groupMode, m_pano, m_root, panoramaImagesChanged(), and wxTreeListCtrl::SetWindowStyle(). Referenced by OptimizePhotometricPanel::Init(), OptimizePanel::Init(), ImagesPanel::OnGroupModeChanged(), and panoramaImagesChanged(). |
|
|
sets the GuiLevel of the control
Definition at line 1021 of file ImagesTree.cpp. References m_displayMode, m_guiLevel, and SetDisplayMode(). Referenced by OptimizePhotometricPanel::SetGuiLevel(), OptimizePanel::SetGuiLevel(), and ImagesPanel::SetGuiLevel(). |
|
|
sets to control into optimizer mode this marks the variables, which should be optimized, bold and underlined, also activates the context menu for optimizer Definition at line 1028 of file ImagesTree.cpp. References m_columnVector, m_editableColumns, m_optimizerMode, and wxTreeListCtrl::SetColumnEditable(). Referenced by OptimizePhotometricPanel::Init(), and OptimizePanel::Init(). |
|
|
helper procedure for link/unlink image variables
Definition at line 1285 of file ImagesTree.cpp. References CommandHistory::addCommand(), GlobalCmdHist::getInstance(), GetSelectedImages(), m_groupMode, m_pano, m_selectedColumn, and m_variableVector. Referenced by OnLinkImageVariables(), and OnUnlinkImageVariables(). |
|
||||||||||||||||
|
updates the given group, updates number of images and the images itself
Definition at line 860 of file ImagesTree.cpp. References wxTreeListCtrl::AppendItem(), wxTreeListCtrl::Delete(), wxTreeListCtrl::GetChildrenCount(), wxTreeListCtrl::GetFirstChild(), ImagesTreeData::GetImgNr(), wxTreeListCtrl::GetItemData(), wxTreeListCtrl::GetLastChild(), wxTreeListCtrl::GetNextChild(), set_contains(), ImagesTreeData::SetImgNr(), and UpdateImageText(). Referenced by panoramaImagesChanged(). |
|
|
|
|
updates the display of the optimizer variables (set font)
Definition at line 918 of file ImagesTree.cpp. References wxTreeListCtrl::GetColumnCount(), wxTreeListCtrl::GetFirstChild(), ImagesTreeData::GetImgNr(), wxTreeListCtrl::GetItemData(), wxTreeListCtrl::GetItemFont(), wxTreeListCtrl::GetNext(), wxTreeListCtrl::GetNextChild(), HuginBase::Panorama::getOptimizeVector(), ImagesTreeData::IsGroup(), m_columnVector, m_editableColumns, m_pano, m_root, set_contains(), and wxTreeListCtrl::SetItemFont(). Referenced by panoramaChanged(). |
|
|
map for easier access to column information
Definition at line 173 of file ImagesTree.h. Referenced by OnEditImageVariables(), SetDisplayMode(), UpdateGroupText(), and UpdateImageText(). |
|
|
vector for easier access to column information
Definition at line 175 of file ImagesTree.h. Referenced by OnBeginEdit(), OnContextMenu(), OnEndEdit(), OnLeftDown(), SelectAllParameters(), SetOptimizerMode(), and UpdateOptimizerVariables(). |
|
|
Definition at line 199 of file ImagesTree.h. Referenced by Create(), CreateColumns(), and OnColumnWidthChange(). |
|
|
Definition at line 163 of file ImagesTree.h. Referenced by Create(). |
|
|
the active display mode
Definition at line 171 of file ImagesTree.h. Referenced by ImagesTreeCtrl(), SetDisplayMode(), and SetGuiLevel(). |
|
|
Definition at line 164 of file ImagesTree.h. Referenced by Create(), UpdateGroupText(), and UpdateImageText(). |
|
|
true, if dragging
Definition at line 187 of file ImagesTree.h. Referenced by ImagesTreeCtrl(), OnBeginDrag(), OnEndDrag(), and OnLeftDown(). |
|
|
UIntSet of dragging images.
Definition at line 185 of file ImagesTree.h. Referenced by OnBeginDrag(), and OnEndDrag(). |
|
|
set, which contains editable columns (all column which contains numeric image variables
Definition at line 177 of file ImagesTree.h. Referenced by OnContextMenu(), OnHeaderContextMenu(), OnLeftDown(), SetOptimizerMode(), and UpdateOptimizerVariables(). |
|
|
wxString, as shown before editing started
Definition at line 191 of file ImagesTree.h. Referenced by OnBeginEdit(). |
|
|
value, which is currently edited
Definition at line 189 of file ImagesTree.h. Referenced by OnBeginEdit(). |
|
|
the active group mode
Definition at line 157 of file ImagesTree.h. Referenced by ImagesTreeCtrl(), OnBeginDrag(), OnContextMenu(), OnEndDrag(), panoramaChanged(), panoramaImagesChanged(), SetGroupMode(), UnLinkImageVariables(), UpdateGroupText(), and UpdateImageText(). |
|
|
stores the active GuiLevel
Definition at line 167 of file ImagesTree.h. Referenced by GenerateSubMenu(), ImagesTreeCtrl(), OnContextMenu(), OnEditImageVariables(), OnExecuteOperation(), SetDisplayMode(), and SetGuiLevel(). |
|
|
map with current active context menu PanoOperation
Definition at line 181 of file ImagesTree.h. Referenced by GenerateSubMenu(), OnContextMenu(), and OnExecuteOperation(). |
|
|
helper variable for update of output stacks/layers
Definition at line 193 of file ImagesTree.h. Referenced by ImagesTreeCtrl(), panoramaChanged(), and panoramaImagesChanged(). |
|
|
true, if in optimizer mode
Definition at line 169 of file ImagesTree.h. Referenced by ImagesTreeCtrl(), OnContextMenu(), OnHeaderContextMenu(), and SetOptimizerMode(). |
|
|
Definition at line 155 of file ImagesTree.h. Referenced by GenerateSubMenu(), ImagesTreeCtrl(), Init(), OnBeginDrag(), OnBeginEdit(), OnChar(), OnEditImageVariables(), OnEndDrag(), OnEndEdit(), OnExecuteOperation(), OnLeftDown(), panoramaImagesChanged(), SelectAllParameters(), SetGroupMode(), UnLinkImageVariables(), UpdateGroupText(), UpdateImageText(), UpdateOptimizerVariables(), and ~ImagesTreeCtrl(). |
|
|
Definition at line 165 of file ImagesTree.h. Referenced by Create(), UpdateGroupText(), and UpdateImageText(). |
|
|
pointer to root item, not shown
Definition at line 196 of file ImagesTree.h. Referenced by Create(), panoramaImagesChanged(), SetGroupMode(), and UpdateOptimizerVariables(). |
|
|
selected column
Definition at line 183 of file ImagesTree.h. Referenced by OnContextMenu(), OnEditImageVariables(), OnHeaderContextMenu(), OnLeftDblClick(), and UnLinkImageVariables(). |
|
|
Definition at line 160 of file ImagesTree.h. Referenced by Init(), panoramaImagesChanged(), and UpdateImageText(). |
|
|
vector for easier access to linking information
Definition at line 179 of file ImagesTree.h. Referenced by OnContextMenu(), and UnLinkImageVariables(). |
1.3.9.1