summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
cf9b63b)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37460
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
{
if ( insertAll || (tool->GetIndex() != currentPosition) )
{
{
if ( insertAll || (tool->GetIndex() != currentPosition) )
{
// if this is the first tool that gets newly inserted or repositioned
// first remove all 'old' tools from here to the right, because of this
// all following tools will have to be reinserted (insertAll). i = 100 because there's
// no way to determine how many there are in a toolbar, so just a high number :-(
for ( CFIndex i = 100 ; i >= currentPosition ; --i )
{
// if this is the first tool that gets newly inserted or repositioned
// first remove all 'old' tools from here to the right, because of this
// all following tools will have to be reinserted (insertAll). i = 100 because there's
// no way to determine how many there are in a toolbar, so just a high number :-(
for ( CFIndex i = 100 ; i >= currentPosition ; --i )
{
- err = HIToolbarRemoveItemAtIndex( (HIToolbarRef) m_macHIToolbarRef , i ) ;
+ err = HIToolbarRemoveItemAtIndex( (HIToolbarRef) m_macHIToolbarRef, i );
- wxASSERT_MSG( err == noErr, _T("HIToolbarRemoveItemAtIndex failed") );
- insertAll = true ;
- }
- err = HIToolbarInsertItemAtIndex( (HIToolbarRef) m_macHIToolbarRef, hiItemRef , currentPosition ) ;
- wxASSERT_MSG( err == noErr, _T("HIToolbarInsertItemAtIndex failed") );
+ if (err != noErr)
+ {
+ wxString errMsg = wxString::Format( wxT("HIToolbarRemoveItemAtIndex failed [%ld]"), (long)err );
+ wxASSERT_MSG( 0, errMsg.c_str() );
+ }
+ }
- tool->SetIndex( currentPosition ) ;
+ err = HIToolbarInsertItemAtIndex( (HIToolbarRef) m_macHIToolbarRef, hiItemRef, currentPosition );
+ if (err != noErr)
+ {
+ wxString errMsg = wxString::Format( wxT("HIToolbarInsertItemAtIndex failed [%ld]"), (long)err );
+ wxASSERT_MSG( 0, errMsg.c_str() );
+ }
+
+ tool->SetIndex( currentPosition );
-#endif // wxMAC_USE_NATIVE_TOOLBAR
// update radio button (and group) state
lastIsRadio = curIsRadio;
// update radio button (and group) state
lastIsRadio = curIsRadio;
- if ( tool->Toggle(true) )
+ if ( tool->Toggle( true ) )
{
DoToggleTool( tool, true );
setChoiceInGroup = true;
{
DoToggleTool( tool, true );
setChoiceInGroup = true;
if ( (toggleTool == NULL) || !toggleTool->IsButton() || (toggleTool->GetKind() != wxITEM_RADIO) )
break;
if ( (toggleTool == NULL) || !toggleTool->IsButton() || (toggleTool->GetKind() != wxITEM_RADIO) )
break;
- if ( toggleTool->Toggle(false) )
+ if ( toggleTool->Toggle( false ) )
DoToggleTool( toggleTool, false );
nodePrev = nodePrev->GetPrevious();
DoToggleTool( toggleTool, false );
nodePrev = nodePrev->GetPrevious();
#if wxMAC_USE_NATIVE_TOOLBAR
CFIndex removeIndex = tool->GetIndex();
#if wxMAC_USE_NATIVE_TOOLBAR
CFIndex removeIndex = tool->GetIndex();
switch ( tool->GetStyle() )
{
switch ( tool->GetStyle() )
{
#if wxMAC_USE_NATIVE_TOOLBAR
if ( m_macUsesNativeToolbar )
{
#if wxMAC_USE_NATIVE_TOOLBAR
if ( m_macUsesNativeToolbar )
{
- event.Skip(true) ;
- return ;
+ event.Skip(true);
+ return;
int w, h ;
GetSize( &w , &h ) ;
int w, h ;
GetSize( &w , &h ) ;
+ bool drawMetalTheme = MacGetTopLevelWindow()->MacGetMetalAppearance();
+ bool minimumUmaAvailable = (UMAGetSystemVersion() >= 0x1030);
+
#if wxMAC_USE_CORE_GRAPHICS && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3
#if wxMAC_USE_CORE_GRAPHICS && MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_3
- if ( !MacGetTopLevelWindow()->MacGetMetalAppearance() )
+ if ( !drawMetalTheme && minimumUmaAvailable )
- if ( UMAGetSystemVersion() >= 0x1030 )
- {
- HIThemePlacardDrawInfo info ;
- memset( &info, 0, sizeof(info) ) ;
- info.version = 0 ;
- info.state = IsEnabled() ? kThemeStateActive : kThemeStateInactive ;
-
- CGContextRef cgContext = (CGContextRef) MacGetCGContextRef() ;
- HIRect rect = CGRectMake( 0 , 0 , w , h ) ;
- HIThemeDrawPlacard( &rect , & info , cgContext, kHIThemeOrientationNormal) ;
- }
+ HIThemePlacardDrawInfo info;
+ memset( &info, 0, sizeof(info) );
+ info.version = 0;
+ info.state = IsEnabled() ? kThemeStateActive : kThemeStateInactive;
+
+ CGContextRef cgContext = (CGContextRef) MacGetCGContextRef();
+ HIRect rect = CGRectMake( 0, 0, w, h );
+ HIThemeDrawPlacard( &rect, &info, cgContext, kHIThemeOrientationNormal );
- wxMacPortSetter helper(&dc) ;
-
- Rect toolbarrect = { dc.YLOG2DEVMAC(0) , dc.XLOG2DEVMAC(0) ,
- dc.YLOG2DEVMAC(h) , dc.XLOG2DEVMAC(w) } ;
-/*
- if ( toolbarrect.left < 0 )
- toolbarrect.left = 0 ;
- if ( toolbarrect.top < 0 )
- toolbarrect.top = 0 ;
-*/
-
- if ( !MacGetTopLevelWindow()->MacGetMetalAppearance() )
- {
- UMADrawThemePlacard( &toolbarrect , IsEnabled() ? kThemeStateActive : kThemeStateInactive) ;
- }
- else
+
+ const bool drawBorder = true;
+
+ if (drawBorder)
-#if TARGET_API_MAC_OSX
-#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_2
- if ( UMAGetSystemVersion() >= 0x1030 )
+ wxMacPortSetter helper(&dc) ;
+
+ if ( !drawMetalTheme || !minimumUmaAvailable )
+ Rect toolbarrect = { dc.YLOG2DEVMAC(0) , dc.XLOG2DEVMAC(0) ,
+ dc.YLOG2DEVMAC(h) , dc.XLOG2DEVMAC(w) } ;
+
+#if 0
+ if ( toolbarrect.left < 0 )
+ toolbarrect.left = 0 ;
+ if ( toolbarrect.top < 0 )
+ toolbarrect.top = 0 ;
+#endif
+
+ UMADrawThemePlacard( &toolbarrect, IsEnabled() ? kThemeStateActive : kThemeStateInactive );
+ }
+ else
+ {
+#if TARGET_API_MAC_OSX
HIRect hiToolbarrect = CGRectMake(
dc.YLOG2DEVMAC(0) , dc.XLOG2DEVMAC(0) ,
dc.YLOG2DEVREL(h) , dc.XLOG2DEVREL(w) );
CGContextRef cgContext ;
Rect bounds ;
HIRect hiToolbarrect = CGRectMake(
dc.YLOG2DEVMAC(0) , dc.XLOG2DEVMAC(0) ,
dc.YLOG2DEVREL(h) , dc.XLOG2DEVREL(w) );
CGContextRef cgContext ;
Rect bounds ;
GetPortBounds( (CGrafPtr) dc.m_macPort , &bounds ) ;
QDBeginCGContext( (CGrafPtr) dc.m_macPort , &cgContext ) ;
GetPortBounds( (CGrafPtr) dc.m_macPort , &bounds ) ;
QDBeginCGContext( (CGrafPtr) dc.m_macPort , &cgContext ) ;
CGContextTranslateCTM( cgContext , 0 , bounds.bottom - bounds.top ) ;
CGContextScaleCTM( cgContext , 1 , -1 ) ;
CGContextTranslateCTM( cgContext , 0 , bounds.bottom - bounds.top ) ;
CGContextScaleCTM( cgContext , 1 , -1 ) ;
- {
- HIThemeBackgroundDrawInfo drawInfo ;
- drawInfo.version = 0 ;
- drawInfo.state = kThemeStateActive ;
- drawInfo.kind = kThemeBackgroundMetal ;
- HIThemeApplyBackground( &hiToolbarrect, &drawInfo , cgContext, kHIThemeOrientationNormal) ;
- }
+ HIThemeBackgroundDrawInfo drawInfo ;
+ drawInfo.version = 0 ;
+ drawInfo.state = kThemeStateActive ;
+ drawInfo.kind = kThemeBackgroundMetal ;
+ HIThemeApplyBackground( &hiToolbarrect, &drawInfo, cgContext, kHIThemeOrientationNormal );
QDEndCGContext( (CGrafPtr) dc.m_macPort , &cgContext ) ;
QDEndCGContext( (CGrafPtr) dc.m_macPort , &cgContext ) ;
- {
- UMADrawThemePlacard( &toolbarrect , IsEnabled() ? kThemeStateActive : kThemeStateInactive) ;
}
#endif // wxUSE_TOOLBAR
}
#endif // wxUSE_TOOLBAR