プラグインを作る(8)

プラグインがユーザーからの入力を受け取る方法を決めました.

  1. プラグインがBasePluginクラスのopen_dialogメソッドを呼ぶと, ninix-aya本体側でプラグイン用のダイアログを作成して開きます.(open_dialogは表示するメッセージを引数として取ります.)
  2. open_dialogの戻り値がユーザーが入力した値になります.(open_dialogは入力を待つ間ブロックします. ダイアログが出ている間もninix-aya本体は普通に動きます.)

具体的にはデータの保存/読み出しと同じmultiprocessing.JoinableQueueもしくはPipe()を使います.

このやり方が「プラグインを作る側」の労力が少なくなるので良いでしょう.(プラグインを作る人がGTK+の詳細について知らなくても出来ますし, ninix-aya本体側の実装を変更してもメソッドの使い方さえ変えなければプラグインは影響を受けないので.)

プラグイン用のダイアログをモーダルにするかどうかは要検討ですね. 他にもダイアログのデザインはどうするかとか細かい事は色々ありますが, とにかく作ってしまいましょう.

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です