2009年10月14日水曜日

拡張子グラフ

アプリケーションのopen, saveAsを利用するとファイル形式を自動的に変換できる。このようなファイル変換が右メニューから簡単にできるとよい。具体的な実現については省略するとして、基本的なしくみだけ提案しておく。
連鎖的に変換すれば単一アプリでは不可能な変換も可能になる。そのような連鎖を手動で行うのは非効率だ。多段階の変換も一つのメニューで指定したい。そのためには拡張子の重み付きグラフを用いるとよい。ノードを拡張子、すなわちファイル形式とし、辺を変換に要するスループットとする。
アプリケーションがインストールされると拡張子グラフも更新する。また、アンインストールされると削除する。このグラフで到達可能なら変換可能であり、その最短経路が最良の手段となる。
このようなグラフを実際に作るとハブノードが現れる。これがデータ交換用形式だ。
ファイル形式によってはパラメータが必要な場合がある。例えば、GIFのように特殊効果を持つ画像形式などだ。このような場合はパラメータを入力するダイアログを表示するか、オプションを指定する必要がある。

0 件のコメント: