Feature Survey for next Navigator
Geoff Canyon
gcanyon at inspiredlogic.com
Sat Nov 27 12:57:10 EST 2004
Navigator 3.0 <http://www.inspiredlogic.com/navigator/> (page not
updated yet) is about ready to go final, so this young man's fancy
turns to features. ;-) Here are a few that I'm thinking of. Feel free
to comment on how useful they would be, or add your own.
-- Custom properties in a list
With 3.0, I added the ability to show an object's (or a group of
objects') standard properties in a list. It would be good to be able to
display custom properties in a list like that as well, with the ability
to switch between custom property sets, or to display them all at once.
-- Standard properties in an organized list
Currently the standard properties list displays the standard properties
alphabetically. Would it make more sense to have them grouped by family
-- colors together, dimensions and locations together, etc.?
-- Inherited properties available in list
I'm thinking of a way to display an object's inherited value for a
property in the property list. Maybe put it in parenthesis? Currently
editing a value in the list edits the property's actual value, so if a
card's backcolor is empty, editing it shows empty. If I add inherited
values, it would display the inherited value and you'd have to blank
the entry field to retain the existing value. I'm not sure I like that.
Likewise, making the default the existing behavior and making some
other method edit the inherited value would hide the ability to edit
the inherited value.
-- (really geeky) Edit inherited values directly
Let's say that a card has no backcolor, but the backcolor of the stack
is red. Let's say you want to change the card's color, but you don't
want to set it directly -- you want to change the color of any cards
that also inherit that color. It would be simple enough to allow you to
edit the properties of the card, see that the inherited color is red,
and let you edit the backcolor of the stack directly from that point.
You could change the color of all the cards that inherited that color
by editing from any one of them. I'm betting no one would ever think to
use that, but I'm offering it as an idea.
-- Drag and Drop between copies of Navigator
Currently you can have two copies of Navigator running at the same
time. (The limitation to two will be removed based on an upcoming
release of Revolution) You can copy and paste objects between them,
copy and place backgrounds between them, etc. You can drag and drop in
a single instance of Navigator to change the layer of an object, place
it into a group, etc. How beneficial would it be to drag an object out
of one copy of Navigator and into another copy of Navigator? This would
make it easy to move stacks from one mainstack to another, copy cards
from one stack to another, and copy objects and groups from one card to
another or to another stack.
-- Navigator Front Script
Navigator already uses a frontscript when it runs in the MetaCard
environment. In Revolution, it uses only the built-in messages. With a
frontscript, it would be possible to have a key combination to show the
properties list in Navigator for the selected objects, or to bookmark
the selected objects, or to copy (in Navigator) a reference to the
selected objects. Any of these could be applied to the mouse object as
well. This is one of my most wanted features, but I hesitate to add a
frontscript.
-- More editors
Navigator currently has custom editors for colors and resizing. Are
those useful? What additional editors might be helpful. One I'm
considering is a simple "move" dialog -- one that moves the hilited
objects based on your input. I'm thinking that would be useful in cases
where the object was invisible, in a group, or locked.
-- Command to locate a handler
Navigator can currently open the script editor directly to any handler
in an object's script. If an object's script calls a certain handler,
there is no good way to get to that handler unless you already know
where it is. I'm thinking of a command in Navigator that lets you
hilite a control, enter a message name, and opens the script editor for
the object that contains the handler that will receive that message if
it comes from that object. A limitation is that the command chain in
Revolution is dynamic. With frontscripts it's possible that at runtime
another object's script could intercept the message. But that seems
like a small thing compared to the general utility of such a command.
If there are others, feel free to chime in. Don't tell me to add
animated graphics; I can't draw and Navigator is supposed to be clean
and simple ;-)
regards,
Geoff Canyon
gcanyon at inspiredlogic.com
More information about the use-livecode
mailing list