deTABified

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41070 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robin Dunn
2006-09-08 15:15:36 +00:00
parent b4ca59760e
commit 0ac091aecd

View File

@@ -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