void UIListView::getAndCallback() { UIWidget* child = getChildFromUpdatePool(); if (child == NULL) { return; } switch (_direction) { case LISTVIEW_DIR_VERTICAL: // vertical switch (_moveDirection) { case LISTVIEW_MOVE_DIR_UP: // up ++_end; setUpdateChild(child); setUpdateDataIndex(_end); updateChildEvent(); if (_updateSuccess == false) { --_end; _childPool->insertObject(child, 0); return; } ++_begin; break; case LISTVIEW_MOVE_DIR_DOWN: // down --_begin; setUpdateChild(child); setUpdateDataIndex(_begin); updateChildEvent(); if (_updateSuccess == false) { ++_begin; _childPool->addObject(child); return; } --_end; break; default: break; } break; case LISTVIEW_DIR_HORIZONTAL: // horizontal switch (_moveDirection) { case LISTVIEW_MOVE_DIR_LEFT: // left ++_end; setUpdateChild(child); setUpdateDataIndex(_end); updateChildEvent(); if (_updateSuccess == false) { --_end; _childPool->insertObject(child, 0); return; } ++_begin; break; case LISTVIEW_MOVE_DIR_RIGHT: // right --_begin; setUpdateChild(child); setUpdateDataIndex(_begin); updateChildEvent(); if (_updateSuccess == false) { ++_begin; _childPool->addObject(child); return; } --_end; break; default: break; } break; default: break; } switch (_direction) { case LISTVIEW_DIR_VERTICAL: // vertical switch (_moveDirection) { case LISTVIEW_MOVE_DIR_UP: // up _childPool->addObject(child); break; case LISTVIEW_MOVE_DIR_DOWN: // down _childPool->insertObject(child, 0); break; default: break; } break; case LISTVIEW_DIR_HORIZONTAL: // horizontal switch (_moveDirection) { case LISTVIEW_MOVE_DIR_LEFT: // left _childPool->addObject(child); break; case LISTVIEW_MOVE_DIR_RIGHT: // right _childPool->insertObject(child, 0); break; default: break; } break; default: break; } }
void UIListView::getAndCallback() { UIWidget* child = getChildFromUpdatePool(); if (child == NULL) { return; } switch (m_eDirection) { case SCROLLVIEW_DIR_VERTICAL: // vertical switch (m_eMoveDirection) { case SCROLLVIEW_MOVE_DIR_UP: // up ++m_nEnd; setUpdateChild(child); setUpdateDataIndex(m_nEnd); updateChildEvent(); if (m_bUpdateSuccess == false) { --m_nEnd; m_pChildPool->insertObject(child, 0); // m_pChildPool->push_front(child); return; } ++m_nBegin; break; case SCROLLVIEW_MOVE_DIR_DOWN: // down --m_nBegin; setUpdateChild(child); setUpdateDataIndex(m_nBegin); updateChildEvent(); if (m_bUpdateSuccess == false) { ++m_nBegin; m_pChildPool->addObject(child); // m_pChildPool->push_back(child); return; } --m_nEnd; break; default: break; } break; case SCROLLVIEW_DIR_HORIZONTAL: // horizontal switch (m_eMoveDirection) { case SCROLLVIEW_MOVE_DIR_LEFT: // left ++m_nEnd; setUpdateChild(child); setUpdateDataIndex(m_nEnd); updateChildEvent(); if (m_bUpdateSuccess == false) { --m_nEnd; m_pChildPool->insertObject(child, 0); // m_pChildPool->push_front(child); return; } ++m_nBegin; break; case SCROLLVIEW_MOVE_DIR_RIGHT: // right --m_nBegin; setUpdateChild(child); setUpdateDataIndex(m_nBegin); updateChildEvent(); if (m_bUpdateSuccess == false) { ++m_nBegin; m_pChildPool->addObject(child); // m_pChildPool->push_back(child); return; } --m_nEnd; break; default: break; } break; default: break; } switch (m_eDirection) { case SCROLLVIEW_DIR_VERTICAL: // vertical switch (m_eMoveDirection) { case SCROLLVIEW_MOVE_DIR_UP: // up m_pChildPool->addObject(child); // m_pChildPool->push_back(child); break; case SCROLLVIEW_MOVE_DIR_DOWN: // down m_pChildPool->insertObject(child, 0); // m_pChildPool->push_front(child); break; default: break; } break; case SCROLLVIEW_DIR_HORIZONTAL: // horizontal switch (m_eMoveDirection) { case SCROLLVIEW_MOVE_DIR_LEFT: // left m_pChildPool->addObject(child); // m_pChildPool->push_back(child); break; case SCROLLVIEW_MOVE_DIR_RIGHT: // right m_pChildPool->insertObject(child, 0); // m_pChildPool->push_front(child); break; default: break; } break; default: break; } }