Revolution Navigator - more than meets the eye...
by Sarah Reichelt
Revolution Navigator from Inspired Logic is a plug-in that greatly simplifies the task of working through complex stacks. It uses a text-based rather than graphical interface and hides great power under a simple exterior.
The easiest way to describe this Revolution plug-in is as a Super Application Browser with most of the Inspector thrown in. At first glance it appears simple and looks as if it offers nothing that you can?t get from the Application Browser, but a few minutes spent reading the online help, and clicking on everything, reveals the power of this tool.

Basically, Navigator shows a list of objects. Depending on your settings and preferences, this can be a list of stacks, cards, groups/backgrounds, or objects. When listing objects, grouped objects are shown indented below the name of their group so you can see at a glance which objects belong to a certain group. You can also ?bookmark? favourite cards, objects, etc., for quick reference back to them at any time. Bookmarked items are always shown in the main list regardless of their type and your current settings.
From the object list, you can click, control/right-click and use the Option/Alt, Command/Control modifier keys on almost every part of the basic interface to achieve different results. Objects containing scripts can be shown in a different color and with different modifier keys, you can click to select the object, edit the script, change it's properties, or perform various Navigator operations.
The interface is highly customizable: the various colors are user-selectable; the lists can be set to show only sub-sets of the full list; and there is a filter field to allow total control over what is displayed. In the screenshot, the purple and red lines at the top are bookmarked objects which have had their colors set. The blue and green lines below show the current stack and card and all the objects on that card. The green ones are the objects with scripts attached. The members of groups are shown indented.
One great strength is that multiple objects can be selected for simultaneous editing EVEN IF THEY ARE DIFFERENT CARDS! For example, if your interface requires a button to be in the same place on every card, you can step through the cards, bookmarking all these buttons. Then use Command/Control-clicking or drag-clicking to select all these buttons in the Navigator list, and Option/Alt-click to bring up the properties menu. Choose "rect", and a dialog will display the current rect of the first selected button. If you click OK, you can set all of the selected buttons to exactly the same rect, even though they are all on different cards.
Some of the less obvious features of Navigator are:
Handler List: Control-Command-click (Control-click) gets you a menu with a list of all handlers in the selected object's script, complete with parameters if any. You can ?put? this list for easy reference, and selecting a handler from the list takes you directly to the start of the handler in the Script Editor. It is also possible to run a handler directly, provided it has no parameters. Simply hold down the option key and select a handler from the list -- if it requires no parameters, it will run immediately; if it has parameters, you will get a dialog allowing you to enter them.
Get Script: This one requires that you keep palettes visible while the Script Editor is open, otherwise the Navigator palette disappears while editing a script. To keep palettes visible, choose Preferences from the Revolution menubar (it's in the Application menu if you are using OS X or the Edit menu for all other systems) and select Script Editor from the list on the left side of the screen. On the bottom third of the right-hand side of the window, there are three checkboxes that appear under the "When editing scripts:" option. Make sure the "Hide Palettes" option is unchecked.
Back in Navigator, select an object and open its script in the Script Editor. With the script open, choose "Get Script" from the Actions menu in the upper left-hand corner of the Navigator window. Navigator automatically adds to the top of the open object list a bookmark that stores the current script. You can then make experimental changes to your script, and if you need to revert to your original version, simply double-click on the bookmark (helpfully indicated with a script symbol) to restore the script as it existed when you selected "Get Script". This can be especially useful if you have a buggy script that won't compile, but you don?t want to lose all your recent changes.
Command: I think this is the most powerful feature of Navigator, and I have to confess that it is not one that I have fully come to grips with yet, but it LOOKS really neat. It seems to have two main parts to it. First, you can use it to assign properties that might not be listed in the properties menu, e.g., a custom property that you need to specify. This is done by typing in something like foreColor=red or myCustomProperty=1234.56 and clicking "Set". As with all Navigator commands, it can be applied to multiple objects at the same time, and multiple properties can also be assigned simultaneously.
Second, you can write your own custom handlers that get run for each of the selected objects. Navigator contains a special set of variables that refer to the selected object, it?s owner, card, stack, etc., that can be used to write scripts.
When you write a script, it is applied to each of the selected objects. A good example of this is making a button, then using the Replicate command to make a series of buttons. The name of these buttons will be "Button 1", "Button 1 1", "Button 1 2", etc., etc. If you select all these buttons, choose Commands... from the Actions menu, type in set the name of tID to ("Click " & tIndex) and click "Do", all the buttons will immediately be renamed to "Click 1", "Click 2", etc., etc. (tID and tIndex are two of the special reference variables that Navigator uses). Commands like this can be saved for later re-use. They then become available from the Command sub-menu at the end of the Actions menu.
The Commands action also contains various forms of dialog but I haven?t explored them enough to have an opinion about their usefulness or usability yet.
So, in a nutshell, here's what don?t I like about Navigator:
I can never remember the various modifiers to use, so I tend to end up editing a script when I mean to change some setting.
I would like to be able to list objects from multiple cards in the same window without having to bookmark them all.
The Show Properties menu item which is supposed to show an Inspector for multiple items, just doesn?t work for me, but maybe this is an OS X thing.
And here's what I do like:
It doesn't take up much space and almost eliminates the need for the larger Application Browser and Inspector windows.
I can customize it to fit with my individual work habits.
It is a very functional tool that will repay the learning curve necessary to explore all it's features.
Navigator is available for download from http://www.inspiredlogic.com/navigator/index.html and is included in the current releases of Revolution (look in the Development menu - Plugins and select revNavigator). If you download it, after the file has uncompressed, it needs to go into the plugins folder in your Revolution application folder. The online documentation is all at the Inspired Logic web site. The registration fee (US$20) can be paid online through Kagi. The current version is 2.0b1 but a beta version (2.5b1) can be downloaded. The current version is compatible with Revolution 1.1.1 and 2.0 while the new beta also works with MetaCard.
Until next time,
Sarah
|