Draw over existing objects (and can'tselect script for Richard!!)

MisterX b.xavier at internet.lu
Tue Apr 26 15:49:59 EDT 2005


for bz 624, coz i think it's a good cause! [Sorry if i go off the subject.
ed.]

Many things where suggested for graphic handling in runrev to Scott and
Kevin but apparently neither has used or use Freehand... ;)

Best drawing interface in a clever GUI i've ever seen! Some prefer
illustrator, but FH was a natural thing to use for MacDraw upgradees. It was
so intuitive that i learned how to split a circle in a quadrant in a dream -
ungroup... Made the bezier points ungrouped to reveal the curves... I
searched for a week for that one... Just a dream interface i miss in
RunRev... (Common Alejandro... ;)

And with the many things suggested before including the recent cantselect
control property, I hope to bring that along in TAOO... 

Im inclined to make things more freehand like anyway because it's just
natural to do. I got the undo and proportional things started (takes lot of
time alone scripting/testing it all ;)... So i might as well as laydown the
next step in layer control in editing...

on selectedobjectchanged
 put the selobjs into objlist
  repeat for each line l in objlist
    if the xos["cantselect"] of l is not true then
      put l & cr into selectlist
    end if
  end repeat
  lock messages -- avoid 1 infinite loop - off after handler ,;]
  select the selectlist
  pass selectedobjectchanged
end selectedobjectchanged

-- you can replace xos with MagicControlEditMode and do more things in
between those lines like force selections, update the magic control editor
palette, etc...

Along with the ResizeN2O palette, an additional helper palette/drawer B-) to
make this group/layer selectable and the obvious xos["locked"] which
prevents any mods to a control... 

--

Next in line is how to make polygon points and corner points in the stack
editeable like freehand - as a block or set of points. In layers and
groups... Not too hard but tedious scripting... Just offset from the rect of
the poligons' vertices a few square rect non-opaque controls (8X8) in an
overlay group which is easily controled as ResizeN2O does... Nothing rev
cant handle.

All controls have a rect, proportional resizing will need a bit more
thinking for matrices of polygons... in 3D anyone? ;)

> This introduces the other related issue: the ability to create objects
interactively in a group.  
> Currently the only way to do this is to set the editbg to true 

(and loose some scripts on the way if you're not careful - also stop the
stack script card access too), 

> but in this scenario of a multi-pane drawing window that would be
unacceptable, as it would hide the drawing pane (ugh).

I had this problem in ClipperX couple of years ago. And Richard's bugz 623-4
are dated 2003 and i've told countless
times how the group editing is a pain... But the solution was quite simple.
Make your own tools palette that takes the selobj into account to create
"in" or along the selobj the control you choose... This would create your
prefered control type (and style) right into the selobj from a palette's
menu (bugzilla lurks here though) - peanuts features wise though! It's
possible to do since PropsN2O had anyone suggested it before! ;) This is a
nice "behavior" feature!!!

Why can't we still right click multiple objects? 

[And woah: while testing if the cursor disappeared as in MetaCard while
right-clicking controls, I discovered that you can shift-click "multiple"
objects - Select 2 objects with the markee, shift-right-click either object
twice and a third and a fourth... Cool! And that was the 3rd hour edit cut
time before sending the mail ;)]

>Better would be that if a group has its tool set to pointer, objected
created within its rect are 
> created as a member if the group.

hard to do... if the group is behind another control or a control is behind
the non-opaque group catches
the event before the card... Note: the default mouseup handler that comes
when you edit the script of a control can leave some unwanted code here that
intercepts card messages if you save carelessly... Not a problem if
frontscripted though...

Im working on this via a new type of palette (better than nitrous ;)

At first i thought I'd make a quick button approach like the revtools
palette or SuperPaint's for that
matter. But then, I remembered the many trips to the revpropertypalette
there after... So im integrating a menu to create styled controls (and a
style browser) or make them switch styles (btn to tab or menu for
example...). And RPP is just a waste of time here when you can extend this
easily with a browser or style-list palette (FH experience ;). I released a
control style editor/setter in PropsN2O and it was already a step ahead, now
comes the archers into battle ;)

Now, to the matter of the mail... 

> Once RR completes BZ items #623 and #624 whole new worlds 
> open up, at least as easily as accomplishing the same things 
> in SuperCard.

Im thinking about it as you see. I found the supercard app/design modes too
limiting for the kind of work i did and couldn't justify the price
difference... Despite the color and macdraw advantages and it's enhanced IDE
but it was nice to have superPaint in the card! I miss SuperPaint ;0

But the solution to editing, like freehand, a control individually from the
group while in group mode is now easy with the right modifier key held down
and there's even a second way to do it in TAOO! ResizeN2O shows the way,
it's ridiculously easy now that i see it! ;) 
But there you have a start up script and the resizeN2O to use for behavior
templates (just like in TAOO). Left is rendering/editing the points of the
selpolygon.   

Just my 2 cents..

Cheerios
Xavier
http://monsieurx.com 


> -----Original Message-----
> From: use-revolution-bounces at lists.runrev.com 
> [mailto:use-revolution-bounces at lists.runrev.com] On Behalf Of 
> Richard Gaskin
> Sent: Tuesday, April 26, 2005 17:20
> To: How to use Revolution
> Subject: Re: Draw over existing objects
> 
> MisterX wrote:
> > Frank
> > 
> > 
> >>Maybe I'm just missing something here, but that stack doesn't seem 
> >>relevant.
> >>
> >>set the tool to "graphic"
> >>set the style of the templateGraphic to "rectangle"
> > 
> > 
> > you're not obliged to be in drawing mode... You can 
> simulate it with a 
> > cursor and a moving/resizing rect or graphic (with a 
> marquee pattern).
> 
> I would encourage you to review the discussion logged with 
> these two feature requests:
> <http://support.runrev.com/bugdatabase/show_bug.cgi?id=623>
> <http://support.runrev.com/bugdatabase/show_bug.cgi?id=624>
> 
> Yes, one can simulate a lot of things, but it won't have the 
> simplicity or performance of using the behaviors built into 
> the engine with the pointer tool.  Try it and you'll see.
> 
> Making a simple MacDraw-like app is a loooooooooooooooot of 
> work in Rev today, but could be as simple as doing so in 
> SuperCard, with greater flexibility, if those two requests 
> were acted on.
> 
> One of the most inspiring things I've ever worked with was 
> the old SampleDraw app that shipped with SuperCard.  A simple 
> MacDraw-like app, it had very little code and served as an 
> excellent example of making an app with its own documents.  
> Most of its behaviors were simply built into the engine with 
> the pointer tool, something that at that time was unique among xTalks.
> 
> Rev's engine already provides some 90% of the core behaviors 
> needed for simple drawing apps.  Unfortunately the remaining 
> 10% is also essential if the existing 90% is to be useful in 
> making such apps.
> 
> Once RR completes BZ items #623 and #624 whole new worlds 
> open up, at least as easily as accomplishing the same things 
> in SuperCard.
> 
> --
>   Richard Gaskin
>   Fourth World Media Corporation
>   __________________________________________________
>   Rev tools and more: http://www.fourthworld.com/rev 
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/use-revolution
> 



More information about the use-livecode mailing list