[SML 7192] Re: SystemBrowserの"▲▼"について
NOBUTAKA Terauchi
europa @ ps.inforyoma.or.jp
2006年 9月 26日 (火) 21:02:35 JST
こんばんは、寺内です。
返信が遅くなり、申し訳ありません。
> Refactory.Browser.ProtocolItemNavigatorPart の iconFor: をご
> 覧になってくださいませ。
Refactory.Browser.ProtocolItemNavigatorPart>>iconFor:の中で確認
したい部分を下記に記します。
-----
isOverridden := self isMethodOverridden: aMethodDefinition.
(self isOverridingMethod: aMethodDefinition)
ifTrue:
[^isOverridden
ifTrue: [ListIconLibrary visualFor: #upDownArrow]
ifFalse: [ListIconLibrary visualFor: #upArrow]]
ifFalse: [isOverridden ifTrue: [^ListIconLibrary visualFor: #downArrow]].
isOverridingMethod: は aMethodDefinition がスーパークラスから継承
してきたメソッドをオーバーライドしているか?を判定するメソッド。
isMethodOverridden: は aMethodDefinition がサブクラスでメソッドが
オーバーライドされているか?を判定するメソッド。
上記内容が正しいとするなら、
1. "▲"は、スーパークラスから継承してきたメソッドをオーバーライド
している場合に表示される。
2. "▼"は、サブクラスでメソッドがオーバーライドされている場合に表
示される。
3. "▲▼"は、1,2の両方が当てはまる場合。
-----
という理解で良いのでしょうか?
Refactory.Browser.ProtocolItemNavigatorPart>>iconFor:の一部だけを
参照、メッセージ名を参考にして考えていますので、間違いがあるかも
しれません。
ほかの部分は追いかけきれていません。
もし、間違いがあれば指摘していただきたいと思います。
あと、濱崎さんに指摘されたことですが、確かにSmalltalkイディオムを
全然進めることができていません。
そのため、本に回答が載っていることなども質問してしまったかもしれ
ません。
まずは、Smalltalkイディオムを読み進め、そこで理解できない箇所が
出てくれば投稿したいと思います。
たぶん、すぐに出てくると思いますが。
ありがとうございました。
---
NOBUTAKA Terauchi<europa @ ps.inforyoma.or.jp>
SML メーリングリストの案内