Smalltalk(Squeak/VisualWorks/etc.)総合スレ
■ このスレッドは過去ログ倉庫に格納されています
0573570
NGNGUI Painterを使って作っています。やりたいことは、マウスポインタの
座標値をViewにリアルタイムに表示することです。
MVC的に、Modelに座標値を持たせてViewに見に行かせるのが
筋なのかもしれませんが、ViewとControllerで閉じている話なので
以下のようにControllerからViewに直接書かせてみたんです。
すると座標値が上書きされてしまうようになってしまいました。
そこでこのような状況でViewを更新するための定石があれば、と
質問した次第です。
XXController>>mouseMovedEvent: event
super mouseMovedEvent: event.
self view displayCursorPosition: self sensor cursorPoint.
XXView>>displayCursorPosition: aPoint
| oldColor corner textLoc posText |
posText := aPoint x printString, ',', aPoint y printString.
corner := self bounds corner.
textLoc := (corner x - 160) asInteger @ (corner y - 20) asInteger.
oldColor := self graphicsContext paint.
self graphicsContext paint: ColorValue black.
self graphicsContext displayString: posText at: textLoc.
self graphicsContext paint: oldColor.
■ このスレッドは過去ログ倉庫に格納されています