Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

bool Impala::Application::MediaTable::TableDataSourceCombinedViews::AddTableDataView ( TableDataView view,
std::string  column = "" 
) [inline]

Definition at line 98 of file TableDataSourceCombinedViews.h.

References Impala::Application::MediaTable::TableDataView::GetTotalRows(), GetTotalRows(), ILOG_WARN, mColumn, mColumns, mTableDataViews, and Impala::Application::MediaTable::TableDataView::SetSortColumn().

Referenced by BOOST_FIXTURE_TEST_CASE(), Impala::Application::MediaTable::MediaTable::Init(), and Impala::Application::MediaTable::CombinedViewsModule::NewTableDataSource().

00098                                                                       {
00099         if (column == "") {
00100                 if(mColumn == "") {
00101                         ILOG_WARN("No column provided in AddTableDataView.")
00102                         return false;
00103                 }
00104                 column = mColumn;
00105         }
00106 
00107         view->SetSortColumn(column);
00108         if(mTableDataViews.size() > 0) {
00109                 if(GetTotalRows() == 0) {
00110                         ILOG_WARN("Existing TableDataView has 0 rows.")
00111                         return false;
00112                 }
00113                 if(GetTotalRows() != view->GetTotalRows()) {
00114                         ILOG_WARN("GetTotalRows() does not match with existing TableDataView ("
00115                                           << GetTotalRows() << " != " << view->GetTotalRows() << ").");
00116                         return false;
00117                 }
00118                 for(int i=0; i < GetTotalRows(); i++) {
00119                         // Check values here for each view
00120                         // if type== TYPE_INT
00121                 }
00122         } else {
00123                 mColumn = column;
00124         }
00125 
00126         mTableDataViews.push_back(view);
00127         view->AddTableDataViewListener(this);
00128 
00129         std::vector<TableColumn*> columns = view->GetColumns(true, true);
00130         for(std::vector<TableColumn*>::iterator columnIterator = columns.begin();
00131                         columnIterator != columns.end(); ++columnIterator)
00132                                 mColumns.insert(make_pair((*columnIterator)->GetName(), view));
00133 
00134         /*// Merge marks:
00135         for(std::vector<TableDataView*>::iterator it = mTableDataViews.begin();
00136                                 it != mTableDataViews.end(); it++) {
00137                 map<int, int> markedRowsMap = (*it)->GetMarkedRowsMap();
00138                 for(std::map<int, int>::iterator markIter = markedRowsMap.begin(); markIter != markedRowsMap.end(); markIter++) {
00139                         int sortedrow = (*it)->GetRowForID(markIter->first);
00140                         SetMark(sortedrow, GetMark(sortedrow) | markIter->second);
00141                 }
00142         }*/
00143 
00144         return true;
00145     }

Here is the call graph for this function:


Generated on Fri Mar 19 10:45:05 2010 for ImpalaSrc by  doxygen 1.5.1