deTABified
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -556,15 +556,15 @@ void wxToolBar::Init()
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
#define kControlToolbarItemClassID CFSTR( "org.wxwidgets.controltoolbaritem" )
|
#define kControlToolbarItemClassID CFSTR( "org.wxwidgets.controltoolbaritem" )
|
||||||
|
|
||||||
const EventTypeSpec kEvents[] =
|
const EventTypeSpec kEvents[] =
|
||||||
{
|
{
|
||||||
{ kEventClassHIObject, kEventHIObjectConstruct },
|
{ kEventClassHIObject, kEventHIObjectConstruct },
|
||||||
{ kEventClassHIObject, kEventHIObjectInitialize },
|
{ kEventClassHIObject, kEventHIObjectInitialize },
|
||||||
{ kEventClassHIObject, kEventHIObjectDestruct },
|
{ kEventClassHIObject, kEventHIObjectDestruct },
|
||||||
|
|
||||||
{ kEventClassToolbarItem, kEventToolbarItemCreateCustomView }
|
{ kEventClassToolbarItem, kEventToolbarItemCreateCustomView }
|
||||||
};
|
};
|
||||||
|
|
||||||
const EventTypeSpec kViewEvents[] =
|
const EventTypeSpec kViewEvents[] =
|
||||||
@@ -581,35 +581,35 @@ struct ControlToolbarItem
|
|||||||
|
|
||||||
static pascal OSStatus ControlToolbarItemHandler( EventHandlerCallRef inCallRef, EventRef inEvent, void* inUserData )
|
static pascal OSStatus ControlToolbarItemHandler( EventHandlerCallRef inCallRef, EventRef inEvent, void* inUserData )
|
||||||
{
|
{
|
||||||
OSStatus result = eventNotHandledErr;
|
OSStatus result = eventNotHandledErr;
|
||||||
ControlToolbarItem* object = (ControlToolbarItem*)inUserData;
|
ControlToolbarItem* object = (ControlToolbarItem*)inUserData;
|
||||||
|
|
||||||
switch ( GetEventClass( inEvent ) )
|
switch ( GetEventClass( inEvent ) )
|
||||||
{
|
{
|
||||||
case kEventClassHIObject:
|
case kEventClassHIObject:
|
||||||
switch ( GetEventKind( inEvent ) )
|
switch ( GetEventKind( inEvent ) )
|
||||||
{
|
{
|
||||||
case kEventHIObjectConstruct:
|
case kEventHIObjectConstruct:
|
||||||
{
|
{
|
||||||
HIObjectRef toolbarItem;
|
HIObjectRef toolbarItem;
|
||||||
ControlToolbarItem* item;
|
ControlToolbarItem* item;
|
||||||
|
|
||||||
GetEventParameter( inEvent, kEventParamHIObjectInstance, typeHIObjectRef, NULL,
|
GetEventParameter( inEvent, kEventParamHIObjectInstance, typeHIObjectRef, NULL,
|
||||||
sizeof( HIObjectRef ), NULL, &toolbarItem );
|
sizeof( HIObjectRef ), NULL, &toolbarItem );
|
||||||
|
|
||||||
item = (ControlToolbarItem*) malloc(sizeof(ControlToolbarItem)) ;
|
item = (ControlToolbarItem*) malloc(sizeof(ControlToolbarItem)) ;
|
||||||
item->toolbarItem = toolbarItem ;
|
item->toolbarItem = toolbarItem ;
|
||||||
item->viewRef = NULL ;
|
item->viewRef = NULL ;
|
||||||
|
|
||||||
SetEventParameter( inEvent, kEventParamHIObjectInstance, typeVoidPtr, sizeof( void * ), &item );
|
SetEventParameter( inEvent, kEventParamHIObjectInstance, typeVoidPtr, sizeof( void * ), &item );
|
||||||
|
|
||||||
result = noErr ;
|
result = noErr ;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kEventHIObjectInitialize:
|
case kEventHIObjectInitialize:
|
||||||
result = CallNextEventHandler( inCallRef, inEvent );
|
result = CallNextEventHandler( inCallRef, inEvent );
|
||||||
if ( result == noErr )
|
if ( result == noErr )
|
||||||
{
|
{
|
||||||
CFDataRef data;
|
CFDataRef data;
|
||||||
GetEventParameter( inEvent, kEventParamToolbarItemConfigData, typeCFTypeRef, NULL,
|
GetEventParameter( inEvent, kEventParamToolbarItemConfigData, typeCFTypeRef, NULL,
|
||||||
@@ -622,22 +622,22 @@ static pascal OSStatus ControlToolbarItemHandler( EventHandlerCallRef inCallRef,
|
|||||||
|
|
||||||
object->viewRef = (HIViewRef) viewRef ;
|
object->viewRef = (HIViewRef) viewRef ;
|
||||||
|
|
||||||
result = noErr ;
|
result = noErr ;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kEventHIObjectDestruct:
|
case kEventHIObjectDestruct:
|
||||||
free( object ) ;
|
free( object ) ;
|
||||||
result = noErr;
|
result = noErr;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kEventClassToolbarItem:
|
case kEventClassToolbarItem:
|
||||||
switch ( GetEventKind( inEvent ) )
|
switch ( GetEventKind( inEvent ) )
|
||||||
{
|
{
|
||||||
case kEventToolbarItemCreateCustomView:
|
case kEventToolbarItemCreateCustomView:
|
||||||
{
|
{
|
||||||
HIViewRef viewRef = object->viewRef ;
|
HIViewRef viewRef = object->viewRef ;
|
||||||
|
|
||||||
HIViewRemoveFromSuperview( viewRef ) ;
|
HIViewRemoveFromSuperview( viewRef ) ;
|
||||||
@@ -646,16 +646,16 @@ static pascal OSStatus ControlToolbarItemHandler( EventHandlerCallRef inCallRef,
|
|||||||
GetEventTypeCount( kViewEvents ), kViewEvents, object, NULL );
|
GetEventTypeCount( kViewEvents ), kViewEvents, object, NULL );
|
||||||
|
|
||||||
result = SetEventParameter( inEvent, kEventParamControlRef, typeControlRef, sizeof( HIViewRef ), &viewRef );
|
result = SetEventParameter( inEvent, kEventParamControlRef, typeControlRef, sizeof( HIViewRef ), &viewRef );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kEventClassControl:
|
case kEventClassControl:
|
||||||
switch ( GetEventKind( inEvent ) )
|
switch ( GetEventKind( inEvent ) )
|
||||||
{
|
{
|
||||||
case kEventControlGetSizeConstraints:
|
case kEventControlGetSizeConstraints:
|
||||||
{
|
{
|
||||||
wxWindow* wxwindow = wxFindControlFromMacControl(object->viewRef ) ;
|
wxWindow* wxwindow = wxFindControlFromMacControl(object->viewRef ) ;
|
||||||
if ( wxwindow )
|
if ( wxwindow )
|
||||||
{
|
{
|
||||||
@@ -681,100 +681,100 @@ static pascal OSStatus ControlToolbarItemHandler( EventHandlerCallRef inCallRef,
|
|||||||
sizeof( HISize ), &max );
|
sizeof( HISize ), &max );
|
||||||
result = noErr ;
|
result = noErr ;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
void RegisterControlToolbarItemClass()
|
void RegisterControlToolbarItemClass()
|
||||||
{
|
{
|
||||||
static bool sRegistered;
|
static bool sRegistered;
|
||||||
|
|
||||||
if ( !sRegistered )
|
if ( !sRegistered )
|
||||||
{
|
{
|
||||||
HIObjectRegisterSubclass( kControlToolbarItemClassID, kHIToolbarItemClassID, 0,
|
HIObjectRegisterSubclass( kControlToolbarItemClassID, kHIToolbarItemClassID, 0,
|
||||||
ControlToolbarItemHandler, GetEventTypeCount( kEvents ), kEvents, 0, NULL );
|
ControlToolbarItemHandler, GetEventTypeCount( kEvents ), kEvents, 0, NULL );
|
||||||
|
|
||||||
sRegistered = true;
|
sRegistered = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
HIToolbarItemRef CreateControlToolbarItem(CFStringRef inIdentifier, CFTypeRef inConfigData)
|
HIToolbarItemRef CreateControlToolbarItem(CFStringRef inIdentifier, CFTypeRef inConfigData)
|
||||||
{
|
{
|
||||||
RegisterControlToolbarItemClass();
|
RegisterControlToolbarItemClass();
|
||||||
|
|
||||||
OSStatus err;
|
OSStatus err;
|
||||||
EventRef event;
|
EventRef event;
|
||||||
UInt32 options = kHIToolbarItemAllowDuplicates;
|
UInt32 options = kHIToolbarItemAllowDuplicates;
|
||||||
HIToolbarItemRef result = NULL;
|
HIToolbarItemRef result = NULL;
|
||||||
|
|
||||||
err = CreateEvent( NULL, kEventClassHIObject, kEventHIObjectInitialize, GetCurrentEventTime(), 0, &event );
|
err = CreateEvent( NULL, kEventClassHIObject, kEventHIObjectInitialize, GetCurrentEventTime(), 0, &event );
|
||||||
require_noerr( err, CantCreateEvent );
|
require_noerr( err, CantCreateEvent );
|
||||||
|
|
||||||
SetEventParameter( event, kEventParamAttributes, typeUInt32, sizeof( UInt32 ), &options );
|
SetEventParameter( event, kEventParamAttributes, typeUInt32, sizeof( UInt32 ), &options );
|
||||||
SetEventParameter( event, kEventParamToolbarItemIdentifier, typeCFStringRef, sizeof( CFStringRef ), &inIdentifier );
|
SetEventParameter( event, kEventParamToolbarItemIdentifier, typeCFStringRef, sizeof( CFStringRef ), &inIdentifier );
|
||||||
|
|
||||||
if ( inConfigData )
|
if ( inConfigData )
|
||||||
SetEventParameter( event, kEventParamToolbarItemConfigData, typeCFTypeRef, sizeof( CFTypeRef ), &inConfigData );
|
SetEventParameter( event, kEventParamToolbarItemConfigData, typeCFTypeRef, sizeof( CFTypeRef ), &inConfigData );
|
||||||
|
|
||||||
err = HIObjectCreate( kControlToolbarItemClassID, event, (HIObjectRef*)&result );
|
err = HIObjectCreate( kControlToolbarItemClassID, event, (HIObjectRef*)&result );
|
||||||
check_noerr( err );
|
check_noerr( err );
|
||||||
|
|
||||||
ReleaseEvent( event );
|
ReleaseEvent( event );
|
||||||
CantCreateEvent :
|
CantCreateEvent :
|
||||||
return result ;
|
return result ;
|
||||||
}
|
}
|
||||||
|
|
||||||
static const EventTypeSpec kToolbarEvents[] =
|
static const EventTypeSpec kToolbarEvents[] =
|
||||||
{
|
{
|
||||||
{ kEventClassToolbar, kEventToolbarGetDefaultIdentifiers },
|
{ kEventClassToolbar, kEventToolbarGetDefaultIdentifiers },
|
||||||
{ kEventClassToolbar, kEventToolbarGetAllowedIdentifiers },
|
{ kEventClassToolbar, kEventToolbarGetAllowedIdentifiers },
|
||||||
{ kEventClassToolbar, kEventToolbarCreateItemWithIdentifier },
|
{ kEventClassToolbar, kEventToolbarCreateItemWithIdentifier },
|
||||||
};
|
};
|
||||||
|
|
||||||
static OSStatus ToolbarDelegateHandler( EventHandlerCallRef inCallRef, EventRef inEvent, void* inUserData )
|
static OSStatus ToolbarDelegateHandler( EventHandlerCallRef inCallRef, EventRef inEvent, void* inUserData )
|
||||||
{
|
{
|
||||||
OSStatus result = eventNotHandledErr;
|
OSStatus result = eventNotHandledErr;
|
||||||
// Not yet needed
|
// Not yet needed
|
||||||
// wxToolBar* toolbar = (wxToolBar*) inUserData ;
|
// wxToolBar* toolbar = (wxToolBar*) inUserData ;
|
||||||
CFMutableArrayRef array;
|
CFMutableArrayRef array;
|
||||||
|
|
||||||
switch ( GetEventKind( inEvent ) )
|
switch ( GetEventKind( inEvent ) )
|
||||||
{
|
{
|
||||||
case kEventToolbarGetDefaultIdentifiers:
|
case kEventToolbarGetDefaultIdentifiers:
|
||||||
{
|
{
|
||||||
GetEventParameter( inEvent, kEventParamMutableArray, typeCFMutableArrayRef, NULL,
|
GetEventParameter( inEvent, kEventParamMutableArray, typeCFMutableArrayRef, NULL,
|
||||||
sizeof( CFMutableArrayRef ), NULL, &array );
|
sizeof( CFMutableArrayRef ), NULL, &array );
|
||||||
// not implemented yet
|
// not implemented yet
|
||||||
// GetToolbarDefaultItems( array );
|
// GetToolbarDefaultItems( array );
|
||||||
result = noErr;
|
result = noErr;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kEventToolbarGetAllowedIdentifiers:
|
case kEventToolbarGetAllowedIdentifiers:
|
||||||
{
|
{
|
||||||
GetEventParameter( inEvent, kEventParamMutableArray, typeCFMutableArrayRef, NULL,
|
GetEventParameter( inEvent, kEventParamMutableArray, typeCFMutableArrayRef, NULL,
|
||||||
sizeof( CFMutableArrayRef ), NULL, &array );
|
sizeof( CFMutableArrayRef ), NULL, &array );
|
||||||
// not implemented yet
|
// not implemented yet
|
||||||
// GetToolbarAllowedItems( array );
|
// GetToolbarAllowedItems( array );
|
||||||
result = noErr;
|
result = noErr;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case kEventToolbarCreateItemWithIdentifier:
|
case kEventToolbarCreateItemWithIdentifier:
|
||||||
{
|
{
|
||||||
HIToolbarItemRef item = NULL;
|
HIToolbarItemRef item = NULL;
|
||||||
CFTypeRef data = NULL;
|
CFTypeRef data = NULL;
|
||||||
CFStringRef identifier = NULL ;
|
CFStringRef identifier = NULL ;
|
||||||
|
|
||||||
GetEventParameter( inEvent, kEventParamToolbarItemIdentifier, typeCFStringRef, NULL,
|
GetEventParameter( inEvent, kEventParamToolbarItemIdentifier, typeCFStringRef, NULL,
|
||||||
sizeof( CFStringRef ), NULL, &identifier );
|
sizeof( CFStringRef ), NULL, &identifier );
|
||||||
|
|
||||||
GetEventParameter( inEvent, kEventParamToolbarItemConfigData, typeCFTypeRef, NULL,
|
GetEventParameter( inEvent, kEventParamToolbarItemConfigData, typeCFTypeRef, NULL,
|
||||||
sizeof( CFTypeRef ), NULL, &data );
|
sizeof( CFTypeRef ), NULL, &data );
|
||||||
|
|
||||||
if ( CFStringCompare( kControlToolbarItemClassID, identifier, kCFCompareBackwards ) == kCFCompareEqualTo )
|
if ( CFStringCompare( kControlToolbarItemClassID, identifier, kCFCompareBackwards ) == kCFCompareEqualTo )
|
||||||
{
|
{
|
||||||
@@ -785,10 +785,10 @@ static OSStatus ToolbarDelegateHandler( EventHandlerCallRef inCallRef, EventRef
|
|||||||
sizeof( HIToolbarItemRef ), &item );
|
sizeof( HIToolbarItemRef ), &item );
|
||||||
result = noErr;
|
result = noErr;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
return result ;
|
return result ;
|
||||||
}
|
}
|
||||||
@@ -817,8 +817,8 @@ bool wxToolBar::Create(
|
|||||||
|
|
||||||
if (m_macHIToolbarRef != NULL)
|
if (m_macHIToolbarRef != NULL)
|
||||||
{
|
{
|
||||||
InstallEventHandler( HIObjectGetEventTarget((HIToolbarRef)m_macHIToolbarRef ), ToolbarDelegateHandler,
|
InstallEventHandler( HIObjectGetEventTarget((HIToolbarRef)m_macHIToolbarRef ), ToolbarDelegateHandler,
|
||||||
GetEventTypeCount( kToolbarEvents ), kToolbarEvents, this, NULL );
|
GetEventTypeCount( kToolbarEvents ), kToolbarEvents, this, NULL );
|
||||||
|
|
||||||
HIToolbarDisplayMode mode = kHIToolbarDisplayModeDefault;
|
HIToolbarDisplayMode mode = kHIToolbarDisplayModeDefault;
|
||||||
HIToolbarDisplaySize displaySize = kHIToolbarDisplaySizeSmall;
|
HIToolbarDisplaySize displaySize = kHIToolbarDisplaySizeSmall;
|
||||||
@@ -1453,7 +1453,7 @@ bool wxToolBar::DoInsertTool(size_t WXUNUSED(pos), wxToolBarToolBase *toolBase)
|
|||||||
|
|
||||||
#if wxMAC_USE_NATIVE_TOOLBAR
|
#if wxMAC_USE_NATIVE_TOOLBAR
|
||||||
{
|
{
|
||||||
wxASSERT( tool->GetControl() != NULL );
|
wxASSERT( tool->GetControl() != NULL );
|
||||||
HIToolbarItemRef item;
|
HIToolbarItemRef item;
|
||||||
HIViewRef viewRef = (HIViewRef) tool->GetControl()->GetHandle() ;
|
HIViewRef viewRef = (HIViewRef) tool->GetControl()->GetHandle() ;
|
||||||
// as this control now is part of both the wxToolBar children and the native toolbar, we have to increase the
|
// as this control now is part of both the wxToolBar children and the native toolbar, we have to increase the
|
||||||
|
Reference in New Issue
Block a user