223 if(
hasFlag( wxCONTROL_CHECKABLE ) )
229 GetEventHandler()->CallAfter(
232 wxCommandEvent evt( wxEVT_BUTTON, GetId() );
233 evt.SetEventObject(
this );
235 GetEventHandler()->ProcessEvent( evt );
242 GetEventHandler()->CallAfter(
245 wxCommandEvent evt( wxEVT_BUTTON, GetId() );
246 evt.SetEventObject(
this );
248 GetEventHandler()->ProcessEvent( evt );
273 wxColor highlightColor = wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHT );
276 wxRect rect( wxPoint( 0, 0 ), GetSize() );
277 wxPaintDC dc(
this );
281 dc.SetPen( wxPen( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) ) );
282 dc.DrawLine( wxPoint( GetSize().x / 2, 0 ), wxPoint( GetSize().x / 2, GetSize().y ) );
287 if( !
hasFlag( wxCONTROL_DISABLED ) )
289 if(
hasFlag( wxCONTROL_PRESSED ) )
291 dc.SetPen( wxPen( highlightColor ) );
292 dc.SetBrush( wxBrush( highlightColor.ChangeLightness( darkMode ? 20 : 150 ) ) );
293 dc.DrawRectangle( rect );
295 else if(
hasFlag( wxCONTROL_CURRENT | wxCONTROL_FOCUSED ) )
297 dc.SetPen( wxPen( highlightColor ) );
298 dc.SetBrush( wxBrush( highlightColor.ChangeLightness( darkMode ? 40 : 170 ) ) );
301 if(
hasFlag( wxCONTROL_CHECKED ) )
302 dc.SetBrush( wxBrush( highlightColor.ChangeLightness( darkMode ? 50 : 180 ) ) );
304 dc.DrawRectangle( rect );
306 else if(
hasFlag( wxCONTROL_CHECKED ) )
308 dc.SetPen( wxPen( highlightColor ) );
309 dc.SetBrush( wxBrush( highlightColor.ChangeLightness( darkMode ? 40 : 170 ) ) );
310 dc.DrawRectangle( rect );
322 bmpImg = bmp.GetBitmap( ToPhys( FromDIP(
m_dipSize ) ) );
323 bmSize = bmpImg.GetLogicalSize();
328 drawBmpPos.x = ( rect.width - bmSize.x ) / 2;
329 drawBmpPos.y = ( rect.height - bmSize.y ) / 2;
334 dc.DrawBitmap( bmpImg, drawBmpPos,
true );
341 wxSize text_padding( 3, 1 );
346 wxSize box_size = dc.GetTextExtent(
m_badgeText ) + text_padding;
347 wxSize box_offset = box_size;
354 dc.DrawRoundedRectangle( rect.GetRightBottom() - box_offset, box_size, -0.25 );
357 dc.DrawText(
m_badgeText, rect.GetRightBottom() - box_offset + ( text_padding / 2 ) );