wxControl* wx = (wxControl*) GetControlReference( control ) ;
if ( wx )
{
- wx->MacHandleControlClick( control , partCode ) ;
+ wx->MacHandleControlClick( control , partCode , true /* stillDown */ ) ;
}
}
}
{
m_label = wxStripMenuCodes(title) ;
- if ( (ControlHandle) m_macControl )
+ if ( m_macControl )
{
- Str255 maclabel ;
- wxString label ;
-
- if( wxApp::s_macDefaultEncodingIsPC )
- label = wxMacMakeMacStringFromPC( m_label ) ;
- else
- label = m_label ;
-
-#if TARGET_CARBON
- c2pstrcpy( (StringPtr) maclabel , label ) ;
-#else
- strcpy( (char *) maclabel , label ) ;
- c2pstr( (char *) maclabel ) ;
-#endif
- ::SetControlTitle( (ControlHandle) m_macControl , maclabel ) ;
+ UMASetControlTitle( (ControlHandle) m_macControl , m_label ) ;
}
Refresh() ;
}
{
// adding NULL WindowRef is (first) surely a result of an error and
// (secondly) breaks menu command processing
- wxCHECK_RET( inControl != (ControlHandle) NULL, "attempt to add a NULL WindowRef to window list" );
+ wxCHECK_RET( inControl != (ControlHandle) NULL, wxT("attempt to add a NULL WindowRef to window list") );
if ( !wxWinMacControlList->Find((long)inControl) )
wxWinMacControlList->Append((long)inControl, control);
void wxControl::MacPostControlCreate()
{
- wxASSERT_MSG( (ControlHandle) m_macControl != NULL , "No valid mac control" ) ;
+ wxASSERT_MSG( (ControlHandle) m_macControl != NULL , wxT("No valid mac control") ) ;
if ( IsKindOf( CLASSINFO( wxScrollBar ) ) )
{
{
ControlFontStyleRec controlstyle ;
controlstyle.flags = kControlUseFontMask ;
- controlstyle.font = kControlFontSmallSystemFont ;
+
+ if (IsKindOf( CLASSINFO( wxButton ) ) )
+ controlstyle.font = kControlFontSmallSystemFont ; // eventually kControlFontBigSystemFont ;
+ else
+ controlstyle.font = kControlFontSmallSystemFont ;
::SetControlFontStyle( (ControlHandle) m_macControl , &controlstyle ) ;
}
SetSize(pos.x, pos.y, new_size.x, new_size.y);
+#if wxUSE_UNICODE
+ UMASetControlTitle( (ControlHandle) m_macControl , wxStripMenuCodes(m_label) ) ;
+#endif
+
UMAShowControl( (ControlHandle) m_macControl ) ;
SetCursor( *wxSTANDARD_CURSOR ) ;
{
controlpart = ::HandleControlClick( control , localwhere , modifiers , (ControlActionUPP) -1 ) ;
wxTheApp->s_lastMouseDown = 0 ;
- if ( control && controlpart != kControlNoPart &&
- ! IsKindOf( CLASSINFO( wxScrollBar ) )
- ) // otherwise we will get the event twice for scrollbar
+ if ( control && controlpart != kControlNoPart )
{
- MacHandleControlClick( control , controlpart ) ;
+ MacHandleControlClick( control , controlpart , false /* mouse not down anymore */ ) ;
}
}
}
}
}
+ else
+ {
+ event.Skip() ;
+ }
}
bool wxControl::MacCanFocus() const
return false ;
}
-void wxControl::MacHandleControlClick( WXWidget control , wxInt16 controlpart )
+void wxControl::MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool WXUNUSED( mouseStillDown ) )
{
- wxASSERT_MSG( (ControlHandle) m_macControl != NULL , "No valid mac control" ) ;
+ wxASSERT_MSG( (ControlHandle) m_macControl != NULL , wxT("No valid mac control") ) ;
}