219 if(
hasFlag( wxCONTROL_CHECKABLE ) )
225 GetEventHandler()->CallAfter(
228 wxCommandEvent evt( wxEVT_BUTTON, GetId() );
229 evt.SetEventObject(
this );
231 GetEventHandler()->ProcessEvent( evt );
238 GetEventHandler()->CallAfter(
241 wxCommandEvent evt( wxEVT_BUTTON, GetId() );
242 evt.SetEventObject(
this );
244 GetEventHandler()->ProcessEvent( evt );
269 wxColor highlightColor = wxSystemSettings::GetColour( wxSYS_COLOUR_HIGHLIGHT );
272 wxRect rect( wxPoint( 0, 0 ), GetSize() );
273 wxPaintDC dc(
this );
277 dc.SetPen( wxPen( wxSystemSettings::GetColour( wxSYS_COLOUR_GRAYTEXT ) ) );
278 dc.DrawLine( wxPoint( GetSize().x / 2, 0 ), wxPoint( GetSize().x / 2, GetSize().y ) );
283 if( !
hasFlag( wxCONTROL_DISABLED ) )
285 if(
hasFlag( wxCONTROL_PRESSED ) )
287 dc.SetPen( wxPen( highlightColor ) );
288 dc.SetBrush( wxBrush( highlightColor.ChangeLightness( darkMode ? 20 : 150 ) ) );
289 dc.DrawRectangle( rect );
291 else if(
hasFlag( wxCONTROL_CURRENT | wxCONTROL_FOCUSED ) )
293 dc.SetPen( wxPen( highlightColor ) );
294 dc.SetBrush( wxBrush( highlightColor.ChangeLightness( darkMode ? 40 : 170 ) ) );
297 if(
hasFlag( wxCONTROL_CHECKED ) )
298 dc.SetBrush( wxBrush( highlightColor.ChangeLightness( darkMode ? 50 : 180 ) ) );
300 dc.DrawRectangle( rect );
302 else if(
hasFlag( wxCONTROL_CHECKED ) )
304 dc.SetPen( wxPen( highlightColor ) );
305 dc.SetBrush( wxBrush( highlightColor.ChangeLightness( darkMode ? 40 : 170 ) ) );
306 dc.DrawRectangle( rect );
318 bmpImg = bmp.GetBitmap( ToPhys( FromDIP(
m_dipSize ) ) );
319 bmSize = bmpImg.GetLogicalSize();
324 drawBmpPos.x = ( rect.width - bmSize.x ) / 2;
325 drawBmpPos.y = ( rect.height - bmSize.y ) / 2;
330 dc.DrawBitmap( bmpImg, drawBmpPos,
true );
337 wxSize text_padding( 2, 1 );
342 wxSize box_size = dc.GetTextExtent(
m_badgeText ) + text_padding;
343 wxSize box_offset = box_size;
350 dc.DrawRoundedRectangle( rect.GetRightBottom() - box_offset, box_size, -0.25 );
353 dc.DrawText(
m_badgeText, rect.GetRightBottom() - box_offset + ( text_padding / 2 ) );