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 JSelectorDialog

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

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

    public abstract class JSelectorDialog

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

See Also:
  Serialized Form

Nested Class Summary
`static interface` | `JSelectorDialog.JSelectorListener`

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`
`java.lang.Object` | `currentObject`
`protected javax.swing.JComponent` | `focusComponent`
`protected javax.swing.JLabel` | `label`
`protected javax.swing.JPanel` | `mainPanel`
`protected javax.swing.JButton` | `okBut`
`protected java.util.ArrayList` | `selectionListeners`

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
`JSelectorDialog(java.awt.Frame parent, java.lang.String message)` As above but with a default title.
`JSelectorDialog(java.awt.Frame parent, java.lang.String title, java.lang.String message)` Creates a dialog with the title for selecting from a list of items.
`JSelectorDialog(java.awt.Frame parent, java.lang.String title, java.lang.String message, java.lang.Object object)` Creates a a selector with the context of the given object.

Method Summary
`void` | `addSelectionListener(JSelectorDialog.JSelectorListener listener)`
`protected abstract java.lang.Object` | `checkSelection(java.lang.Object selection, java.lang.Object object)` Checks the selection against the given object.
`void` | `closeEditor()`
`protected abstract java.lang.Object` | `collectSelection()` Collects input from the panel components and builds the right kind of constraint.
`protected javax.swing.JComponent` | `getFocusComponent()` By default, there is no focus component
`protected abstract void` | `initFromObject()` Fills the controls with relevant object-sensitive information.
`protected abstract java.awt.Component` | `makeBits()` Makes all items on the panel used to specify parts of the constraint.
`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` | `processSelection()` Reads the selected relation and let interested parties know.
`void` | `removeSelectionListener(JSelectorDialog.JSelectorListener listener)`
`void` | `setMessage(java.lang.String message)`
`void` | `setObject(java.lang.Object object)` Sets the object whose components (children) are to be realted.
`void` | `start()`
`boolean` | `start(java.lang.Object object)` As above, default location.
`void` | `start(java.lang.Object object, java.awt.Point point)` Starts an editor for for selecting something for 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

### label

    protected javax.swing.JLabel label

### selectionListeners

    protected java.util.ArrayList selectionListeners

### currentObject

    public java.lang.Object currentObject

Constructor Detail

### JSelectorDialog

    public JSelectorDialog(java.awt.Frame parent,
                           java.lang.String title,
                           java.lang.String message)

  Creates a dialog with the title for selecting from a list of items. Creates space for components for specifying the constraints and creates two buttons (Ok, Cancel)

### JSelectorDialog

    public JSelectorDialog(java.awt.Frame parent,
                           java.lang.String message)

  As above but with a default title.

### JSelectorDialog

    public JSelectorDialog(java.awt.Frame parent,
                           java.lang.String title,
                           java.lang.String message,
                           java.lang.Object object)

  Creates a a selector with the context of the given object. As JSelectorDialog() but with a given object.

  Parameters:
    `object` - the object for whom the selection is to be made

Method Detail

### 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`

### getFocusComponent

    protected javax.swing.JComponent getFocusComponent()

  By default, there is no focus component

### 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 selecting something for the given object.

### start

    public boolean start(java.lang.Object object)

  As above, default location.

### addSelectionListener

    public void addSelectionListener(JSelectorDialog.JSelectorListener listener)

### removeSelectionListener

    public void removeSelectionListener(JSelectorDialog.JSelectorListener listener)

### processSelection

    protected java.lang.Object processSelection()

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

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

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

### collectSelection

    protected abstract java.lang.Object collectSelection()

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

### checkSelection

    protected abstract java.lang.Object checkSelection(java.lang.Object selection,
                                                       java.lang.Object object)

  Checks the selection against the given object. Returns the selection (possibly modified) if all is well, null if the selection is not suitable in this context.

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