Ejemplo n.º 1
0
void Q3GroupBoxPrivate::updateFrameWidth()
{
    QRect fr = q->frameRect();

    int frameShape  = frameStyle & QFrame::Shape_Mask;
    int frameShadow = frameStyle & QFrame::Shadow_Mask;

    frameWidth = -1;

    switch (frameShape)  {

    case QFrame::NoFrame:
        frameWidth = 0;
        break;

    case QFrame::Box:
    case QFrame::HLine:
    case QFrame::VLine:
        switch (frameShadow) {
    case QFrame::Plain:
        frameWidth = lineWidth;
        break;
    case QFrame::Raised:
    case QFrame::Sunken:
        frameWidth = (short)(lineWidth*2 + midLineWidth);
        break;
        }
        break;

    case QFrame::StyledPanel:
        updateStyledFrameWidths();
        break;

    case QFrame::WinPanel:
        frameWidth = 2;
        break;


    case QFrame::Panel:
        switch (frameShadow) {
    case QFrame::Plain:
    case QFrame::Raised:
    case QFrame::Sunken:
        frameWidth = lineWidth;
        break;
        }
        break;
    }

    if (frameWidth == -1)                                // invalid style
        frameWidth = 0;

    q->setFrameRect(fr);
}