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.iface.ui
Class JConstraintEditor

    java.lang.Object
      java.awt.Component
          java.awt.Container
              java.awt.Window
                  java.awt.Dialog
                      javax.swing.JDialog
                          ix.iface.ui.JConstraintEditor

All Implemented Interfaces:
  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:
  ConstraintEditor, PropertyEditor

    public abstract class JConstraintEditor

extends javax.swing.JDialog
implements java.awt.event.MouseListener

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 a message and optional title and n optional 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:

makeBits() - 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. Called when editor buttons "Ok" or "More" are clicked.
- If you allow list-fields to be edited, also define protected List getPreviousList(Object constraint) and protected String getField(Object constraint) to obtain previous values to be updated.
- 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) NOTE: this is modal, so as soon as it is visible (start()), it blocks!

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.awt.Component` | `bitsBox`
`protected java.awt.Component` | `butBox`
`protected javax.swing.JButton` | `cancelBut`
`protected java.util.ArrayList` | `constraintListeners`
`java.lang.Object` | `currentObject`
`protected javax.swing.JComponent` | `focusComponent`
`protected javax.swing.JLabel` | `label`
`protected javax.swing.JPanel` | `mainPanel`
`protected javax.swing.JButton` | `moreBut`
`protected javax.swing.JButton` | `okBut`
`protected java.lang.Object` | `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
`JConstraintEditor(java.awt.Frame owner, java.lang.String message)` As above but with a default title.
`JConstraintEditor(java.awt.Frame owner, java.lang.String title, java.lang.String message)` Creates an editor with the title for specifying constraints.
`JConstraintEditor(java.awt.Frame owner, java.lang.String title, java.lang.String message, java.lang.Object object)` Creates an editor for specifying time point relations of the given object.

Method Summary
`void` | `addConstraintListener(JConstraintListener listener)`
`void` | `closeEditor()`
`protected abstract java.lang.Object` | `collectConstraint()` Collects input from the panel components and builds the right kind of constraint.
`protected void` | `focus()`
`protected java.lang.String` | `getField(java.lang.Object constraint)` Gets the field that the constraint is kept in.
`protected javax.swing.JComponent` | `getFocusComponent()` By default, there is no focus component
`java.lang.Object` | `getObject()` Gets the object that is to be constrainted (UIRefinement)
`protected java.util.List` | `getPreviousList(java.lang.Object constraint)` Gets the previous list of values for the given constraint.
`protected abstract void` | `initFromObject()` Fills the controls with relevant object-sensitive information.
`boolean` | `isEditing()`
`protected abstract java.awt.Component` | `makeBits()` Makes all items on the panel used to specify parts of the constraint.
`void` | `moreInitFromObject()` Called instead of initFromObject when addMore is clicked rather than add.
`void` | `mouseClicked(java.awt.event.MouseEvent e)`
`void` | `mouseEntered(java.awt.event.MouseEvent e)`
`void` | `mouseExited(java.awt.event.MouseEvent e)`
`void` | `mousePressed(java.awt.event.MouseEvent e)`
`void` | `mouseReleased(java.awt.event.MouseEvent e)`
`protected java.lang.Object` | `noteNewValue(java.lang.Object constraint)` make UIO update properly so that the event is noted elsewhere (panels..)
`protected boolean` | `processConstraint()` Reads the selected relation and let interested parties know.
`void` | `removeConstraintListener(JConstraintListener listener)`
`protected abstract void` | `setFromObject(java.lang.Object original)` Sets the editor up to edit (rather than add) an original constraint object.
`void` | `setMessage(java.lang.String message)`
`void` | `setObject(java.lang.Object object)` Sets the object whose components (children) are to be realted.
`void` | `setOriginal(java.lang.Object original)` Set this to the original value (non-null) to get edit-bahaviour rather than add-behaviour.
`void` | `start()`
`void` | `start(java.lang.Object object)` As above, default location.
`void` | `start(java.lang.Object object, java.lang.Object original)` As above, default location.
`void` | `start(java.lang.Object object, java.lang.Object original, java.awt.Point point)` Starts an editor for for editing the given specification of one of the fields of the given object.
`void` | `start(java.lang.Object object, java.awt.Point point)` Starts an editor for for adding specifications of one of the fields of the given object.
`void` | `start(java.awt.Point point)`

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

### mainPanel

    protected javax.swing.JPanel mainPanel

### bitsBox

    protected java.awt.Component bitsBox

### butBox

    protected java.awt.Component butBox

### focusComponent

    protected javax.swing.JComponent focusComponent

### okBut

    protected javax.swing.JButton okBut

### cancelBut

    protected javax.swing.JButton cancelBut

### moreBut

    protected javax.swing.JButton moreBut

### label

    protected javax.swing.JLabel label

### constraintListeners

    protected java.util.ArrayList constraintListeners

### currentObject

    public java.lang.Object currentObject

### original

    protected java.lang.Object original

Constructor Detail

### JConstraintEditor

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

  Creates an editor with the title for specifying constraints. Creates space for components for specifying the constraints and creates two buttons (Ok, Cancel)

### JConstraintEditor

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

  As above but with a default title.

### JConstraintEditor

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

  Creates an editor for specifying time point relations of the given object. As JConstraintEditor() but with a given object.

  Parameters:
    `object` - the object whose constraints are to be edited.

Method Detail

### isEditing

    public boolean isEditing()

### setMessage

    public void setMessage(java.lang.String message)

### setObject

    public void setObject(java.lang.Object object)
                   throws java.lang.NullPointerException

  Sets the object whose components (children) are to be realted. Fills the activity lists of the panel with the children of the object.

  Parameters:
    `object` - the object whose children are to be related
  Throws:
    `java.lang.NullPointerException`

### getObject

    public java.lang.Object getObject()

  Gets the object that is to be constrainted (UIRefinement)

### getFocusComponent

    protected javax.swing.JComponent getFocusComponent()

  By default, there is no focus component

### focus

    protected void focus()

### getPreviousList

    protected java.util.List getPreviousList(java.lang.Object constraint)

  Gets the previous list of values for the given constraint. By default, there is no previous list

### getField

    protected java.lang.String getField(java.lang.Object constraint)

  Gets the field that the constraint is kept in. By default, we do not look up the value

### setOriginal

    public void setOriginal(java.lang.Object original)

  Set this to the original value (non-null) to get edit-bahaviour rather than add-behaviour.

### start

    public void start(java.awt.Point point)

### start

    public void start()

### start

    public void start(java.lang.Object object,
                      java.awt.Point point)

  Starts an editor for for adding specifications of one of the fields of the given object.

### start

    public void start(java.lang.Object object)

  As above, default location.

### start

    public void start(java.lang.Object object,
                      java.lang.Object original,
                      java.awt.Point point)

  Starts an editor for for editing the given specification of one of the fields of the given object.

### start

    public void start(java.lang.Object object,
                      java.lang.Object original)

  As above, default location.

### addConstraintListener

    public void addConstraintListener(JConstraintListener listener)

### removeConstraintListener

    public void removeConstraintListener(JConstraintListener listener)

### 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).

### noteNewValue

    protected java.lang.Object noteNewValue(java.lang.Object constraint)

  make UIO update properly so that the event is noted elsewhere (panels..)

### mouseClicked

    public void mouseClicked(java.awt.event.MouseEvent e)

  Specified by:
    `mouseClicked` in interface `java.awt.event.MouseListener`

### mouseEntered

    public void mouseEntered(java.awt.event.MouseEvent e)

  Specified by:
    `mouseEntered` in interface `java.awt.event.MouseListener`

### mouseExited

    public void mouseExited(java.awt.event.MouseEvent e)

  Specified by:
    `mouseExited` in interface `java.awt.event.MouseListener`

### mousePressed

    public void mousePressed(java.awt.event.MouseEvent e)

  Specified by:
    `mousePressed` in interface `java.awt.event.MouseListener`

### mouseReleased

    public void mouseReleased(java.awt.event.MouseEvent e)

  Specified by:
    `mouseReleased` in interface `java.awt.event.MouseListener`

### closeEditor

    public void closeEditor()

### moreInitFromObject

    public void moreInitFromObject()

  Called instead of initFromObject when addMore is clicked rather than add.

### makeBits

    protected abstract java.awt.Component makeBits()

  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.

### setFromObject

    protected abstract void setFromObject(java.lang.Object original)

  Sets the editor up to edit (rather than add) an original constraint object.

### collectConstraint

    protected abstract java.lang.Object collectConstraint()

  Collects input from the panel components and builds the right kind of constraint.

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