2001-10-19 19:41:13 +00:00
|
|
|
#define _ResKnife_Plug_ 0
|
|
|
|
#include "HostCallbacks.h"
|
|
|
|
#include "Application.h"
|
|
|
|
#include "WindowObject.h"
|
|
|
|
#include "EditorWindow.h"
|
|
|
|
#include "PlugObject.h"
|
|
|
|
#include "Errors.h"
|
|
|
|
|
|
|
|
extern globals g;
|
|
|
|
|
|
|
|
/* window management */
|
|
|
|
Plug_WindowRef Host_RegisterWindow( Plug_PlugInRef plug, Plug_ResourceRef resource, WindowRef window )
|
|
|
|
{
|
|
|
|
if( resource )
|
|
|
|
{
|
|
|
|
EditorWindowPtr plugWindow = new EditorWindow( ((ResourceObjectPtr) resource)->File(), (ResourceObjectPtr) resource, window );
|
|
|
|
((PlugObjectPtr) plug)->SetWindowObject( (WindowObjectPtr) plugWindow );
|
|
|
|
((PlugObjectPtr) plug)->SetResourceObject( (ResourceObjectPtr) resource );
|
|
|
|
return (Plug_WindowRef) plugWindow;
|
|
|
|
}
|
|
|
|
/* else
|
|
|
|
{
|
|
|
|
PickerWindowPtr plugWindow = new PickerWindow( window );
|
|
|
|
((PlugObjectPtr) plug)->SetWindowObject( plugWindow );
|
|
|
|
((PlugObjectPtr) plug)->SetResourceObject( (ResourceObjectPtr) resource );
|
|
|
|
return (Plug_WindowRef) plugWindow;
|
|
|
|
}
|
|
|
|
*/ else return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
#if !TARGET_API_MAC_CARBON
|
|
|
|
|
|
|
|
void Host_InstallClassicWindowEventHandler( Plug_WindowRef plugWindow, RoutineDescriptor *handler )
|
|
|
|
{
|
|
|
|
((PlugWindowPtr) plugWindow)->InstallClassicEventHandler( (ClassicEventHandlerProcPtr) handler );
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
WindowRef Host_GetWindowRefFromPlugWindow( Plug_WindowRef plugWindow )
|
|
|
|
{
|
|
|
|
return ((WindowObjectPtr) plugWindow)->Window();
|
|
|
|
}
|
|
|
|
|
|
|
|
Plug_WindowRef Host_GetPlugWindowFromWindowRef( WindowRef window )
|
|
|
|
{
|
|
|
|
return (Plug_WindowRef) GetWindowRefCon(window);
|
|
|
|
}
|
|
|
|
|
|
|
|
Plug_PlugInRef Host_GetPlugRef( WindowRef window )
|
|
|
|
{
|
|
|
|
#pragma unused( window )
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
2002-11-16 23:03:59 +00:00
|
|
|
Plug_ResourceRef Host_GetResource( ResType type, SInt32 resID, Plug_ResourceRef sameFileAsResource )
|
|
|
|
{
|
2002-12-31 19:06:40 +00:00
|
|
|
// FileWindowPtr file;
|
2002-11-16 23:03:59 +00:00
|
|
|
if( sameFileAsResource != NULL )
|
|
|
|
{
|
|
|
|
// file = ((ResourceObjectPtr) sameFileAsResource)->file;
|
|
|
|
short oldResFile = CurResFile();
|
|
|
|
UseResFile( HomeResFile( ((ResourceObjectPtr) sameFileAsResource)->Data() ) );
|
|
|
|
Get1Resource( type, resID ); // bug: handle ignored at present
|
|
|
|
UseResFile( oldResFile );
|
|
|
|
}
|
|
|
|
else GetResource( type, resID ); // bug: handle ignored at present
|
|
|
|
return nil; // bug: handle ignored at present
|
|
|
|
}
|
|
|
|
|
2001-10-19 19:41:13 +00:00
|
|
|
Plug_ResourceRef Host_GetTargetResource( Plug_WindowRef plugWindow )
|
|
|
|
{
|
|
|
|
return (Plug_ResourceRef) ((EditorWindowPtr) plugWindow)->Resource();
|
|
|
|
}
|
|
|
|
|
|
|
|
/* accessors */
|
|
|
|
Handle Host_GetResourceData( Plug_ResourceRef resource )
|
|
|
|
{
|
|
|
|
((ResourceObjectPtr) resource)->Retain();
|
|
|
|
return ((ResourceObjectPtr) resource)->Data();
|
|
|
|
}
|
|
|
|
|
|
|
|
Handle Host_GetPartialResourceData( Plug_ResourceRef resource, UInt32 offset, UInt32 length )
|
|
|
|
{
|
|
|
|
#pragma unused( resource, offset, length )
|
|
|
|
return null;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Host_ReleaseResourceData( Plug_ResourceRef resource )
|
|
|
|
{
|
|
|
|
#pragma unused( resource )
|
|
|
|
// ((ResourceObjectPtr) resource)->Release();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Host_ReleasePartialResourceData( Plug_ResourceRef resource, Handle data )
|
|
|
|
{
|
|
|
|
#pragma unused( resource, data )
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
ResType Host_GetResourceType( Plug_ResourceRef resource )
|
|
|
|
{
|
|
|
|
return ((ResourceObjectPtr) resource)->Type();
|
|
|
|
}
|
|
|
|
|
|
|
|
SInt16 Host_GetResourceID( Plug_ResourceRef resource )
|
|
|
|
{
|
|
|
|
return ((ResourceObjectPtr) resource)->ID();
|
|
|
|
}
|
|
|
|
|
|
|
|
UInt32 Host_GetResourceSize( Plug_ResourceRef resource )
|
|
|
|
{
|
|
|
|
return ((ResourceObjectPtr) resource)->Size();
|
|
|
|
}
|
|
|
|
|
|
|
|
void Host_GetResourceName( Plug_ResourceRef resource, Str255 name )
|
|
|
|
{
|
|
|
|
#pragma unused( resource, name )
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
UInt32 Host_GetWindowRefCon( Plug_WindowRef plugWindow )
|
|
|
|
{
|
|
|
|
return ((PlugWindowPtr) plugWindow)->GetRefCon();
|
|
|
|
}
|
|
|
|
|
|
|
|
void Host_SetWindowRefCon( Plug_WindowRef plugWindow, UInt32 value )
|
|
|
|
{
|
|
|
|
((PlugWindowPtr) plugWindow)->SetRefCon(value);
|
|
|
|
}
|
|
|
|
|
|
|
|
UInt32 Host_GetGlobalRefCon( Plug_PlugInRef plug )
|
|
|
|
{
|
|
|
|
return ((PlugObjectPtr) plug)->GetRefCon();
|
|
|
|
}
|
|
|
|
|
|
|
|
void Host_SetGlobalRefCon( Plug_PlugInRef plug, UInt32 value )
|
|
|
|
{
|
|
|
|
((PlugObjectPtr) plug)->SetRefCon(value);
|
|
|
|
}
|
|
|
|
|
|
|
|
Boolean Host_GetResourceDirty( Plug_ResourceRef resource )
|
|
|
|
{
|
|
|
|
return ((ResourceObjectPtr) resource)->Dirty();
|
|
|
|
}
|
|
|
|
|
|
|
|
void Host_SetResourceDirty( Plug_ResourceRef resource, Boolean dirty )
|
|
|
|
{
|
|
|
|
((ResourceObjectPtr) resource)->SetDirty( dirty );
|
|
|
|
}
|
|
|
|
|
|
|
|
/* utilities */
|
|
|
|
Handle Host_GetDefaultTemplate( ResType type )
|
|
|
|
{
|
|
|
|
short savedResFile = CurResFile();
|
|
|
|
UseResFile( g.appResFile );
|
|
|
|
Str255 name = "\pxxxx";
|
|
|
|
BlockMoveData( &type, name +1, sizeof(ResType) );
|
|
|
|
Handle tmpl = Get1NamedResource( 'TMPL', name );
|
|
|
|
OSStatus error = ResError();
|
|
|
|
UseResFile( savedResFile );
|
|
|
|
if( error ) return null;
|
|
|
|
else return tmpl;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Host_AppendMenuToBar( Plug_PlugInRef plug, SInt16 resID )
|
|
|
|
{
|
|
|
|
#pragma unused( plug, resID )
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Host_RemoveMenuFromBar( Plug_PlugInRef plug, SInt16 resID )
|
|
|
|
{
|
|
|
|
#pragma unused( plug, resID )
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Host_UpdateMenus( Plug_ResourceRef resource )
|
|
|
|
{
|
|
|
|
OSStatus error = noErr;
|
|
|
|
#if TARGET_API_MAC_CARBON
|
|
|
|
error = CarbonEventUpdateMenus( null, null, null );
|
|
|
|
// if( error ) DebugError( "\pHost_UpdateMenus hit an error when calling CarbonEventUpdateMenus()" );
|
|
|
|
error = FileWindowUpdateMenus( null, null, ((ResourceObjectPtr) resource)->File() );
|
|
|
|
// if( error ) DebugError( "\pHost_UpdateMenus hit an error when calling FileWindowUpdateMenus()" );
|
|
|
|
#else
|
|
|
|
UpdateMenus( ((ResourceObjectPtr) resource)->File()->Window() );
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
|
|
|
|
void Host_DisplayError( ConstStr255Param errorStr, ConstStr255Param explanationStr, UInt8 severity )
|
|
|
|
{
|
|
|
|
#pragma unused( severity )
|
|
|
|
DisplayError( errorStr, explanationStr );
|
|
|
|
}
|
|
|
|
|
|
|
|
void Host_DebugError( ConstStr255Param errorStr, OSStatus number )
|
|
|
|
{
|
|
|
|
DebugError( errorStr, number );
|
|
|
|
}
|