Definition at line 253 of file TableColumn.h. References OglGui::Menu::AddItem(), Impala::Application::VideoExcel::TableDataSource::AddTableUpdateListener(), OglGui::OglWindow::ConnectTo(), Impala::Application::VideoExcel::TableCell::DISPLAY_TEXT, OglGui::OglWindow::GetOGLWND(), mCache, mColumnHeader, mColumnName, mColWidth, mColWidthDynamic, mDisplayAttr, mDisplayMode, mFilter, mFilterTextField, mFilterValueButton, mSortButton, mSource, Impala::Application::VideoExcel::TableCell::NONE, Impala::Application::VideoExcel::TableDataSource::RegisterFilter(), OglGui::Menu::SEPARATOR, OglGui::StaticText::SetAlign(), OglGui::StaticText::SetAlignOffsets(), OglGui::OglWindow::SetBackground(), OglGui::Button::SetButtonListener(), OglGui::Menu::SetMenuListener(), OglGui::Menu::SetOptions(), OglGui::TextField::SetTextFieldListener(), OglGui::TOLEFTRIGHT, OglGui::TORIGHT, and OglGui::TOTOP. 00254 { 00255 mSource = source; 00256 mColumnName = name; 00257 mCache = 0; 00258 mDisplayMode = TableCell::DISPLAY_TEXT; 00259 mDisplayAttr = TableCell::NONE; 00260 00261 // register for updates on this datasource: 00262 mSource->AddTableUpdateListener(this); 00263 00264 // build the column GUI 00265 oglSys.SetNoMouseInput(GetOGLWND(),1); 00266 //mColumnHeader = new Button(this,0,h-20,w,20,w<40 ? "" : name,4,true); 00267 mColumnHeader = new Button(this,0,h-20,w,20,name,4,true); 00268 mColumnHeader->SetAlign(oglLeftAlign); 00269 mColumnHeader->SetAlignOffsets(4,0); 00270 //mColumnHeader->ConnectTo(this, T2T|B2T|L2L|R2R); 00271 mColumnHeader->ConnectTo(this, OglGui::TOTOP| OglGui::TOLEFTRIGHT); 00272 mColumnHeader->SetButtonListener(this, 0); 00273 mColumnHeader->SetBackground(0xffffddee); 00274 00275 mSortButton = new DirectionButton(mColumnHeader,w-16,2,16,16,3,-1); 00276 mSortButton->SetBackground(0xffffddee); 00277 mSortButton->ConnectTo(mColumnHeader,OglGui::TORIGHT); 00278 mSortButton->SetButtonListener(this, 0); 00279 00280 mFilterTextField = new TextField(this, 0, h-40, w, 20, ""); 00281 mFilterTextField->SetTextFieldListener(this, 0); 00282 //mFilterTextField->ConnectTo(this, T2T|B2T|L2L|R2R); 00283 mFilterTextField->ConnectTo(this, OglGui::TOTOP | OglGui::TOLEFTRIGHT); 00284 00285 MenuTopPane* top = new MenuTopPane(this); 00286 Menu *filterMenu = new Menu(top, 1, 120); 00287 filterMenu->AddItem("filter " + mColumnName, 0); 00288 filterMenu->SetOptions(0, Menu::SEPARATOR, true); 00289 filterMenu->AddItem("strong match", 2); 00290 filterMenu->AddItem("less strong", 3); 00291 filterMenu->AddItem("weak match", 4); 00292 filterMenu->AddItem("very weak match", 5); 00293 /* filterMenu->AddItem("top 50%%", 5); 00294 filterMenu->AddItem("bottom 50%%", 6); 00295 filterMenu->AddItem("bottom 20%%", 7); 00296 filterMenu->AddItem("bottom 10%%", 8); */ 00297 filterMenu->AddItem("everything", 9); 00298 00299 filterMenu->SetMenuListener(this, 0); 00300 00301 mFilterValueButton = 00302 new MenuOnButton(this, 0, h-40, w, 20, "Filter", filterMenu); 00303 //mFilterValueButton->ConnectTo(this, T2T|B2T|L2L|R2R); 00304 mFilterValueButton->ConnectTo(this, OglGui::TOTOP|OglGui::TOLEFTRIGHT); 00305 00306 mFilter = new TableFilter(mSource, mColumnName); 00307 mSource->RegisterFilter(mFilter); 00308 00309 mColWidth = w; 00310 mColWidthDynamic = false; 00311 //UpdateRows(); 00312 }
Here is the call graph for this function:
|