ix.iview
Class ConstraintEditor

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by ix.iface.ui.JConstraintEditor
                          extended by ix.iview.ConstraintEditor
All Implemented Interfaces:
VarSpecifier, java.awt.event.MouseListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
Direct Known Subclasses:
ConditionEffectEditor, DeclarationEditor, DefaultConstraintEditor, ObjectConstraintEditor, OrderingEditor, SimpleDeclarationEditor, SpecEditor

public abstract class ConstraintEditor
extends JConstraintEditor
implements VarSpecifier

An abstract class with useful things for building constraint editors. The editor is implemented as a frame using Boxes and JButtons.

The editor can be created with no arguments or with a given object which will be set as the current object to which the constraint applies. Subsequently, the object in the editor can be set using the setObject method.

Concrete editors that extend this class should implement the following methods:

The rest can be handled by the generic methods defined in this class. For an example of an implementing class see TPRelationEditor. Implements the VarSpecifier interface for UIRefinements. Use IVUtil.enableVars(VarSpecifier editor, JTextComponent textBit); to activate variable input help. Collects variable declarations and updates the construct when the constraint is processed (in case of cancel)

See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  java.util.List varDecs
           
 
Fields inherited from class ix.iface.ui.JConstraintEditor
bitsBox, butBox, cancelBut, constraintListeners, currentObject, focusComponent, label, mainPanel, moreBut, okBut, original
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
DEFAULT_MODALITY_TYPE
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ConstraintEditor(java.awt.Frame owner, java.lang.String message)
           
ConstraintEditor(java.awt.Frame owner, java.lang.String title, java.lang.String message)
           
ConstraintEditor(java.awt.Frame owner, java.lang.String title, java.lang.String message, java.lang.Object object)
           
 
Method Summary
 java.lang.String addVariableDeclaration(java.lang.String name)
          Add the given variable name as a declaration, return the name or "".
protected abstract  java.lang.Object collectConstraint()
          Collects input from the panel components and builds the right kind of constraint.
protected  java.lang.String getField(java.lang.Object constraint)
          Gets the field that the constraint is kept in.
protected  java.util.List getPreviousList(java.lang.Object constraint)
          Gets the previous list of values for the given constraint.
 java.util.List getVarsToOffer()
           
protected  void handleVariables()
          Pass on declared variables to the object specification.
protected abstract  void initFromObject()
          Fills the controls with relevant object-sensitive information.
protected  java.awt.Component makeBits()
          Makes all items on the panel used to specify parts of the constraint.
protected abstract  java.awt.Component makeRels()
          Makes all items on the panel used to specify parts of the constraint.
protected  boolean processConstraint()
          Reads the selected relation and let interested parties know.
protected abstract  void setFromObject(java.lang.Object original)
          Sets the editor up to edit (rather than add) an original constraint object.
 void start()
           
 
Methods inherited from class ix.iface.ui.JConstraintEditor
addConstraintListener, closeEditor, focus, getFocusComponent, getObject, isEditing, moreInitFromObject, mouseClicked, mouseEntered, mouseExited, mousePressed, mouseReleased, noteNewValue, removeConstraintListener, setMessage, setObject, setOriginal, start, start, start, start, start
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Dialog
addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setModalityType, setResizable, setTitle, setUndecorated, setVisible, show, toBack
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

varDecs

protected java.util.List varDecs
Constructor Detail

ConstraintEditor

public ConstraintEditor(java.awt.Frame owner,
                        java.lang.String title,
                        java.lang.String message,
                        java.lang.Object object)

ConstraintEditor

public ConstraintEditor(java.awt.Frame owner,
                        java.lang.String title,
                        java.lang.String message)

ConstraintEditor

public ConstraintEditor(java.awt.Frame owner,
                        java.lang.String message)
Method Detail

start

public void start()
Overrides:
start in class JConstraintEditor

getVarsToOffer

public java.util.List getVarsToOffer()
Specified by:
getVarsToOffer in interface VarSpecifier

addVariableDeclaration

public java.lang.String addVariableDeclaration(java.lang.String name)
Description copied from interface: VarSpecifier
Add the given variable name as a declaration, return the name or "".

Specified by:
addVariableDeclaration in interface VarSpecifier

processConstraint

protected boolean processConstraint()
Reads the selected relation and let interested parties know. Checks that selections have been made. If selections have not been made, a message will have been shown and listeners are not notified. If an original constraint has been edited (rather than new constraints added), the listeners are notified with a null constraint object (they already hold the original that has now been updated).

Overrides:
processConstraint in class JConstraintEditor

handleVariables

protected void handleVariables()
Pass on declared variables to the object specification. Many constraint editors can add new variables which should be added to the object's variable declarations. Note: The variable declaration editor is the only one that should overwrite variables instead (so it must implement its own handling of declared variables)


getField

protected java.lang.String getField(java.lang.Object constraint)
Description copied from class: JConstraintEditor
Gets the field that the constraint is kept in. By default, we do not look up the value

Overrides:
getField in class JConstraintEditor

getPreviousList

protected java.util.List getPreviousList(java.lang.Object constraint)
Description copied from class: JConstraintEditor
Gets the previous list of values for the given constraint. By default, there is no previous list

Overrides:
getPreviousList in class JConstraintEditor

makeBits

protected java.awt.Component makeBits()
Description copied from class: JConstraintEditor
Makes all items on the panel used to specify parts of the constraint.

Specified by:
makeBits in class JConstraintEditor

makeRels

protected abstract java.awt.Component makeRels()
Makes all items on the panel used to specify parts of the constraint.


initFromObject

protected abstract void initFromObject()
Fills the controls with relevant object-sensitive information. To be implemented by the sub-class. E.g. fill ordering editor with the sub-activities of the refinement.

Specified by:
initFromObject in class JConstraintEditor

setFromObject

protected abstract void setFromObject(java.lang.Object original)
Sets the editor up to edit (rather than add) an original constraint object.

Specified by:
setFromObject in class JConstraintEditor

collectConstraint

protected abstract java.lang.Object collectConstraint()
Collects input from the panel components and builds the right kind of constraint.

Specified by:
collectConstraint in class JConstraintEditor