Пример #1
0
wxSize wxBookCtrlBase::CalcSizeFromPage(const wxSize& sizePage) const
{
    // We need to add the size of the controller and the border between if it's
    // shown. Notice that we don't use GetControllerSize() here as it returns
    // the actual size while we want the best size here.
    if ( !m_bookctrl || !m_bookctrl->IsShown() )
        return sizePage;

    const wxSize sizeController = m_bookctrl->GetBestSize();

    wxSize size = sizePage;
    if ( IsVertical() )
    {
        if ( sizeController.x > sizePage.x )
            size.x = sizeController.x;
        size.y += sizeController.y + GetInternalBorder();
    }
    else // left/right aligned
    {
        size.x += sizeController.x + GetInternalBorder();
        if ( sizeController.y > sizePage.y )
            size.y = sizeController.y;
    }

    return size;
}
Пример #2
0
wxSize wxChoicebook::CalcSizeFromPage(const wxSize& sizePage) const
{
    // we need to add the size of the choice control and the border between
    const wxSize sizeChoice = GetControllerSize();

    wxSize size = sizePage;
    if ( IsVertical() )
    {
        size.y += sizeChoice.y + GetInternalBorder();
    }
    else // left/right aligned
    {
        size.x += sizeChoice.x + GetInternalBorder();
    }

    return size;
}
Пример #3
0
wxSize wxBookCtrlBase::CalcSizeFromPage(const wxSize& sizePage) const
{
    // Add the size of the controller and the border between if it's shown.
    if ( !m_bookctrl || !m_bookctrl->IsShown() )
        return sizePage;

    // Notice that the controller size is its current size while we really want
    // to have its best size. So we only take into account its size in the
    // direction in which we should add it but not in the other one, where the
    // controller size is determined by the size of wxBookCtrl itself.
    const wxSize sizeController = GetControllerSize();

    wxSize size = sizePage;
    if ( IsVertical() )
        size.y += sizeController.y + GetInternalBorder();
    else // left/right aligned
        size.x += sizeController.x + GetInternalBorder();

    return size;
}
Пример #4
0
wxSize wxBookCtrlBase::CalcSizeFromPage(const wxSize& sizePage) const
{
    // we need to add the size of the choice control and the border between
    const wxSize sizeController = GetControllerSize();

    wxSize size = sizePage;
    if ( IsVertical() )
    {
        if ( sizeController.x > sizePage.x )
            size.x = sizeController.x;
        size.y += sizeController.y + GetInternalBorder();
    }
    else // left/right aligned
    {
        size.x += sizeController.x + GetInternalBorder();
        if ( sizeController.y > sizePage.y )
            size.y = sizeController.y;
    }

    return size;
}
Пример #5
0
wxRect wxBookCtrlBase::GetPageRect() const
{
    const wxSize size = GetControllerSize();

    wxPoint pt;
    wxRect rectPage(pt, GetClientSize());

    switch ( GetWindowStyle() & wxBK_ALIGN_MASK )
    {
        default:
            wxFAIL_MSG( wxT("unexpected alignment") );
            // fall through

        case wxBK_TOP:
            rectPage.y = size.y + GetInternalBorder();
            // fall through

        case wxBK_BOTTOM:
            rectPage.height -= size.y + GetInternalBorder();
            if (rectPage.height < 0)
                rectPage.height = 0;
            break;

        case wxBK_LEFT:
            rectPage.x = size.x + GetInternalBorder();
            // fall through

        case wxBK_RIGHT:
            rectPage.width -= size.x + GetInternalBorder();
            if (rectPage.width < 0)
                rectPage.width = 0;
            break;
    }

    return rectPage;
}
Пример #6
0
wxSize wxBookCtrlBase::CalcSizeFromPage(const wxSize& sizePage) const
{
    // Add the size of the controller and the border between if it's shown.
    if ( !m_bookctrl || !m_bookctrl->IsShown() )
        return sizePage;

    const wxSize sizeController = GetControllerSize();

    wxSize size = sizePage;
    if ( IsVertical() )
    {
        if ( sizeController.x > sizePage.x )
            size.x = sizeController.x;
        size.y += sizeController.y + GetInternalBorder();
    }
    else // left/right aligned
    {
        size.x += sizeController.x + GetInternalBorder();
        if ( sizeController.y > sizePage.y )
            size.y = sizeController.y;
    }

    return size;
}