Name: preOpenControl

Type: message

Syntax: preOpenControl

Summary:
Sent to a <group> when you go to the <card> that contains it and to a
<group|background group> when going from a card which it is not placed on to
one where it is.

Associations: group

Introduced: 3.5

OS: mac, windows, linux, ios, android

Platforms: desktop, server, mobile

Example:
on preOpenControl
  resizeMyObjects
  put empty into field "Customer Address" of me
end preOpenControl

Description:
Handle the <preOpenControl> message to update a group's appearance
before it appears on screen.

For groups with their <backgroundBehavior> <property> set to true, the
<preOpenControl> message is sent immediately after the
<preOpenBackground> <message> is sent to the <card(object)> being opened.
For non-background groups, it is sent after the <preOpenCard> <message>.

For nested groups, the <preOpenControl> message is sent to the parent
group first, if it is passed or not handled by the parent group, then it
passes through each child group in reverse layer order (i.e from highest
to lowest).

The actual navigation is not triggered by the <preOpenControl>
<message>, so blocking the <message> and not allowing it to pass does
not prevent the <card(keyword)> with the <group> from opening.

References: dispatch (command), message (glossary),
card (keyword), preOpenBackground (message),
openControl (message), preOpenCard (message), card (object),
group (object), backgroundBehavior (property), property (glossary)

