- Inherits from:
- (com.apple.client.eointerface) EOAssociation : EODelayedObserver (EOControl) : Object
(com.apple.yellow.eointerface) EOAssociation : EODelayedObserver (EOControl) : NSObject
- Implements:
- EOObserving (EODelayedObserver)
- (com.apple.client.eointerface only) java.awt.event.ActionListener
- (com.apple.client.eointerface only) NSDisposable (EOAssociation)
- Package:
- com.apple.client.eointerface
- com.apple.yellow.eointerface
An EOActionAssociation object allows you to set up an interface object, such as a button, to send a message to the objects selected in the association's display group when the interface object is acted on.
Usable With |
(com.apple.client.eointerface) Any object that implements
the method addActionListener (javax.swing.JButton
and javax.swing.JMenuItem, for example)
(com.apple.yellow.eointerface) NSControl, NSActionCell, and their subclasses |
Aspects | |
action | Bound to a key that names the method to invoke on the
selected objects. If the argument aspect
isn't bound, the method must take no arguments. If the argument aspect
is bound, then the method must take exactly one argument. |
argument | An object attribute or relationship of the selected object,
passed as an argument to the action method. (Usually bound to a
different EODisplayGroup than the one bound to action .) |
enabled | A boolean attribute of the selected object, which determines whether the display object is enabled. |
Object Keys Taken | |
target | On receiving an action message from the display object, an EOActionAssocation sends its action to the selected objects. |
Suppose you have an application that manages member accounts,
each of which has a restriction on the outstanding balance allowed.
You want a user to be able to increase the restriction limit by
selecting one or more members and then clicking a button. To do
this, you define a boostRestrictions
method in
the Member class that increases the limit by 20%. In Interface Builder,
control-drag a connection from the button to the Member display
group. Select EOActionAssociation in the Connections inspector,
and bind the association's action
aspect
to the "boostRestrictions" key.
In another scenario, one EODisplayGroup shows Members, while
another shows video tapes available for rent. Here, you want a user
to be able to select a member, select a video tape, and then click
a Rent button that checks the selected tape out to the selected
member. To do this, define a rentVideoTape
method
in the Member class that takes a VideoTape as an argument and handles
the accounting involved in a video rental. Then, in Interface Builder,
control-drag a connection from the button to the Members display
group. Select EOActionAssociation in the Connections inspector,
and bind the association's action
aspect
to Member's rentVideoTape
action. Similarly,
control-drag a connection from the button to the VideoTape display
group. Select EOActionAssociation in the Connections inspector,
and bind the association's argument
aspect
to the VideoTape display group. Now, when the user selects a Member,
selects a VideoTape, and clicks the button, the selected Member
is sent a rentVideoTape
message with the
selected VideoTape.
public
EOActionAssociation
(Object aDisplayObject)
You normally set up associations in Interface Builder, in which case you don't need to create them programmatically. However, if you do create them up programmatically, setting them up is a multi-step process. After creating an association, you must bind its aspects and establish its connections.
See Also: bindAspect (EOAssociation), establishConnection (EOAssociation)
public void
actionPerformed
(java.awt.event.ActionEvent anActionEvent)
action
aspect
(with an argument, if the argument
aspect
is bound) to the selected objects.public void
breakConnection
()
public void
establishConnection
()
public boolean
isUsableWithObject
(Object
true
if aDisplayObject implements
the method addActionListener
, false
otherwise.See Also: isUsableWithObject ( EOAssociation)
public String
primaryAspect
()
EOAssociation.
ActionAspect.See Also: primaryAspect ( EOAssociation)
public void
subjectChanged
()