Hi All,

Ok, I finally found it! I knew I had the code there somewhere, it was on a PowerBook I had forgotten I had!

Got it working now, see below. It's really quite neat! A spot of recursion every now and then is good for the soul, check it out!

Oh, one thing that I could do with confirmation on, I am using the "long name", is this ok? Should I use the "long id" instead?

All the Best
Dave


------------------------------------------------------------------------ -
--
--  ISMInitializeGroup
--
------------------------------------------------------------------------ -
function ISMInitializeGroup theOwnerLongName
  local myIndex
  local myCount

  --
  --  Initialize all Groups that need to be Initialized
  --
  put the number of groups in theOwnerLongName into myCount

  repeat with myIndex = 1 to myCount
if word 1 of the name of group myIndex of theOwnerLongName = "group" then if the long owner of group myIndex of theOwnerLongName = theOwnerLongName then
        get ISMDebugLogString(empty)
get ISMDebugLogString(the name of group myIndex of theOwnerLongName)

--
--  Recurse thru the Container (Card or Group)
-- get ISMInitializeGroup(the long name of group myIndex of theOwnerLongName)
      end if
    end if
  end repeat

  --
  --  Initialize the Controls in this Group
  --
  repeat with myIndex = 1 to number of controls in theOwnerLongName
if word 1 of the name of control myIndex of theOwnerLongName <> "group" then if the long owner of control myIndex of theOwnerLongName = theOwnerLongName then get ISMDebugLogString(the name of control myIndex of theOwnerLongName)
      end if
    end if
  end repeat

  return true
end ISMInitializeGroup


------------------------------------------------------------------------
--
--  ISMInitialzeObjects
--
------------------------------------------------------------------------ -
function XISMInitialzeObjects theStackLongName,theColdStartFlag
  local myCount
  local myHandlerString
  local myColdStartFlag
  local mySendString

  local myCardIndex
  local myGroupIndex
  local myControlIndex

  get ISMSetDebugMode(true,true)

  if theColdStartFlag = empty then
    put false into myColdStartFlag
  else
    put theColdStartFlag into myColdStartFlag
  end if

  get ISMDebugLogString("ISMInitialzeObejcts " & theStackLongName)
  get ISMDebugLogString(empty)


  put "on " & kInitializeObjectName into myHandlerString
  put kInitializeObjectName && myColdStartFlag into mySendString
  --
  --  Initialize the Stack
  --
  if the script of theStackLongName contains myHandlerString then
    --send mySendString to stack theStackLongName
  end if


  --
  --  Initialize all Cards
  --
repeat with myCardIndex = 1 to the number of cards of theStackLongName
    get ISMDebugLogString(empty)
get ISMDebugLogString(the name of card myCardIndex of theStackLongName)
    --
    --  Initialize all Groups and Controls in the current Card
    --  
get ISMInitializeGroup(the long name of card myCardIndex of theStackLongName)
  end repeat

  return true
end XISMInitialzeObjects


_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to