プラグインを作る

プラグインの実態

O's Scheduleのプラグインは単なる実行ファイル(拡張子.exe)です。つまり、O's Scheduleから他のソフトを実行しているに過ぎません。ですので、Windows用のソフトウェアを作成できる方なら誰でも作ることができます。言語も特定されません。

プラグインの種類

プラグインは2種類に分類されます。

通常のプラグイン
インポートやエクスポートなど通常のプラグインです。
予定追加プラグインダイアログ
複雑な予定を簡単に入力できるようにするためのダイアログ形式プラグインです。誕生日入力プラグインダイアログや日記入力プラグインダイアログなどがあります。プラグインの実行ファイル名がOsScheduleAddで始まるものを予定追加プラグインダイアログとして判別しますので、OsScheduleAddxxxx.exeといった名前にしてください。
なお、予定追加プラグインダイアログは自動実行は行われません。

プラグインの場所

プラグインはO's Scheduleの実行ファイルがあるフォルダの中のPluginというフォルダに格納して使用します。例えばWindows7(64bit)では下記のフォルダとなります。プラグインフォルダにプラグインの実行ファイルを置けば、自動的にO's Scheduleのメニューに表示され、利用することができるようになります。

C:\Program Files (x86)\OsProject\OsSchedule\Plugin\

プラグインに合わせて用意するファイル

下記ファイルをプラグインと同じフォルダに置くとO's Scheduleから操作がしやすくなります。

ヘルプファイル
プラグインの実行ファイル名の拡張子を.txtに変更したテキストファイルです。プラグインの使い方を書き記してください。O's Scheduleのメニューから実行して参照することができるようになります。
また、ヘルプファイルの先頭行には必ずタイトルをプラグインの記入するようにしてください。ヘルプファイル先頭行のタイトルがO's Scheduleのメニュー項目として表示されます。

【例】 ■ 予定をダウンロード
アイコン画像ファイル
16×16ピクセルのビットマップファイルです(拡張子.bmp)。O's Scheduleのメニューでプラグイン名の前にアイコンとして表示されます。アイコン画像ファイルがない場合はアイコンは表示されません。O's Scheduleに添付してあるデフォルトプラグインのアイコンをコピー&流用しても構いません。

パラメータ

O's Scheduleからプラグインを実行する際、パラメータが付加されることがあります。

/a
O's Scheduleから自動実行される際に付加されるパラメータ。このパラメータがあるときは自動実行と見なしてダイアログなどを表示せずにプラグインツールをオートマティックに実行するようにしてください。
予定追加プラグインダイアログでこのパラメータを指定しても意味がありません。
/s
/a同様自動実行を意味するパラメータですが、サイレントモード(メッセージを表示しない)で実行するようにしてください。O's Scheduleからの実行でこのパラメータが指定されることはありませんが、他のプラグインツールからの実行で指定される可能性があります。
予定追加プラグインダイアログでこのパラメータを指定しても意味がありません。
/c
設定として実行する際に付加されるパラメータ。このパラメータがある時は、設定のためのダイアログを表示するなどしてください。
パラメータ無し
パラメータがない場合は通常の実行です。

各種情報の取得

O's Scheduleの設定ファイルは OsSchedule.ini という名前の定義ファイル(※テキストファイルです)で、Windows7の場合は下記フォルダに保存されています。ただし、ユーザーによってはOSをDドライブにインストールするなど環境が異なる場合がありますので、APIを使用するなどしてフォルダ名を取得することをお薦めします。

C:\Users\ユーザー名\AppData\Roaming\OsProject\OsSchedule\

OsSchedule.iniに定義された項目で主に使用するのは下記のDataPathという項目です。

[Option]
DataPath=C:\Data\OsSchedule\

例えば上記の場合は、O's Scheduleのデータが保存されるフォルダはC:\Data\OsSchedule\であることがわかります。これがO's Scheduleのデータフォルダです。データフォルダの中にスタイルや画像をおさめるフォルダもあります。

予定追加プラグインダイアログのデータ入出力 Add.osd

予定追加プラグインダイアログでは、O's Schedule本体とデータをやりとりする必要があります。その際に使用するのがデータフォルダAdd.osdという名前のテキストファイルです。拡張子が.osdであることからわかるとおり、中身は予定帳ファイルと同じように複数の予定データ(【例】2011/8/7 "何かの予定")で構成されます。ただし、「=?/?/? 予定」といった予定帳プロパティを先頭行に挿入する必要はありません。
まず、予定追加プラグインダイアログを実行する前にO's Schedule本体の日付カーソルの位置の年月日を取得する必要があるかと思います。O's Schedule本体から予定追加プラグインダイアログを実行すると、O's Scheduleはプラグインダイアログの実行直前にAdd.osdに年月日を含むデータ(テキスト)を保存します。例えば下記のようなテキストが一行だけ書き込まれます。

2011/08/07 "予定"

ですので、プラグインダイアログ側でAdd.osdを読み込んで年月日を取得すれば、それはO's Schedule本体の日付カーソルの年月日を初期値として利用することができるわけです。
次にプラグインダイアログで入力し終えたデータをO's Schedule本体に渡す方法ですが、やはりAdd.osdに書き戻すだけでOKです。Add.osdに出力後プラグインダイアログを終了させれば、O's Scheduleが自動的にそのデータを本体に取り込み、予定帳に保存します。Add.osdに書き戻すデータの内容は、予定帳ファイルと同じです。ただし、「=?/?/? 予定」といった予定帳プロパティを先頭行に挿入することはできません。

2011/8/7 "ダイアログで入力した予定"

予定データ(【例】2011/8/7 "何かの予定")を複数行にわたって記入することもできます。

2011/8/7 "ダイアログで入力した予定"
2011/8/8 "ダイアログで入力した二つ目の予定"

&sコマンドで保存する予定帳(ファイル)名を挿入しておけば、入力したデータを保存する予定帳を指定することかできます。

2011/8/7 &s(Aさんの予定.osd) "ダイアログで入力した予定"
2011/8/8 &s(Aさんの予定.osd) "ダイアログで入力した二つ目の予定"

もちろん、通常の予定帳内部のデータと同じように、その他のコマンドも使用できます。例えば誕生日入力プラグインダイアログでは下記のようなデータが書き込まれます。

2011^/08/16~2011^/08/17 &o(* %b2 %z) &q(* %v2) &s(誕生日.osd) "名前"

プラグインの設定ファイル

プラグインの設定内容はOsSchedule.iniと同じフォルダに保存&利用してください。例えばWindows7(64bit版)では下記の場所です。

C:\Users\ユーザー名\AppData\Roaming\OsProject\OsSchedule\

プラグインの設定ファイルは、プラグイン実行ファイルの拡張子を.iniに変えたファイル名で保存してください。例えば日記入力プラグインダイアログの設定ファイル名は下記です。

OsScheduleAddDiary.ini

中身は各プラグインツールで自由に使用してください。例えば日記入力プラグインダイアログの設定ファイルの中身は下記のようになっています。

[Option]
ImeOpen=1
Rank=3
SaveFileName=日記
FontName=メイリオ
FontSize=12

プラグイン終了後にO's Scheduleの表示を更新させる

プラグインで様々なデータ加工を施した後、すぐにO's Scheduleの表示を更新させたい場合があります。その際は、おO's Scheduleホタンの実行ファイルに /R パラメータを付加して実行してください。例えばWindows7(64bit版)では下記のようになります。

C:\Program Files (x86)\OsProject\OsSchedule\OsSchedule.exe /R

ただし、ユーザーがDドライブにインストールするなどした場合、正しく実行されないことも考えられます。パスはOsSchedule.iniのExeNameという項目にあるO's Schedule実行ファイル名から取得してください。

[Option]
ExeName=D:\OsSchedule\OsSchedule.exe

デフォルトプラグインツールを利用する

O's Scheduleにあらかじめ添付してあるデフォルトのプラグインツールに、「テキストファイル書き出し」OsScheduleText.exeというものがあります。このプラグインツールは複数の予定帳ファイルからまとまった予定を抜き出してテキストファイルに保存するものです。プラグインツールからこのプラグインツールOsScheduleText.exeを実行することも可能なので、予定を抜き出して利用したい場合はあらかじめOsScheduleText.exeを実行してください。複数の予定帳ファイルを解析した最新のスケジュール一覧が、データフォルダSchedule.txtに書き出されます。デフォルトプラグインツールの「予定をメール」OsScheduleMail.exeもこのツールを使っています。Schedule.txtの中身は下記のようになっています。書き出す時の期間日数等の設定は「予定の書き出し」の設定でユーザーが自由に行うことができます。

■ 2011年8月4日(木)

合宿(1日目)

■ 2011年8月5日(金)

合宿(2日目)

■ 2011年8月6日(土)

13:00 打ち合わせ


ー 目次に戻る ー


■■■