This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Look at the cute little mouse tracks
Feed Title: Travis Griggs - Blog
Feed URL: http://www.cincomsmalltalk.com/rssBlog/travis-rss.xml
Feed Description: This TAG Line is Extra
I was shooting for a daily blog about Smalltalk related stuff. I was doing good last week. Weekends don't count. That leaves me in the hole for yesterday. The problem was I didn't have much to blog about until last night and I don't currently have BottomFeeder (used to post blogs) installed on my iMac at home. So this is yesterdays.
And there's not much to report either. As mentioned in previous entry, I had hacked VisualWorks to make it more usable with a single button mouse. I indicated that the approach taken there probably wasn't a good long term solution. If you're getting the feed off of the Open Repository, then you know there was a new version already. Rather than munge InputState, it uses one override to add a hook to SequenceTracker and then add some additional methods. It turns out there's a variety of list like views (TreeView, MultiSelectionTreeView, etc..), and they have a variety of controllers. Thankfully though, they all use the same kind of Tracker. Tracker's like extensions to controllers that deal with keeping track of events while a mouse button is held down. This led to me to ask some questions of Sames--the Pollock architect--in the irc.parcplace.net/#smalltalk channel. I wanted to know what doing this was going to be like under the emerging Pollock framework.
I was encouraged by the new implementations approach to this. Mouse tracking is more integrated with the base control architecture. The widget's Agent (this is the central working guy, I've come to thinking of him as the "pilot"--it doesn't really fit with the artist-pane metaphor, but it's working for me) receives mouseButtonPressedEvent: like messages. These sends replace calls to red/yellowButtonPressedEvent: like sends in the current plan. Rather than fire off a tracker which then handles subsequent methods, that's all hidden now. Some such object does get created, but you shouldn't need to make your own (lets cross our fingers here). It then sends more event: like messages to your agent, things like trackedMouseMovedEvent:. I look forward to taking this new approach for a spin.
OK, so that turned out be a little more than I expected.