Definition at line 723 of file TableDataView.h. References Impala::Application::MediaTable::compare_double(), GetDoubleDataByID(), GetNormalizedDataByID(), Impala::Application::MediaTable::TableDataSource::GetTotalRows(), ILOG_DEBUG, IsFiltered(), mFilteredRows, mSortAscending, mSortColumn, mSortSequence, mSortType, mTableDataSource, mVisibleRows, Impala::Application::MediaTable::TableDataSource::TYPE_DOUBLE, and Impala::Application::MediaTable::TableDataSource::TYPE_NORMALIZEDVALUE. Referenced by SortAndFilter(). 00724 { 00725 std::list < std::pair <double, int> > sortthis; 00726 for (int i=0; i<mTableDataSource->GetTotalRows(); i++) 00727 { 00728 if (!IsFiltered(i)) 00729 { 00730 double dVal; 00731 if (mSortType == TableDataSource::TYPE_NORMALIZEDVALUE) 00732 dVal = GetNormalizedDataByID(mSortColumn,i); 00733 else 00734 dVal = GetDoubleDataByID(mSortColumn, i); 00735 sortthis.push_back( std::make_pair(dVal, i) ); 00736 mVisibleRows[i] = true; 00737 } 00738 else 00739 mVisibleRows[i] = false; 00740 } 00741 mFilteredRows = sortthis.size(); 00742 sortthis.sort(compare_double); 00743 ILOG_DEBUG("filtered # of rows: " << mFilteredRows); 00744 00745 bool normType = (mSortType == TableDataSource::TYPE_NORMALIZEDVALUE); 00746 bool dblType = (mSortType == TableDataSource::TYPE_DOUBLE); 00747 if ((normType && mSortAscending) || (dblType && !mSortAscending)) 00748 sortthis.reverse(); 00749 mSortSequence.clear(); 00750 00751 std::list<std::pair <double, int> >::iterator it; 00752 for (it=sortthis.begin(); it!=sortthis.end(); ++it) 00753 mSortSequence.push_back(it->second); 00754 }
Here is the call graph for this function:
|