Reimplemented from OglGui::Window. Definition at line 508 of file TableWindow.h. References OglGui::Window::DisplayFunc(), OglGui::OglWindow::GetDimensions(), Impala::Application::VideoExcel::TableDataSource::GetEndRow(), Impala::Application::VideoExcel::TableColumn::GetHeaderHeight(), Impala::Application::VideoExcel::TableDataSource::GetMark(), Impala::Application::VideoExcel::TableDataSource::GetRowHeight(), Impala::Application::VideoExcel::TableDataSource::GetStartRow(), OglGui::OglWindow::H(), HandleZoomView(), Impala::Application::VideoExcel::TableDataSource::MarkAllRows(), Impala::Application::VideoExcel::TableDataSource::MarkRow(), MarkToColor(), mColumns, mMouseXE, mMouseXS, mMouseYE, mMouseYS, mSelecting, mSource, and OglGui::OglWindow::W(). 00509 { 00510 OGC myOGC; 00511 OGCSave(&myOGC); 00512 00513 int h = H(), w = W(); 00514 int mx = 0, my = 0; 00515 int cx, cy, cw, ch; 00516 int mcx, mcy, mcw, mch; 00517 00518 if (mSelecting) 00519 { 00520 mcx = (mMouseXS < mMouseXE) ? mMouseXS : mMouseXE; 00521 mcw = (mMouseXS < mMouseXE) ? mMouseXE-mMouseXS : mMouseXS-mMouseXE; 00522 mcy = (mMouseYS < mMouseYE) ? mMouseYS : mMouseYE; 00523 mch = (mMouseYS < mMouseYE) ? mMouseYE-mMouseYS : mMouseYS-mMouseYE; 00524 mSource->MarkAllRows(1, false); 00525 } 00526 00527 SetStipple((short)oglDot); 00528 SetSolidLineColor(0xff777777); 00529 for (int x = 0; x < mColumns.size(); x++) 00530 { 00531 mColumns[x]->GetDimensions(cx,cy,cw,ch); 00532 mx += cw + 2; 00533 DrawLine(mx, 0, mx, h); 00534 } 00535 int hheight = TableColumn::GetHeaderHeight(); 00536 my = hheight; 00537 for (int y = mSource->GetStartRow(); y < mSource->GetEndRow(); y++) 00538 { 00539 my += mSource->GetRowHeight(y); 00540 00541 if (mSelecting && (mcy < (h-my) && (h-my) < mcy + mch)) 00542 mSource->MarkRow(y, 1); 00543 00544 int mark = mSource->GetMark(y); 00545 if (mark) 00546 { 00547 int markCol = MarkToColor(mark); // RvB: To prevent 4 calls 00548 SetSolidFillColor(markCol); 00549 FillRectangle(0, h - my, w - 20, mSource->GetRowHeight(y)); 00550 } 00551 00552 DrawLine(0, h - my, w - 20, h - my); 00553 } 00554 00555 SetStipple((short)oglSolid); 00556 DrawLine(0, h - hheight, w - 20, h - hheight); 00557 DrawLine(w - 20, 0, w - 20, h - hheight); 00558 00559 if (mSelecting) 00560 { 00561 // draw the current mouse selection: 00562 SetStipple((short)oglSolid); 00563 SetLineWidth(2.0f); 00564 SetSolidLineColor(0xff444466); 00565 DrawRectangle(mcx,mcy,mcw,mch); 00566 } 00567 00568 OGCRestore(&myOGC); 00569 HandleZoomView(); 00570 Window::DisplayFunc(); 00571 }
Here is the call graph for this function:
|