45 const wxPoint& aPos,
const wxSize& aSize,
long aStyle,
46 const wxValidator& aValidator,
const wxString& aName )
48 if( !wxControl::Create( aParent, aId, aPos, aSize, aStyle, aValidator, aName ) )
51 m_sizer =
new wxBoxSizer( wxVERTICAL );
58 m_pane =
new wxPanel(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize,
59 wxTAB_TRAVERSAL | wxNO_BORDER, wxT(
"COLLAPSIBLE_PANE_PANE" ) );
222 const wxPoint& aPos,
const wxSize& aSize,
long aStyle,
223 const wxValidator& aValidator,
const wxString& aName )
225 if( !wxControl::Create( aParent, aId, aPos, aSize, aStyle, aValidator, aName ) )
285 wxPaintDC dc(
this );
286 wxRect rect( wxPoint( 0, 0 ), GetClientSize() );
289 wxBrush brush = dc.GetBrush();
290 brush.SetColour( GetParent()->GetBackgroundColour() );
291 dc.SetBrush( brush );
292 dc.SetPen( *wxTRANSPARENT_PEN );
293 dc.DrawRectangle( rect );
299 dc.SetBrush( wxBrush( wxSystemSettings::GetColour( wxSYS_COLOUR_BTNHIGHLIGHT ) ) );
300 dc.SetPen( *wxTRANSPARENT_PEN );
301 dc.DrawRectangle( rect );
305 int indexAccel = wxControl::FindAccelIndex( GetLabel(), &
text );
307 wxSize textSize = dc.GetTextExtent(
text );
310 wxRect arrowRect( 0, 0, textSize.GetHeight(), textSize.GetHeight() );
311 wxRect textRect( arrowRect.GetTopRight(), textSize );
312 textRect = textRect.CenterIn( rect, wxVERTICAL );
315 bool isActive =
true;
316 wxTopLevelWindow* tlw =
dynamic_cast<wxTopLevelWindow*
>( wxGetTopLevelParent(
this ) );
318 if( tlw && !tlw->IsActive() )
328 clr = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT );
330 clr = wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT );
332 dc.SetTextForeground( clr );
333 dc.DrawLabel(
text, textRect, wxALIGN_CENTER_VERTICAL, indexAccel );
339 flags |= wxCONTROL_CURRENT;
341 int focusSize = GetSystemMetrics( SM_CXFOCUSBORDER );
344 wxRendererNative::Get().DrawFocusRect(
this, dc, textRect.Inflate( focusSize ), flags );
400 wxPoint btmCorner( aRect.GetWidth() / 2, 3 * aRect.GetHeight() / 4 );
403 wxPoint rtCorner( 3 * aRect.GetWidth() / 4, aRect.GetHeight() / 2 );
406 wxPoint otherCorner( 0, 0 );
409 otherCorner = wxPoint( aRect.GetWidth() / 2, aRect.GetHeight() / 4 );
411 otherCorner = wxPoint( aRect.GetWidth() / 4, aRect.GetHeight() / 2 );
418 clr = wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHT );
420 clr = wxSystemSettings::GetColour( wxSYS_COLOUR_WINDOWTEXT );
424 clr = wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT );
427 aDC.SetPen( wxPen( clr ) );
428 aDC.SetBrush( wxBrush( clr ) );
432 points.Append( &btmCorner );
433 points.Append( &rtCorner );
434 points.Append( &otherCorner );
436 aDC.DrawPolygon( &points );
bool Create(wxWindow *aParent, wxWindowID aId, const wxString &aLabel, const wxPoint &aPos=wxDefaultPosition, const wxSize &aSize=wxDefaultSize, long aStyle=wxBORDER_NONE, const wxValidator &aValidator=wxDefaultValidator, const wxString &aName=wxT("COLLAPSIBLE_PANE_HEADER"))