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

virtual void OglGui::DropDownWindow::DisplayFunc (  )  [inline, virtual]

Reimplemented from OglGui::Window.

Definition at line 122 of file DropDownWindow.h.

References OglGui::Window::DisplayFunc(), OglGui::OglWindow::GetDimensions(), OglGui::OglWindow::GetOGLWND(), mChildWindows, mClosedHeight, OglGui::Window::mForeGroundColor, mHeaderHeight, mHeaderWindow, mIsDropped, mLinePattern, mShowLines, mSpacing, OglGui::OglWindow::SetDimensions(), OglGui::OglWindow::WndHeight(), OglGui::OglWindow::WndX(), and OglGui::OglWindow::WndY().

00123     {
00124         OGC     myOGC;
00125         int     curY = WndHeight();
00126         int     nY = curY-mHeaderHeight-2, nW = 0, nH = 0;
00127         int     lineX, topLineY = nY;
00128         bool    itemLines = (mShowLines && mIsDropped);
00129 
00130         mHeaderWindow->SetDimensions(RETAIN, nY, RETAIN, mHeaderHeight);
00131 
00132         if (mShowLines)
00133         {
00134             OGCSave(&myOGC);
00135             SetStipple(mLinePattern);
00136             SetSolidLineColor(mForeGroundColor);
00137             lineX = mHeaderWindow->WndX();
00138             DrawLine(lineX, nY+7, 0, nY+7);
00139             lineX += 6;
00140         }
00141 
00142         for (int i=0 ; i < (int) mChildWindows.size() ; i++)
00143         {
00144             int     cX, cY, cW, cH;
00145             Window*  child = mChildWindows[i];
00146 
00147             if (!HasTags((TAGABLE*)child->GetOGLWND(), visibleTag))
00148                 continue;
00149 
00150             child->GetDimensions(cX,cY,cW,cH);
00151             
00152             nH   += cH + ((i==0) ? 4 : mSpacing);
00153             curY -= cH + ((i==0) ? 4 : mSpacing);
00154 
00155             child->SetDimensions(RETAIN, curY, RETAIN, RETAIN);
00156 
00157             if ((i>0) && itemLines)
00158             {
00159                 if (lineX < cX )
00160                     DrawLine(lineX, curY+cH-11, cX-2, curY+cH-11);
00161                 if (lineX > cX+cW)
00162                     DrawLine(lineX, curY+cH-11, cX+cW+2, curY+cH-11);
00163                 nY = curY+cH-9;
00164             }
00165 
00166             if ((i<1) || (mIsDropped && (nW < cX+cW)))
00167                 nW = cX+cW;
00168         }
00169         if (itemLines)
00170             DrawLine(lineX, nY, lineX, topLineY);
00171 
00172         nY = WndY() + WndHeight() - (mIsDropped ? nH : mClosedHeight);
00173         nH = mIsDropped ? nH : mClosedHeight;
00174 
00175         SetDimensions(WndX(), nY, nW+2, nH);
00176 
00177         if (mShowLines) OGCRestore(&myOGC);
00178 
00179         Window::DisplayFunc();
00180     }

Here is the call graph for this function:


Generated on Fri Mar 19 12:01:12 2010 for ImpalaSrc by  doxygen 1.5.1