第 5 章 本手法の手順 15
5.3 新規開発ウインドウの自動レイアウト
出力されたレイアウトルールをもとに,開発者から新規開発するウインドウの 情報を受け取り,ルールと比較した後,自動でレイアウトを行う.
開発者が本システムに入力する情報は以下の2種類である.
• ウィジェット情報のリスト – ウィジェットの型
– 変数名
– ラベル名
• ウインドウのサイズ
ここで入力された情報と,発見されたレイアウトルールを比較し,ルールを適 用できるウィジェットが存在する場合,レイアウトを自動的に調整したウインドウ のソースコードを出力する.
自動レイアウトの例として,レイアウトルールに図5.12,開発者による入力に 図5.13を用い自動レイアウト調整させた図5.14に示す.この例では,“OK”ボタ ンに関する位置ルールと,ラベルウィジェットとテキストフィールドウィジェット の組み合わせルールが発見されたものとしている.
“OK”ボタンは位置ルールに従い,ウインドウ右端および下端からの距離を調 整しレイアウトされている.また,ラベルウィジェットとテキストフィールドウィ ジェットは,ウィジェット間の相対的な位置関係を組み合わせルール(個別説明ラ ベル付きウィジェット)に従い調整しレイアウトされている.
Position Rule { type:button;
text:OK;
alignX:DFR;
distanceX:6;
alignY:DFB;
distanceY:6;
}
Labeled Rule { type:textField;
xType:X2X;
distanceX:78;
yType:M2M;
distanceY:0;
}
図5.12: レイアウトルールの例
label("Name:"), textField(), label("Phone:"), textField(), button("OK"), window(240,120)
図5.13: 開発者による入力の例
ラベルとテキストフィールドを
組み合わせルール(個別説明ラベル付きウィジェット) で指定された距離に従ってレイアウト
ボタンを位置ルールに従ってレイアウト
図5.14: 自動レイアウト調整の例
第 6 章 評価
6.1 手法適用に関する調査
一般的なソフトウェアのうち,メニューから直接開くことのできるウインドウ を調査し,実際に本研究の手法を適用した場合を想定し,ルール発見および自動 レイアウトの可能性を考察した.
調査は以下の3種のアプリケーションソフトウェアに対して行い,レイアウト ルールが発見されるまでに必要な最小のウインドウ数を記録した.ウインドウは,
メニューの左側の項目から順に見ていき,現段階の本研究の手法の性質により,同 じレイアウト情報が2つ登場した段階でルールが発見されたものとする.
(A) 写真管理ツール(Mac OS X用/ファーストパーティ製)
(B) ワードプロセッサ(Mac OS X用/サードパーティ製)
(C) FTPクライアント(クロスプラットフォーム/オープンソース)
また,ルール発見後にそのルール適用対象登場する3つのウインドウに対し,
ルールを適用した場合のレイアウトと,実際にレイアウトされているものを比較 し,一致するかどうかを判定した.なお,判定は以下の3段階で行った.
○ ほぼ一致する
△ 並べ方の基準は正しいが明らかに間隔が異なる
× 別の基準でレイアウトされている
3種のアプリケーションソフトウェアに対する結果を図6.1から図6.3に示す.