On 4/15/09 4:58 AM, "David Bovill" <[email protected]> wrote:

> If you want them "inherited" you need to define a "getprop" handler.

You can inherit any custom property even without getprop handlers, by
walking through the object's long id until you find a value.

Here's a function that does that for any given custom property name, and
optionally any given custom property set name as well.

If you're interested in a similar function that identifies the object that
provided the effective value, let me know.

As usual, watch out for line wraps imposed by email.

-- Dick

<postScript>

function effectiveValue pCustomPropertyName,pCustomPropertySetName
  put long id of the target into tRevObject
  if pCustomPropertySetName is empty then
    put "put the" && pCustomPropertyName && "of tRevObject into tValue" into
tStatement
  else
    put "put the" && pCustomPropertySetName & "[" & quote &
pCustomPropertyName & quote & "] of tRevObject into tValue" into tStatement
  end if
  lock messages
  repeat until tRevObject is empty
    do tStatement
    if tValue is empty then
      if word 1 of tRevObject is "stack" then
        delete word 1 to 3 of tRevObject
      else
        delete word 1 to 4 of tRevObject
      end if
    else
      exit repeat
    end if
  end repeat
  unlock messages
  return tValue
end effectiveValue

</postScript>


_______________________________________________
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

Reply via email to