Sample codes of AppleEvent

using appleEvent!


STEP1: OpenDocument

 OpenDocumentのサンプルです。すでに立ち上がっているYooEditにDocumentを 読み込ませます。

"openDocument!"

| aFile aSignature application |"choose file"aFile := FileSpecifier getFile. aSignature := 'YoED'."define application from signature"application := AEDescriptor newFrom:aSignature type:'sign'."create AppleEventObject"theEvent := AppleEvent newClass: 'aevt' selector: 'odoc' target: application returnID: nil transactionID: nil. theEvent atParameter: '----' putData: aFile asFSSpec type: 'fss '."send!"theEvent sendMode: 1 priority: nil timeout: nil. 

STEP2: OpenApplication by Finder

 AppleEventを用いてYooEditを起動するサンプルです。

"openDocument with YoEdit"

| aSignature application finder |"signature of YooEdit"aSignature := 'YoED'."find YooEdit Application in SyastemVolume"application := (DTPB fromVolume: (VolumeSpecifier systemVolume)) getApplication: aSignature."define Mac Finder"finder := AEDescriptor newFrom:'MACS' type:'sign'."AppleEvent instance for open Application"theEvent := AppleEvent newClass: 'aevt' selector: 'odoc' target: finder returnID: nil transactionID: nil."send appleEvent"theEvent atParameter: '----' putData: application asFSSpec type: 'fss '."wait until starts"theEvent sendMode: 3 priority: nil timeout: nil. 

STEP3: make a Drag&Drop-Launch Application

 AppleEventHandlerを用いてアイコンのDrag&Dropで起動するSTA Applicationをつくること ができます。手順は以下です。説明だけではわかりにくいと思われるので、後日、 sampleを紹介します。

1)AppleEventHandlerのサブクラス作成 2)例えばodoc,quit等の他にselectorを定義する場合は、StartingUp   (ClassMethod)を再定義する。 3)handleAppleEvent: theAppleEventParam reply: replyParamの   Switch文の分岐部分を再定義する。 4)自分のModuleをlaunchするときに作成したAppleEventHandlerの   サブクラスをStartingUpするよう定義する。 5)ResEditで、TypeとCreatorを再定義する。
  
Back to home