06-12-2013, 11:06 AM
ツリーコントロールの外見を下記のように変更したいです。
■デフォルト
□─┐ラベル1
│ ├─ラベル1-1
│ ├─ラベル1-2
│ └─ラベル1-3
├─┐ラベル2
│ ├─ラベル2-2
│ └─ラベル2-3
│
■望む変更
この「+-」の展開・折りたたみボタンを大きくしたい
↓ ↓線を長くし、途中から枝わけしたい
□──┬──ラベル1
│ ├────ラベル1-1
│ ├────ラベル1-2
│ └────ラベル1-3
│ ←ノードの親レベルで間を少し空けたい
├──┬───ラベル2
│ ├────ラベル2-2
│ └────ラベル2-3
│
「スキンが適用されたツリーコントロール」の項目を見て、
関係しそうなプロパティを変更しましたが、
望む外観と派なりませんでした。
あとは、draw メソッドで、うまいこと線を引くスキンを自作してUIで利用する方法が考えられますが、
実装コードがわかりません。
もし、ツリーコントロールをカスタマイズした方がいらっしゃったら教えてください。
■デフォルト
□─┐ラベル1
│ ├─ラベル1-1
│ ├─ラベル1-2
│ └─ラベル1-3
├─┐ラベル2
│ ├─ラベル2-2
│ └─ラベル2-3
│
■望む変更
この「+-」の展開・折りたたみボタンを大きくしたい
↓ ↓線を長くし、途中から枝わけしたい
□──┬──ラベル1
│ ├────ラベル1-1
│ ├────ラベル1-2
│ └────ラベル1-3
│ ←ノードの親レベルで間を少し空けたい
├──┬───ラベル2
│ ├────ラベル2-2
│ └────ラベル2-3
│
「スキンが適用されたツリーコントロール」の項目を見て、
関係しそうなプロパティを変更しましたが、
望む外観と派なりませんでした。
Code:
{def toggle-open-skin =
{ShadedSkinSpec
"white",
"white",
margin-spec = {OffsetSpec 20px}
}
}
{def toggle-closed-skin =
{ShadedSkinSpec
"white",
"white",
margin-spec = {OffsetSpec 20px}
}
}
{def tree-ss =
{StyleSheet
{StyleRule "TreeControl/toggle",
skin = toggle-closed-skin,
checked-skin = toggle-open-skin,
width =5in
}
}
}
{install-style-sheet-on-Graphic
{TreeControl data-model = foods},
tree-ss
}
あとは、draw メソッドで、うまいこと線を引くスキンを自作してUIで利用する方法が考えられますが、
実装コードがわかりません。
もし、ツリーコントロールをカスタマイズした方がいらっしゃったら教えてください。