The Artima Developer Community
Sponsored Link

Agile Buzz Forum
VW Tools

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
James Robertson

Posts: 29924
Nickname: jarober61
Registered: Jun, 2003

David Buck, Smalltalker at large
VW Tools Posted: May 5, 2004 6:14 AM
Reply to this message Reply

This post originated from an RSS feed registered with Agile Buzz by James Robertson.
Original Post: VW Tools
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
Latest Agile Buzz Posts
Latest Agile Buzz Posts by James Robertson
Latest Posts From Cincom Smalltalk Blog - Smalltalk with Rants

Advertisement

Vassili Bykov discusses the VW tools. Vassili: "My hair isn't blond, it's gray. It was black when I started working on VW Tools". Vassili points to the badges, where the names are like this:

James


Robertson
Cincom

Given the font usage, it looks like I work for "Robertson Cincom". Point is, presentation matters. So if the presentation is confusing, the user won't be able to figure out how to use it.

Trippy
A demo - a couple of inspectors. Showing multiple select, and that you can do "accept" of values across all selections. Yes, there's an undo. You can drag/drop between inspectors, and within an inspector (re-ordering an array, for instance). The evaluation pane adds a workspace in the tool. There's also navigation (dive down, etc). Here's a screen shot:

Next - pragmas
Started to appear for dynamic menu additions in VW3. Why was this required? Well, say we add in a tool (3rd party) that needs to add a menu item. Now posit a second tool that wants to add another new menu item? The last one to modify the menu wins. Pragmas solve this by allowing the menu to be defined in chunks. More uses of pragmas:

methodWithPragmas
	

	^3   4.

Look at the byte code: No byte code for the pragma? Look in attributes under attributes - annotated Method. Here's a screenshot:

Add a class method like this to get rid of the warning:

pragmaDeclaration
	

	^#(example:difficulty:)

You can write "script" to collect up methods with pragmas and figure out where they are. Then you can script this in the inspector - as Vassili just said: "Try that in Eclipse". So back to menus - the system just collects up pragmas of a given sort (i.e., referring to a selector) and builds the menu. It turns out that Vassili has been using pragmas to extend various tools - like the new "dock" at the bottom of the VisualLauncher - see class VisualLauncherToolDock.

What about the matcher in the Store tools and the class finder tools? Have a look at class CompletionDriver. It's easy enough to "plugin" to a UI:

postBuildWith: bldr
	completionDriver := CompletionDriver new
		widget: (self widgetAt: #inputField);
		choicesHolder: (self computeCompletions).

Then you have to set up the #computeCompletions method - basically a matter of telling it what you are matching against and how.

Tool Modules
Things like the IncrementalSearchDialog are built up from component modules. The main one is IncrementalSearchModule (a class in VW). The basic comment: "IncrementalSearchModule is a combination of an entry module and a list module. As the user types in an entry field, the module searches for objects matching the input typed by the user and displays the result in the list module. ". As it turns out, you can use this module in applications - it's pluggable. There are a number of utility methods (like #forClassSelector) that make some uses easy, and point out how to build others. The only other thing to do is to create a method for noticing changes in the input field, which in turn queries the module.

Interesting - he's showing a pragma that lists a set of relays - more or less a smart delegation target list. You can use this instead of a hairy #doesNotUnderstand: implementation.

Ahh, the Settings Framework. Made my life easier in [BottomFeeder>http://www.cincomsmalltalk.com/BottomFeeder]. Adding your own settings is pretty easy, and customizing the way it does storage of settings is very easy - it defaults to an XML file, and I have Bf dropping an ini file instead. Cool - if you blow settings code, you get a "Debug" button right in the settings tool.

Read: VW Tools

Topic: Reviews in RSS feeds Previous Topic   Next Topic Topic: Re: I like C# but...

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use