Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## ix.iview
Class ConstraintEditor

    java.lang.Object
      java.awt.Component
          java.awt.Container
              java.awt.Window
                  java.awt.Dialog
                      javax.swing.JDialog
                          ix.iface.ui.JConstraintEditor
                              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:

makeRels() - makes all components needed to specify the constraint.
- initFromObject() - initialises components with information from the current object, e.g. lists of children are filled with those of the current refinement.
- setFromObject(Object original) - set the constraints using the given object (used when editing constraints).
- collectConstraint() - collects user input from the components and creates (and returns) a Constraint object from that information. Also deals with edit vs add behaviour.
- If there is a component that should have the keyboard focus when the editor comes up, also define protected JComponent getFocusComponent()

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`

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.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.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, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update`

Methods inherited from class java.awt.Dialog
`addNotify, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show`

Methods inherited from class java.awt.Window
`addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, toBack, 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, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, 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, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, 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, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle`

Methods inherited from class java.lang.Object
`clone, equals, 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`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD