From: <gpa...@us...> - 2008-04-03 01:13:50
|
Revision: 2987 http://hugin.svn.sourceforge.net/hugin/?rev=2987&view=rev Author: gpatters1 Date: 2008-04-02 18:13:46 -0700 (Wed, 02 Apr 2008) Log Message: ----------- [1893971]: Only display control points in CP tab if one point is selected in CP list. Modified Paths: -------------- hugin/trunk/src/hugin1/hugin/CPListFrame.cpp hugin/trunk/src/hugin1/hugin/CPListFrame.h Modified: hugin/trunk/src/hugin1/hugin/CPListFrame.cpp =================================================================== --- hugin/trunk/src/hugin1/hugin/CPListFrame.cpp 2008-04-02 21:21:45 UTC (rev 2986) +++ hugin/trunk/src/hugin1/hugin/CPListFrame.cpp 2008-04-03 01:13:46 UTC (rev 2987) @@ -243,7 +243,8 @@ BEGIN_EVENT_TABLE(CPListFrame, wxFrame) EVT_CLOSE(CPListFrame::OnClose) - EVT_LIST_ITEM_SELECTED(XRCID("cp_list_frame_list"), CPListFrame::OnCPListSelect) + EVT_LIST_ITEM_SELECTED(XRCID("cp_list_frame_list"), CPListFrame::OnCPListSelectionChanged) + EVT_LIST_ITEM_DESELECTED(XRCID("cp_list_frame_list"), CPListFrame::OnCPListSelectionChanged) EVT_LIST_COL_CLICK(XRCID("cp_list_frame_list"), CPListFrame::OnCPListHeaderClick) EVT_LIST_COL_END_DRAG(XRCID("cp_list_frame_list"), CPListFrame::OnColumnWidthChange) EVT_BUTTON(XRCID("cp_list_delete"), CPListFrame::OnDeleteButton) @@ -434,18 +435,6 @@ } -void CPListFrame::OnCPListSelect(wxListEvent & ev) -{ - if (m_freeze) - return; - - int t = ev.GetIndex(); - if (t >=0) { - int cp = m_list->GetItemData(t); - m_mainFrame->ShowCtrlPoint((unsigned int) cp); - } -} - void CPListFrame::updateList() { const CPVector & cps = m_pano.getCtrlPoints(); @@ -716,3 +705,21 @@ int colNum = e.GetColumn(); wxConfigBase::Get()->Write( wxString::Format(wxT("/CPListFrame/ColumnWidth%d"),colNum), m_list->GetColumnWidth(colNum) ); } + + +void CPListFrame::OnCPListSelectionChanged(wxListEvent & e) +{ + DEBUG_TRACE(e.GetIndex()); + int itemsSelected = m_list->GetSelectedItemCount(); + DEBUG_DEBUG("selected control points: " << itemsSelected); + if (1 == itemsSelected) { + int cp = e.GetIndex(); + m_mainFrame->ShowCtrlPoint((unsigned int) cp); + } else if (0 == itemsSelected) { + DEBUG_DEBUG("nothing to do"); + } else if (itemsSelected > 1) { + DEBUG_DEBUG("Multiselection nothing to do"); + } + +} + Modified: hugin/trunk/src/hugin1/hugin/CPListFrame.h =================================================================== --- hugin/trunk/src/hugin1/hugin/CPListFrame.h 2008-04-02 21:21:45 UTC (rev 2986) +++ hugin/trunk/src/hugin1/hugin/CPListFrame.h 2008-04-03 01:13:46 UTC (rev 2987) @@ -51,7 +51,7 @@ void SetCPItem(int i, const PT::ControlPoint & p); - void OnCPListSelect(wxListEvent & e); + void OnCPListSelectionChanged(wxListEvent & e); void OnCPListHeaderClick(wxListEvent & e); void OnDeleteButton(wxCommandEvent & e); void OnFineTuneButton(wxCommandEvent & e); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |