■■■ tools : 外部拡張用フォルダ ■■■ このフォルダには、外部拡張モジュールが配置されます。 外部拡張モジュールは、ビュー(FolderView)を受け取ります。 モジュールごとの操作をした後に、もしあれば結果のメッセージを返却します。 外部拡張の実装には、Python スクリプト、ショートカット(.lnk)、DLL を利用できます。 1. Python スクリプト 1.1 追加引数 1.2 関数名の省略 2. ショートカット 2.2 特殊引数 3. DLL ■ 1. Python スクリプト Python スクリプトでの拡張は、以下の書式を使います。 # sample.py def name(view): return (message, level) extension モジュールを使って、以下のような形で実行します。 extension.execute(view, 'sample.name()') 拡張関数からの返値は、level が ERROR 未満の場合は ステータスバーに、 ERROR 以上の場合はメッセージボックスに表示されます。 level = 0 の場合は、(mesasge, level) のタプルを返却する代わりに、 message のみを文字列として返却しても構いません。 ◆ 1.1 追加引数 extension.execute() に追加の引数を渡した場合、 extension.execute(view, 'module.function()', *args) 拡張関数にもその引数が引き渡されます。 # module.py def function(view, *args): ... ◆ 1.2 関数名の省略 extension.execute() で関数名を省略した場合には、'execute' を使います。 以下の2つの指定方法は等価です。 extension.execute(view, 'module', *args) extension.execute(view, 'module.execute()', *args) ■ 2. ショートカット ショートカット拡張では、登録された実行可能ファイルへの引数として、 選択中のファイルすべてが渡されます。 表示 : shortcut ファイル名 : shortcut.lnk extension モジュールを使って、以下のような形で実行します。 extension.execute(view, 'shortcut') 作業フォルダとして、起動したフォルダがつかわれます。 ◆ 2.2 特殊引数 ショートカットファイルの「リンク先」の中に以下の特殊引数を含む場合、 引数の受け渡しを詳細に制御することができます。 起動したフォルダのパスに置換されます。 複数のファイルを選択していても、実行は1回だけです。 選択中のファイルのパスをスペース区切りで連結した文字列に置換されます。 複数のファイルを選択していても、実行は1回だけです。 選択ファイルが無い場合、実行されません。 選択中のファイルのパスそれぞれの文字列に置換されます。 選択したファイルそれぞれについて、1回ずつ実行されます。 選択ファイルが無い場合、実行されません。 (なし) デフォルトの動作です。特殊引数を省略した場合は、%all% を指定したのと等価です。 ただし、選択ファイルが無い場合でも実行されます。 , は組み合わせて使えません。 とは組み合わせられます。 ■ 3. DLL (未実装)