Questions about experiences

Richard Gaskin ambassador at fourthworld.com
Tue Nov 11 11:35:09 EST 2003


Björnke von Gierke wrote:

> I am in the process of writing an article about runrev, and would like
> to ask you about two things:
> 
> Did you experience that you wanted to make a project, but where unable
> to do it with runrev? For example because a technology was not
> supported, not fast enough or because it was otherwise not up to the
> task.
> 
> DId you realise any projects that you did not think that it would be
> possible to do with runrev?

In most cases my experience has been the opposite: things I can do in Rev
that were impossible elsewhere.  Productivity is tops on that list, but in
terms of language features I can say this:  I've ported a lot of projects
from other xTalks, and most of those depended on a small army of externals.
In nearly every case I was able to replace the externals with native
Transcript handlers with no noticeable difference in execution time.

As for limitations, the only thing I haven't been able to build in Rev is
the equivalent of SuperCard's SampleDraw example application, which is sort
of a very basic MacDraw.  A lot of my apps need a drawing environment for
diagrams and such, and at first glance it would seem Rev should be able to
rival Visio in this regard.  At the moment, not so:

- Line, polygon, and arc objects cannot have their points interactively
edited as with any traditional drawing program.  All objects only have the
handles for the bounding box, but those three object types require
special-casing their handle routines to get a true drawing program feel.  A
scripted workaround for polygon points is in Rev, but it doesn't have quite
the same feel as traditional drawing program interactions or even the same
as any native handles, and the native bounding box handles are still present
which feel a bit wonky.

- Some common drawing pane interactions are not possible.  The way to make a
drawing pane in Rev is to make a group with scroll bars and set its
boundingRect property to determine the size of your document ("page").  But
this approach has some drawbacks currently:

   - You cannot interactively create objects within a group unless the
     editBg of the group is on, but while in that mode the scroll bars
     and anything outside of the group is hidden, so that's not an option.

   - You cannot drag-select groups within your drawing pane group.  To
     allow a group to act as a drawing pane you need to first set its
     cantSelect property to true, so that while the pointer tool is
     active the group will not be selected but the objects within it
     will be.    You will also have to turn on the selectGroupedControls
     property to allow selection of your objects within the drawing
     pane group.   However, if you group objects within your drawing pane
     since you have the selectGroupedControls on you can only drag-select
     with individual objects.  If you turn that property off and then
     drag-select, since your drawing pane is itself a group the
     selection marquee fails to select any objects within the drawing
     pane group.

- Printing a group is difficult.  In a drawing program it's common to have a
document larger than the window, and sometimes larger than a single page.
With scrolling groups the first part is easy, but printing poses special
challenges.  The only solution I've found is a rather complex script which
copies the group to an offscreen printing window, removes the scroll bars,
then proceeds to adjust the group's scroll for each page's worth of content,
printing as it goes.  In SuperCard printing such a document window is simply
"print this card", and the scrollbar hiding and pagination are taken care of
automatically.

In all fairness, Tuviah has expressed an interest in addressing these issues
('cept printing, though I feel it's worth pursuing), and with any luck
they'll go away with the next major revision.  But since you asked, that's
been the only type of application I've needed to build that I couldn't make
easily in Rev.

-- 
 Richard Gaskin 
 Fourth World Media Corporation
 ___________________________________________________________
 Ambassador at FourthWorld.com       http://www.FourthWorld.com
 Tel: 323-225-3717                       AIM: FourthWorldInc



More information about the use-livecode mailing list