Thanks Phil,
Good stuff. Timely too, as I'll be working on this tonight.
Regards,
Gregory
On Fri, Jan 9, 2009, at 9:52 AM, Phil Davis wrote:
Here's something I used in a recent project. The adjustor object is a
button, and it keeps the bottom of the "top" field a consistent
distance
from the "bottom" field while allowing you to move the boundary
between
them vertically.
Other facts:
- The button height = (top of "bottom" fld) - (bottom of "top" field)
- the button is in a group, referred to as "the owner of the target".
- the button has "uTopBounds" and "uBottomBounds" custom props telling
how close (in pixels) it can get to the top of the top field & the
bottom of the bottom field.
-- "adjustor" button script:
on mouseDown
-- params are <shortNameOfUpperField>,<shortNameOfLowerField>
_resizeFields "editItem","editItemDescription"
end mouseDown
-- handler in card script:
on _resizeFields pTopField,pBottomField
-- prep
get the loc of the target
put item 1 of it into tMyH
put (item 2 of the loc of the owner of the target - item 2 of it)
into tOffsetV
put the rect of fld pTopField into tTopRect
put item 2 of tTopRect + (the uTopBounds of the target) into
tTopBounds
put the rect of fld pBottomField into tBottomRect
put item 4 of tBottomRect - (the uBottomBounds of the target) into
tBottomBounds
repeat until the mouse is up
put the mouseV into tMouseV
if (tMouseV < tTopBounds) or (tMouseV > tBottomBounds) then next
repeat
lock screen
set the loc of the owner of the target to (tMyH,tMouseV+tOffsetV)
put the top of the owner of the target into item 4 of tTopRect
put the bottom of the owner of the target into item 2 of
tBottomRect
set the rect of fld pTopField to tTopRect
set the rect of fld pBottomField to tBottomRect
-- reposition bottom field label if there is one
get (pBottomField && "label")
if there is a field it then
set the top of fld it to the top of fld pBottomField
end if
unlock screen
wait 0 secs
end repeat
end _resizeFields
Yes, most definitely!
On Fri, Jan 9, 2009, at 9:52 AM, Craig Newman wrote:
To
answer your question, Craig, the combined height and width of the two
fields is not constant, but that is not a problem because that sort
of
resizing is handled by the geometry manager whenever the stack is
resized.
Surely. But once the fields are sized and located, your code should
run
without issue, regardless of their location or rects. Its the beauty
of
properties...
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution