diff options
-rw-r--r-- | viewGridNavigator.cpp | 34 |
1 files changed, 17 insertions, 17 deletions
diff --git a/viewGridNavigator.cpp b/viewGridNavigator.cpp index e315008..91d7540 100644 --- a/viewGridNavigator.cpp +++ b/viewGridNavigator.cpp @@ -50,23 +50,6 @@ void cViewGridNavigator::FilterElements(int scrollOffset) endOffset = (m_rows * m_columns) + scrollOffset; } - std::vector<cGridElement*>::iterator begin = m_firstElementIter + startOffset; - std::vector<cGridElement*>::iterator end = m_firstElementIter + endOffset; - if(end > m_vElements.end()) end = m_vElements.end(); - - int pos = 0; - for(std::vector<cGridElement*>::iterator it = begin; it != end; ++it) { - cGridElement *elem = *it; - elem->Position = pos++; - SetGridElementData(elem); - } - - if(m_setIterator) { - m_activeElementIter = begin; - m_pGrid->SetCurrent((*m_activeElementIter)->GridElementId(), true); - m_setIterator = false; - } - //remove non visible elements from grid if(scrollOffset !=0 ) { auto startIt = m_firstElementIter; @@ -88,6 +71,23 @@ void cViewGridNavigator::FilterElements(int scrollOffset) } } + std::vector<cGridElement*>::iterator begin = m_firstElementIter + startOffset; + std::vector<cGridElement*>::iterator end = m_firstElementIter + endOffset; + if(end > m_vElements.end()) end = m_vElements.end(); + + int pos = 0; + for(std::vector<cGridElement*>::iterator it = begin; it != end; ++it) { + cGridElement *elem = *it; + elem->Position = pos++; + SetGridElementData(elem); + } + + if(m_setIterator) { + m_activeElementIter = begin; + m_pGrid->SetCurrent((*m_activeElementIter)->GridElementId(), true); + m_setIterator = false; + } + m_firstElementIter = begin; m_lastElementIter = end; m_newDimensions = false; |