ix.iview
Class AROEditorPanel

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by ix.iview.AConstructFramePanel
                      extended by ix.iview.AROEditorPanel
All Implemented Interfaces:
DataChangeListener, FramePanel, ConstructFraming, UIDomainListener, IDESymbols, UndoEditing, VarSpecifier, java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.TreeSelectionListener

public class AROEditorPanel
extends AConstructFramePanel
implements java.awt.event.ActionListener, javax.swing.event.TreeSelectionListener, UIDomainListener, IDESymbols

An editor/viewer panel for AROs, i.e. Activity Relatable Objects. Waiting to be implemented.

The panel has editable fields for the object's name, type(s), sub-types, and attributes. Other relationships between objects.

Example code for using the AROEditorPanel:


    ...
    ...

See Also:
Serialized Form

Nested Class Summary
 class AROEditorPanel.AROFormPanel
           
 class AROEditorPanel.ClassTreeTableModel
           
 
Nested classes/interfaces inherited from class ix.iview.AConstructFramePanel
AConstructFramePanel.FieldValue, AConstructFramePanel.JModifyDialog
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
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
(package private)  PropertyEditor propEditor
           
 PanelSearcher searcher
           
 
Fields inherited from class ix.iview.AConstructFramePanel
currentConstructListeners, DEFAULT_SORT, formPanel, hasOverview, mainPanel, parent, scrollPane, switching
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface ix.iview.IDESymbols
C_ALL, C_CONDITIONS_ONLY, C_CONDITIONS_OTHER, C_NONE, C_ORDER_CONDITIONS, C_ORDER_ONLY, C_ORDER_OTHER, C_OTHER_ONLY, MODE_ADVANCED, MODE_SIMPLE, VIEW_COMPREHENSIVE, VIEW_GRAPHICAL, VIEW_MINIMAL, VIEWS
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
AROEditorPanel(DomainEditorFrame theParent)
          Make the editor panel and set up the class tree
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent ae)
          Wakes up the ActionListener with a user action.
 boolean beforeClosing()
           
 boolean checkConstruct()
          Check a construct of the panel's type for errors and inconsistencies
 void clear()
           
 void clearUIConstruct()
           
protected  UIObject cloneConstruct(UIObject uiConstruct)
           
 void constructAdded(DomainEvent event)
           
 void constructAdded(UIDomainEvent event)
          Called when a UI construct is added.
 void constructEdited(UIDomainEvent event)
          Called when a UI construct is edited.
 void constructRemoved(UIDomainEvent event)
          Called when a UI construct is removed.
 void deleteConstruct()
          Deletes the construct, then sets its parent.
 void domainCleared(UIDomainEvent event)
          Called when the domain is cleared.
 void domainEdited(UIDomainEvent se)
          Called when the domain's own fields changed (currently only name).
 void domainSet(UIDomainEvent event)
          Called when the domain is added.
 void ensurePropEditor()
           
 void ensureSearcher()
           
 boolean frameActionPerformed(java.awt.event.ActionEvent event)
          Recognises panel specific events and processes them.
 java.util.List getAllConstructs()
          Get a full list of the constructs of the panel's type in the domain.
protected  UIObjectClass getClassFromUser(java.util.List offers, java.lang.String message, UIObjectClass parentClass)
           
protected  UIObjectClass getClassFromUser(java.util.List offers, UIObjectClass parentClass)
           
protected  UIObjectClass getClassFromUser(java.lang.String message, UIObjectClass parentClass)
           
protected  UIObjectClass getClassFromUser(UIObjectClass parentClass)
           
protected  IXTreeNode getCurrentTreeNode()
           
 Named getNamedConstruct(java.lang.String name)
          Get a named construct of the panel's type from the domain
 UIObject makeNewConstruct()
          Make a new construct of the panel's type.
 UIObjectClass newUIObjectClass(java.lang.String name)
           
 UIObjectClass newUIObjectClass(java.lang.String name, UIObjectClass parent)
           
 UIObject noteConstruct()
          Note the contents of the panel into the current object.
protected  void populateARO()
           
 void refresh()
           
 void resetTree()
           
 void saveConstruct()
          Save a construct of the panel's type into the draft domain.
 void setUIConstruct(UIObject object)
          Sets the given UI construct to be viewed/edited.
 void setUIConstructPanel(UIObject object)
          do we really need this?
protected  void setupClassTree()
           
protected  javax.swing.JPanel setupMainPanel()
          Sets up the main panel in which construct editing will happen.
 void treeNodesChanged(javax.swing.event.TreeModelEvent e)
           
 void treeNodesInserted(javax.swing.event.TreeModelEvent e)
           
 void treeNodesRemoved(javax.swing.event.TreeModelEvent e)
           
 void treeStructureChanged(javax.swing.event.TreeModelEvent e)
           
 void updateTree()
           
 void updateTreeSelection()
           
 void userAddChild()
           
 void userAddParent()
           
 void userAddProperty()
           
 void userDeleteChild()
           
 void userDeleteParent()
           
 void userDeleteProperty()
           
 void userEditChild()
           
 void userEditParent()
           
 void userEditProperty()
           
 void userNewChild()
           
 void userSearch()
           
 void valueChanged(javax.swing.event.TreeSelectionEvent e)
           
 
Methods inherited from class ix.iview.AConstructFramePanel
addCurrentConstructListener, addUndoListener, addVariableDeclaration, afterSwitching, askModifyDialog, askModifyOptions, beforeOpening, beforeSwitching, canRedo, canUndo, copyConstruct, dataChanged, editConstruct, fireConstructChanged, getDomain, getEditingPanel, getMainPanel, getSort, getUIConstruct, getUIDomain, getVarsToOffer, hasOverview, newConstruct, noteDraftConstruct, OLDsetUIConstruct, populatePopup, redo, registerListKeys, removeCurrentConstructListener, revertConstruct, revertOConstruct, search, setConstruct, setSort, setUIDomain, setupEditor, setupOuterPanel, undo, undoGetValue, undoSetValue, updateOverview, viewChanges, viewChangesFromOriginal
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

searcher

public PanelSearcher searcher

propEditor

PropertyEditor propEditor
Constructor Detail

AROEditorPanel

public AROEditorPanel(DomainEditorFrame theParent)
Make the editor panel and set up the class tree

Method Detail

populateARO

protected void populateARO()

newUIObjectClass

public UIObjectClass newUIObjectClass(java.lang.String name)

newUIObjectClass

public UIObjectClass newUIObjectClass(java.lang.String name,
                                      UIObjectClass parent)

setupMainPanel

protected javax.swing.JPanel setupMainPanel()
Description copied from class: AConstructFramePanel
Sets up the main panel in which construct editing will happen. Often, this is a simple wrapper panel that contains a ConstructEditing panel and not much else.

Specified by:
setupMainPanel in class AConstructFramePanel

setupClassTree

protected void setupClassTree()

refresh

public void refresh()
Specified by:
refresh in class AConstructFramePanel

updateTree

public void updateTree()

resetTree

public void resetTree()

updateTreeSelection

public void updateTreeSelection()

makeNewConstruct

public UIObject makeNewConstruct()
Make a new construct of the panel's type.

Specified by:
makeNewConstruct in interface ConstructFraming
Specified by:
makeNewConstruct in class AConstructFramePanel

saveConstruct

public void saveConstruct()
Save a construct of the panel's type into the draft domain.

Specified by:
saveConstruct in interface ConstructFraming
Overrides:
saveConstruct in class AConstructFramePanel

noteConstruct

public UIObject noteConstruct()
Note the contents of the panel into the current object.

Specified by:
noteConstruct in class AConstructFramePanel

getNamedConstruct

public Named getNamedConstruct(java.lang.String name)
Get a named construct of the panel's type from the domain

Specified by:
getNamedConstruct in interface ConstructFraming

checkConstruct

public boolean checkConstruct()
Check a construct of the panel's type for errors and inconsistencies

Specified by:
checkConstruct in interface ConstructFraming

getAllConstructs

public java.util.List getAllConstructs()
Get a full list of the constructs of the panel's type in the domain.

Specified by:
getAllConstructs in interface ConstructFraming

clear

public void clear()
Overrides:
clear in class AConstructFramePanel

clearUIConstruct

public void clearUIConstruct()

cloneConstruct

protected UIObject cloneConstruct(UIObject uiConstruct)
Specified by:
cloneConstruct in class AConstructFramePanel

setUIConstructPanel

public void setUIConstructPanel(UIObject object)
do we really need this? Sets the given UI construct in this editor and in the current panel Does not call beforeSwitching.

Overrides:
setUIConstructPanel in class AConstructFramePanel
Parameters:
object - the UI object to be viewed/edited

setUIConstruct

public void setUIConstruct(UIObject object)
Sets the given UI construct to be viewed/edited. Also sets the uiConstruct in the current editorPanel

Specified by:
setUIConstruct in interface ConstructFraming
Overrides:
setUIConstruct in class AConstructFramePanel
Parameters:
object - the UI object to be viewed/edited

beforeClosing

public boolean beforeClosing()
Overrides:
beforeClosing in class AConstructFramePanel

constructAdded

public void constructAdded(UIDomainEvent event)
Called when a UI construct is added. Use getSource() to get at the domain (UI/IX) in which the event occurred. Use getObject() to get at the object (UI/IX) that has been added.

Specified by:
constructAdded in interface UIDomainListener

constructAdded

public void constructAdded(DomainEvent event)
Specified by:
constructAdded in interface UIDomainListener

constructEdited

public void constructEdited(UIDomainEvent event)
Called when a UI construct is edited. Use getSource() to get at the UIDomain in which the event occurred. Use getObject() to get at the UIObject that has been edited.

Specified by:
constructEdited in interface UIDomainListener

constructRemoved

public void constructRemoved(UIDomainEvent event)
Called when a UI construct is removed. Use getSource() to get at the UIDomain in which the event occurred. Use getObject() to get at the UIObject that has been removed.

Specified by:
constructRemoved in interface UIDomainListener

domainCleared

public void domainCleared(UIDomainEvent event)
Description copied from interface: UIDomainListener
Called when the domain is cleared.

Specified by:
domainCleared in interface UIDomainListener

domainEdited

public void domainEdited(UIDomainEvent se)
Description copied from interface: UIDomainListener
Called when the domain's own fields changed (currently only name).

Specified by:
domainEdited in interface UIDomainListener

domainSet

public void domainSet(UIDomainEvent event)
Description copied from interface: UIDomainListener
Called when the domain is added.

Specified by:
domainSet in interface UIDomainListener

getClassFromUser

protected UIObjectClass getClassFromUser(UIObjectClass parentClass)

getClassFromUser

protected UIObjectClass getClassFromUser(java.lang.String message,
                                         UIObjectClass parentClass)

getClassFromUser

protected UIObjectClass getClassFromUser(java.util.List offers,
                                         UIObjectClass parentClass)

getClassFromUser

protected UIObjectClass getClassFromUser(java.util.List offers,
                                         java.lang.String message,
                                         UIObjectClass parentClass)

userNewChild

public void userNewChild()

userAddChild

public void userAddChild()

userDeleteChild

public void userDeleteChild()

userEditChild

public void userEditChild()

userAddParent

public void userAddParent()

userDeleteParent

public void userDeleteParent()

userEditParent

public void userEditParent()

ensureSearcher

public void ensureSearcher()

userSearch

public void userSearch()

ensurePropEditor

public void ensurePropEditor()

userAddProperty

public void userAddProperty()

userDeleteProperty

public void userDeleteProperty()

userEditProperty

public void userEditProperty()

deleteConstruct

public void deleteConstruct()
Deletes the construct, then sets its parent. overwrites abstract class. Deleting the current class results not in a new construct, but in selecting a parent. Does not allow deletion of root node.

Overrides:
deleteConstruct in class AConstructFramePanel

getCurrentTreeNode

protected IXTreeNode getCurrentTreeNode()

frameActionPerformed

public boolean frameActionPerformed(java.awt.event.ActionEvent event)
Recognises panel specific events and processes them. This is a separate method because it must let other event handlers know whether it recognised the event.

Specified by:
frameActionPerformed in interface FramePanel
Specified by:
frameActionPerformed in interface ConstructFraming
Specified by:
frameActionPerformed in class AConstructFramePanel
Parameters:
event - the event to be processed.
Returns:
true if the event was recognised, false if not.

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent ae)
Wakes up the ActionListener with a user action. This is called when a KeyStroke happens in which the ActionListener registered its interest.

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

treeNodesChanged

public void treeNodesChanged(javax.swing.event.TreeModelEvent e)

treeNodesInserted

public void treeNodesInserted(javax.swing.event.TreeModelEvent e)

treeNodesRemoved

public void treeNodesRemoved(javax.swing.event.TreeModelEvent e)

treeStructureChanged

public void treeStructureChanged(javax.swing.event.TreeModelEvent e)

valueChanged

public void valueChanged(javax.swing.event.TreeSelectionEvent e)
Specified by:
valueChanged in interface javax.swing.event.TreeSelectionListener