TIP: RR Easy GM improvements
MisterX
b.xavier at internet.lu
Tue Oct 12 07:50:54 EDT 2004
Hi everyone,
Here is an add-on we can all use to improve life with the geometry manager.
I can't live without it but it does have an annoying feature which is to
list a huge menu of unsorted controls when you link the geometry of an
object to another. Sometimes, I have 2 to 3 screen scrolls of controls in
some stacks and it's unmanageable!
This trick is not for neophytes. But it is without danger. Backup the stack
mentioned below if you are not sure.
The trick is to put the list of controls into a hierarchical
owner-to-control menu!
And it was actually not too hard to figure out!
Here's the recipee:
Close RR.
Open RR
Show the message and type this
edit script of btn "Object name" of card revgeometrypositioning of stack
"RevPalette"
(located in Revolution 2.5\components\properties palettes\revpalette.rev)
Paste this script below instead of the old one
In the msg, type:
save stack revpalette
And that's it!!!
Your revPropertyPalette is now usable whence you have a 400 controls stack
and need to link one control to another geometrically speaking. ;)
If this tip saves you good time, which it should,
consider a small donation to the paypal on http://monsieurx.com!
I might make more tips like these!
RunRev can use this script to improve everyone's life too naturally!
REvRegards to all
Xavier
--
http://Monsieurx.com
Nitrous acceleration for RunTimeRevolution development!
--
The point to remember is that what the government gives, it must first take
away
<Script>
on menuPick pWhich
set the itemdelimiter to "|"
if the number of items in pWhich > 1 then
put item 1 of pWhich into pGroup
put item 2 of pWhich into pWhich
end if
set the itemdelimiter to comma
if the short name of this cd is "revGeometryPositioning" then put "move"
into tName
else put "scale" into tName
if the cSide of this cd is among the items of "h,left,right" then put
"right" into tSide
else put "bottom" into tSide
put tName & the cSide of this cd && "object" into tGraphicName
if the backPattern of grc tGraphicName is the cNoSize of grc tGraphicName
then
set the backPattern of grc tGraphicName to the cFixed of grc
tGraphicName
end if
set the backPattern of grc (tName & the cSide of this cd) to the cNoSize
of grc (tName & the cSide of this cd)
put tName & the cSide of this cd into tStart
put the backPattern of grc tGraphicName is the cFixed of grc tGraphicName
into tTrue
revSetGeometry (tStart),true
if tTrue then
--fixed scaling
revSetGeometry (tStart & "Absolute"),true
else
--proportional scaling
revSetGeometry (tStart & "Absolute"),false
end if
revSetGeometry (tStart & "ObjectSide"),tSide
revSetGeometry (tStart & "ObjectRef"),pWhich
end menuPick
on revRefreshContents
put the target
local tObject,tStack
local cowner,ownerlist
local controllist
/*
if the shiftkey is down then sort by layer...
else if the optionkey is down then sort by type/name
else
*/
put line 1 of revPaletteObjects() into tObject
put the defaultStack into tStack
set the defaultStack to revTargetStack(tObject)
repeat with i = 1 to the number of controls
if the long id of control i is tObject then next repeat
put the owner of control i into cowner
if cowner is not among the lines of ownerlist
then put cowner & CR after ownerlist
put tab & the name of control i & CR after controllist[cowner]
put the name of control i & CR after simpleList
end repeat
delete last char of ownerlist
sort lines of ownerlist
repeat for each line i in ownerlist
put i & cr after tlist
put controllist[i] after tlist
end repeat
delete last char of tList
delete last char of simplelist
set the defaultStack to tStack
if the number of lines in ownerlist > 1 then
set the text of me to tList
else
set the text of me to simpleList
end if
end revRefreshContents
</Script>
More information about the use-livecode
mailing list