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

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

Reimplemented from OglGui::Window.

Definition at line 124 of file DropDownWindow.h.

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

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

Here is the call graph for this function:


Generated on Thu Jan 13 09:26:26 2011 for ImpalaSrc by  doxygen 1.5.1