Photoshop Extensionの開発20 CEPイベント
Extensionには既存のブラウザー向けのイベントは勿論Adobeのソフトで動く専用のイベントも用意されている。具体的にはドキュメントを閉じたり開けたりした時のイベントだ。Photoshop上でドキュメントが編集された時にイベントを発火させたい時など既存のクロームのイベントだけだと対応できない。但し登録のやり方自体ブラウザ向けのイベントとほとんど変わらない。
csinterfaceのインスタンスにaddEventlisternerを登録。documentAfterActivateはPhotoshop上で何かしらのドキュメントが開かれたりしたアクティブになった時に発火するイベント。コールバックでイベントオブジェクトを返してくれる。具体的なイベントは以下に記載する。
documentAfterActivate
ドキュメントが開かれたりしたアクティブになった時に発火するイベント。ここの表ではPhotoshopでは使えない事になっているが普通に動く。心配だったら後述のdocumentAfterDeactivateを使った方が良い
documentAfterDeactivate
ドキュメントを閉じたりした時に発火するイベントだと思うがdocumentAfterActivateと大差が無いように感じる。フォーカスされているドキュメントが変わった時に発火するからだ。
applicationBeforeQuit
アプリケーションが終了する前に発火するらしい。githubのドキュメントを見る限りほとんどのアプリでサポートしてないように見える。
applicationActivate
アプリケーションが開かれた時に発火
documentAfterSave
ドキュメントが保存された後に発火
documentEdited
ドキュメントが編集された時に発火
com.adobe.csxs.events.AppOffline
アプリケーションがオフラインになった時に発火(メニューから環境設定>プラグイン>エクステンションのインターネット接続を許可をチェック時に発火)
com.adobe.csxs.events.AppOnline
アプリケーションがオンラインになった時に発火(メニューから環境設定>プラグイン>エクステンションのインターネット接続を許可をチェック時に発火)
com.adobe.csxs.events.ThemeColorChanged
テーマカラーが変更された時に発火(メニューから環境設定>インターフェイス>カラーテーマを変更)
これ以外にもPhotoshop専用のCEPイベントがあるが今回はここまで。