void CATableView::clearData() { m_nRowsInSections.clear(); m_nSectionHeaderHeights.clear(); m_nSectionFooterHeights.clear(); std::vector<std::vector<unsigned int> >::iterator itr; for (itr=m_nRowHeightss.begin(); itr!=m_nRowHeightss.end(); itr++) { itr->clear(); } m_nRowHeightss.clear(); m_rSectionRectss.clear(); m_rTableCellRectss.clear(); std::set<CATableViewCell*>::iterator itr2; for (itr2=m_pSelectedTableCells.begin(); itr2!=m_pSelectedTableCells.end(); itr2++) { CATableViewCell* cell = *itr2; cell->setControlStateNormal(); } m_pSelectedTableCells.clear(); m_pTableCells.clear(); }
void CATableView::ccTouchEnded(CCTouch *pTouch, CCEvent *pEvent) { CAScrollView::ccTouchEnded(pTouch, pEvent); if (m_pHighlightedTableCells) { this->stopActionByTag(0xffff); CATableViewCell* deselectedCell = NULL; CATableViewCell* selectedCell = m_pHighlightedTableCells; m_pHighlightedTableCells = NULL; if (m_pSelectedTableCells.count(selectedCell) > 0 && m_bAllowsMultipleSelection) { deselectedCell = selectedCell; selectedCell = NULL; m_pSelectedTableCells.erase(deselectedCell); } else { if (m_pSelectedTableCells.size() > 0 && m_bAllowsMultipleSelection == false) { deselectedCell = *m_pSelectedTableCells.begin(); m_pSelectedTableCells.clear(); } m_pSelectedTableCells.insert(selectedCell); } if (deselectedCell) { deselectedCell->setControlStateNormal(); if (m_pTableViewDelegate) { m_pTableViewDelegate->tableViewDidDeselectRowAtIndexPath(this, deselectedCell->getSection(), deselectedCell->getRow()); } } if (selectedCell) { selectedCell->setControlStateSelected(); if (m_pTableViewDelegate) { m_pTableViewDelegate->tableViewDidSelectRowAtIndexPath(this, selectedCell->getSection(), selectedCell->getRow()); } } } if (m_pTableViewDelegate) { if (m_pTablePullDownView && m_pContainer->getFrame().origin.y > m_nTablePullViewHeight) { m_pTableViewDelegate->tableViewDidShowPullDownView(this); } if (m_pTablePullUpView && this->getBounds().size.height - (m_pContainer->getFrame().origin.y + m_pContainer->getFrame().size.height) > m_nTablePullViewHeight) { m_pTableViewDelegate->tableViewDidShowPullUpView(this); } } }