237 if(
hasFlag( wxCONTROL_CHECKABLE ) )
243 GetEventHandler()->CallAfter(
246 wxCommandEvent evt( wxEVT_BUTTON, GetId() );
247 evt.SetEventObject(
this );
249 GetEventHandler()->ProcessEvent( evt );
256 GetEventHandler()->CallAfter(
259 wxCommandEvent evt( wxEVT_BUTTON, GetId() );
260 evt.SetEventObject(
this );
262 GetEventHandler()->ProcessEvent( evt );
294 wxColor highlightColor = wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHT );
297 wxRect rect( wxPoint( 0, 0 ), GetSize() );
298 wxPaintDC dc(
this );
302 dc.SetPen( wxPen( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) ) );
303 dc.DrawLine( wxPoint( GetSize().x / 2, 0 ), wxPoint( GetSize().x / 2, GetSize().y ) );
308 if( !
hasFlag( wxCONTROL_DISABLED ) )
310 if(
hasFlag( wxCONTROL_PRESSED ) )
312 dc.SetPen( wxPen( highlightColor ) );
313 dc.SetBrush( wxBrush( highlightColor.ChangeLightness( darkMode ? 20 : 150 ) ) );
314 dc.DrawRectangle( rect );
316 else if(
hasFlag( wxCONTROL_CURRENT | wxCONTROL_FOCUSED ) )
318 dc.SetPen( wxPen( highlightColor ) );
319 dc.SetBrush( wxBrush( highlightColor.ChangeLightness( darkMode ? 40 : 170 ) ) );
322 if(
hasFlag( wxCONTROL_CHECKED ) )
323 dc.SetBrush( wxBrush( highlightColor.ChangeLightness( darkMode ? 50 : 180 ) ) );
325 dc.DrawRectangle( rect );
327 else if(
hasFlag( wxCONTROL_CHECKED ) )
329 dc.SetPen( wxPen( highlightColor ) );
330 dc.SetBrush( wxBrush( highlightColor.ChangeLightness( darkMode ? 40 : 170 ) ) );
331 dc.DrawRectangle( rect );
344 bmSize = bmpImg.GetLogicalSize();
349 drawBmpPos.x = ( rect.width - bmSize.x ) / 2;
350 drawBmpPos.y = ( rect.height - bmSize.y ) / 2;
355 dc.DrawBitmap( bmpImg, drawBmpPos,
true );
362 wxSize text_padding( 3, 1 );
367 wxSize box_size = dc.GetTextExtent(
m_badgeText ) + text_padding;
368 wxSize box_offset = box_size;
375 dc.DrawRoundedRectangle( rect.GetRightBottom() - box_offset, box_size, -0.25 );
378 dc.DrawText(
m_badgeText, rect.GetRightBottom() - box_offset + ( text_padding / 2 ) );