Logo Search packages:      
Sourcecode: codeblocks version File versions  Download package

wxRect wxPropertyGrid::GetPropertyRect ( const wxPGProperty p1,
const wxPGProperty p2 
) const

Returns rectangle that fully contains properties between and including p1 and p2.

Definition at line 6869 of file propgrid.cpp.

References GetEditorControl().

{
    wxRect r;

    if ( m_width < 10 || m_height < 10 ||
         !FROM_STATE(m_properties)->GetCount() ||
         p1 == (wxPGProperty*) NULL )
        return wxRect(0,0,0,0);

    int vx,vy;
    GetViewStart(&vx,&vy);
    vy*=wxPG_PIXELS_PER_UNIT;

    //
    // Return rect which encloses the given property range

    int visTop = p1->m_y;
    int visBottom = m_bottomy;
    if ( p2 )
        visBottom = p2->m_y + m_lineHeight;

    // If seleced property is inside the range, we'll extend the range to include
    // control's size.
    wxPGProperty* selected = m_selected;
    if ( selected && selected->m_y >= visTop && selected->m_y < visBottom )
    {
        wxWindow* editor = GetEditorControl();
        if ( editor )
        {
            int visBottom2 = selected->m_y + editor->GetSize().y;
            if ( visBottom2 > visBottom )
                visBottom = visBottom2;
        }
    }

    return wxRect(0,visTop-vy,m_width,visBottom-visTop);
}

Here is the call graph for this function:


Generated by  Doxygen 1.6.0   Back to index