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 ___________________________________________________________ [EMAIL PROTECTED] http://www.FourthWorld.com Tel: 323-225-3717 AIM: FourthWorldInc _______________________________________________ use-revolution mailing list [EMAIL PROTECTED] http://lists.runrev.com/mailman/listinfo/use-revolution