net.wotonomy.ui.swing
Class ComboBoxAssociation

java.lang.Object
  extended by net.wotonomy.control.EODelayedObserver
      extended by net.wotonomy.ui.EOAssociation
          extended by net.wotonomy.ui.swing.ComboBoxAssociation
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.FocusListener, java.util.EventListener, java.util.Observer, net.wotonomy.control.EOObserving

public class ComboBoxAssociation
extends net.wotonomy.ui.EOAssociation
implements java.awt.event.FocusListener, java.awt.event.ActionListener

ComboBoxAssociation binds JComboBoxes to display groups. Bindings are:

Version:
$Revision: 904 $
Author:
michael@mpowers.net, $Author: cgruber $

Field Summary
 
Fields inherited from class net.wotonomy.ui.EOAssociation
ActionAspect, ArgumentAspect, aspectToGroup, aspectToKey, AttributeAspectSignature, AttributeToManyAspectSignature, AttributeToOneAspectSignature, AttributeToOneToManyAspectSignature, BoldAspect, ChildrenAspect, control, DestinationAspect, EditableAspect, EnabledAspect, IconAspect, IsLeafAspect, ItalicAspect, LabelAspect, NullAspectSignature, ObjectsAspect, ParentAspect, SelectedObjectAspect, SelectedTitleAspect, SourceAspect, TitlesAspect, ToManyAspectSignature, ToOneAspectSignature, ToOneToManyAspectSignature, URLAspect, ValueAspect, VisibleAspect
 
Fields inherited from class net.wotonomy.control.EODelayedObserver
ObserverNumberOfPriorities, ObserverPriorityFifth, ObserverPriorityFirst, ObserverPriorityFourth, ObserverPriorityImmediate, ObserverPriorityLater, ObserverPrioritySecond, ObserverPrioritySixth, ObserverPriorityThird
 
Constructor Summary
ComboBoxAssociation(java.lang.Object anObject)
          Constructor specifying the object to be controlled by this association.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent evt)
          Updates object on action performed.
protected  void addAsListener()
           
static net.wotonomy.foundation.NSArray aspects()
          Returns a List that describes the aspects supported by this class.
static net.wotonomy.foundation.NSArray aspectSignatures()
          Returns a List of aspect signatures whose contents correspond with the aspects list.
static net.wotonomy.foundation.NSArray associationClassesSuperseded()
          Returns a List of EOAssociation subclasses that, for the objects that are usable for this association, are less suitable than this association.
 void breakConnection()
          Breaks the connection between this association and its object.
 boolean canBindAspect(java.lang.String anAspect, net.wotonomy.ui.EODisplayGroup aDisplayGroup, java.lang.String aKey)
          Returns whether this association can bind to the specified display group on the specified key for the specified aspect.
 boolean endEditing()
          Forces this association to cause the object to stop editing and validate the user's input.
 void establishConnection()
          Establishes a connection between this association and the controlled object.
 void focusGained(java.awt.event.FocusEvent evt)
          Notifies of beginning of edit.
 void focusLost(java.awt.event.FocusEvent evt)
          Updates object on focus lost and notifies of end of edit.
static boolean isUsableWithObject(java.lang.Object anObject)
          Returns whether this class can control the specified object.
static net.wotonomy.foundation.NSArray objectKeysTaken()
          Returns a List of properties of the controlled object that are controlled by this class.
protected  void populateTitles(net.wotonomy.ui.EODisplayGroup displayGroup, java.lang.String key)
          Called to repopulate the title list from the specified display group.
static java.lang.String primaryAspect()
          Returns the aspect that is considered primary or default.
protected  void removeAsListener()
           
 void subjectChanged()
          Called when either the selection or the contents of an associated display group have changed.
protected  boolean writeValueToDisplayGroup()
          Writes the value currently in the component to the selected object in the display group bound to the value aspect.
 
Methods inherited from class net.wotonomy.ui.EOAssociation
associationClassesForObject, bindAspect, copyMatchingBindingsFromAssociation, displayGroupForAspect, displayGroupKeyForAspect, displayName, object, setValueForAspect, setValueForAspectAtIndex, shouldEndEditing, shouldEndEditingAtIndex, valueForAspect, valueForAspectAtIndex
 
Methods inherited from class net.wotonomy.control.EODelayedObserver
discardPendingNotification, objectWillChange, observerQueue, priority, update
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComboBoxAssociation

public ComboBoxAssociation(java.lang.Object anObject)
Constructor specifying the object to be controlled by this association. Does not establish connection.

Method Detail

aspectSignatures

public static net.wotonomy.foundation.NSArray aspectSignatures()
Returns a List of aspect signatures whose contents correspond with the aspects list. Each element is a string whose characters represent a capability of the corresponding aspect. An empty signature "" means that the aspect can bind without needing a key. This implementation returns "A1M" for each element in the aspects array.


aspects

public static net.wotonomy.foundation.NSArray aspects()
Returns a List that describes the aspects supported by this class. Each element in the list is the string name of the aspect. This implementation returns an empty list.


associationClassesSuperseded

public static net.wotonomy.foundation.NSArray associationClassesSuperseded()
Returns a List of EOAssociation subclasses that, for the objects that are usable for this association, are less suitable than this association.


isUsableWithObject

public static boolean isUsableWithObject(java.lang.Object anObject)
Returns whether this class can control the specified object.


objectKeysTaken

public static net.wotonomy.foundation.NSArray objectKeysTaken()
Returns a List of properties of the controlled object that are controlled by this class. For example, "stringValue", or "selected".


primaryAspect

public static java.lang.String primaryAspect()
Returns the aspect that is considered primary or default. This is typically "value" or somesuch.


canBindAspect

public boolean canBindAspect(java.lang.String anAspect,
                             net.wotonomy.ui.EODisplayGroup aDisplayGroup,
                             java.lang.String aKey)
Returns whether this association can bind to the specified display group on the specified key for the specified aspect.

Overrides:
canBindAspect in class net.wotonomy.ui.EOAssociation

establishConnection

public void establishConnection()
Establishes a connection between this association and the controlled object. Subclasses should begin listening for events from their controlled object here.

Overrides:
establishConnection in class net.wotonomy.ui.EOAssociation

addAsListener

protected void addAsListener()

breakConnection

public void breakConnection()
Breaks the connection between this association and its object. Override to stop listening for events from the object.

Overrides:
breakConnection in class net.wotonomy.ui.EOAssociation

removeAsListener

protected void removeAsListener()

subjectChanged

public void subjectChanged()
Called when either the selection or the contents of an associated display group have changed.

Overrides:
subjectChanged in class net.wotonomy.ui.EOAssociation

populateTitles

protected void populateTitles(net.wotonomy.ui.EODisplayGroup displayGroup,
                              java.lang.String key)
Called to repopulate the title list from the specified display group.


endEditing

public boolean endEditing()
Forces this association to cause the object to stop editing and validate the user's input.

Overrides:
endEditing in class net.wotonomy.ui.EOAssociation
Returns:
false if there were problems validating, or true to continue.

writeValueToDisplayGroup

protected boolean writeValueToDisplayGroup()
Writes the value currently in the component to the selected object in the display group bound to the value aspect.

Returns:
false if there were problems validating, or true to continue.

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent evt)
Updates object on action performed.

Specified by:
actionPerformed in interface java.awt.event.ActionListener

focusGained

public void focusGained(java.awt.event.FocusEvent evt)
Notifies of beginning of edit.

Specified by:
focusGained in interface java.awt.event.FocusListener

focusLost

public void focusLost(java.awt.event.FocusEvent evt)
Updates object on focus lost and notifies of end of edit.

Specified by:
focusLost in interface java.awt.event.FocusListener


Copyright © 2006 null. All Rights Reserved.