ix.iview
Class DomainEditorFrame

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by ix.iface.util.ToolFrame
                          extended by ix.iface.ui.JFrameMT
                              extended by ix.iface.ui.JFrameMTP
                                  extended by ix.iview.DomainEditorFrame
All Implemented Interfaces:
AgentNameListener, FrameSymbols, UIDomainListener, UndoChangeListener, IDESymbols, InternalDomainEditor, java.awt.event.ActionListener, java.awt.event.ItemListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ChangeListener, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class DomainEditorFrame
extends JFrameMTP
implements javax.swing.event.ChangeListener, UIDomainListener, UndoChangeListener, InternalDomainEditor, IDESymbols

An editor/viewer frame for domain details. The editor can be created with a mandatory mode (true for simple, false for advanced) and an optional domain or an optional title. Most of the window buidling goes on in the ConstructFramePanels and their ConstructEditorPanels, except for the menubar and the toolbar.

Super-class JFrameMT defines useful menu/toolbar making things. Most of the action processing goes on in the ConstructFramePanels, except for domain specific things (read...) and window things (toggles).

Example for using DomainEditor:


   ...
   File modelDirectory = DomainParser.getLibraryDirectory();
   boolean isSimple = false;
   DomainEditor frame = new DomainEditor(isSimple);
   frame.setModelDirectory(modelDirectory);
   frame.setVisible(true);
   ...
 

See Also:
Serialized Form

Nested Class Summary
(package private)  class DomainEditorFrame.IXWindow
           
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
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  AboutFrame aboutFrame
           
protected  ActionEditorPanel actionPanel
           
protected  javax.swing.ImageIcon advancedIcon
           
protected  IXToolItem advancedItem
           
protected  IXAgent agent
           
 IXToolItem[] allButtons
           
 IXToolItem[] allMenuItems
           
protected  AROEditorPanel aroPanel
           
protected  IXToolItem changesAllItem
           
protected  IXToolItem changesItem
           
protected  IXToolItem changesOItem
           
protected  javax.swing.ImageIcon checkIcon
           
protected  IXToolItem checkItem
           
protected  IXToolItem clearItem
           
protected  javax.swing.ImageIcon comprehensiveIcon
           
protected  IXToolItem comprehensiveItem
           
protected  IXToolItem declareItem
           
 java.io.File directory
           
protected  GlobalFramePanel domainPanel
           
protected  IXToolItem findVarsItem
           
protected  IXToolItem genItem
           
protected  GrammarEditorPanel grammarPanel
           
protected  javax.swing.ImageIcon graphicalIcon
           
protected  IXToolItem graphicalItem
           
protected  IXToolItem insertItem
           
protected  boolean isEditable
           
protected  AConstructFramePanel lexiconPanel
           
protected  boolean listsAsText
           
protected  javax.swing.ImageIcon minimalIcon
           
protected  IXToolItem minimalItem
           
protected  javax.swing.JMenu modeMenu
           
protected  javax.swing.ImageIcon modifyIcon
           
protected  IXToolItem modifyItem
           
protected  IXToolItem newEditItem
           
protected  OrderingEditor orderingEditor
           
protected  IXToolItem parallelItem
           
protected  IXToolItem preferencesItem
           
protected  Symbol preferredConstraints
           
protected  javax.swing.ImageIcon preferredIcon
           
protected  IXToolItem preferredItem
           
protected  java.lang.String preferredStyle
           
protected  Symbol preferredView
           
protected  JPropertiesManager propMan
           
protected  javax.swing.ImageIcon publishIcon
           
protected  IXToolItem publishItem
           
protected  IXToolItem refreshItem
           
protected  IXToolItem revertDItem
           
protected  javax.swing.ImageIcon revertOIcon
           
protected  IXToolItem revertOItem
           
protected  IXToolItem searchItem
           
protected  IXToolItem sequenceItem
           
protected  IXToolItem sequenceNewItem
           
 IXToolItem[] showButtons
           
protected  boolean showButtonTexts
           
protected  javax.swing.ImageIcon simpleIcon
           
protected  IXToolItem simpleItem
           
protected  boolean simpleMode
           
protected  IXToolItem sortItem
           
(package private)  javax.swing.JToolBar.Separator tbs
           
protected  AConstructFramePanel testPanel
           
protected  boolean useNewCondEd
           
protected  javax.swing.ImageIcon varDecIcon
           
protected  IXToolItem viewFieldsItem
           
protected  javax.swing.JMenu viewsMenu
           
 
Fields inherited from class ix.iface.ui.JFrameMTP
cardsPanel, isAdjusting, styleMenu, tabbedPane, windowsMenu
 
Fields inherited from class ix.iface.ui.JFrameMT
aboutItem, closeItem, copyIcon, copyItem, cutIcon, cutItem, editMenu, exitItem, extensions, file, fileChooser, fileMenu, fileType, helpFile, helpFrame, helpFrameIcon, helpIcon, helpItem, helpMenu, JPanel2, mainJPanel, manualItem, menuBar, newIcon, newItem, openIcon, openItem, optionsMenu, pasteIcon, pasteItem, redoIcon, redoItem, revertIcon, revertItem, saveAsItem, saveIcon, saveItem, toolBar, toolbarItem, toolsMenu, viewMenu
 
Fields inherited from class ix.iface.util.ToolFrame
toolFrames
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
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 ix.iface.ui.FrameSymbols
STYLE_CARD, STYLE_SIMPLE, STYLE_TABBED
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DomainEditorFrame(DomainEditor editor)
          Makes the editor in stand-alone mode.
DomainEditorFrame(DomainEditor editor, boolean standAlone)
          Makes the editor frame with the given stand alone mode.
DomainEditorFrame(DomainEditor editor, Domain domain)
          Makes the editor with the given domain - simple, stand-alone by default.
DomainEditorFrame(DomainEditor editor, Domain domain, boolean alone)
          Makes the editor with the given mode and load the given domain.
 
Method Summary
 void aboutDialog()
           
 void actionPerformed(java.awt.event.ActionEvent event)
          Implements the ActionListener interface.
protected  void activateDomainItems()
           
 void activateUndo()
           
 void adaptDefaultMenu()
          Dummy method that can be overridden by sub-classes to adapt the default.
protected  void adaptMenusToPanel(javax.swing.JPanel panel)
          Called whenever the current panel is updated
protected  void adaptMenusToPanelTrial(javax.swing.JPanel panel)
          Called whenever the current panel is updated
protected  void adaptMenuToAction()
           
protected  void addPanels()
          Adds all panels to the frame.
protected  void clearPanels()
          Clears all panels of the frame.
protected  boolean closePanels()
          Closes all panels of the frame.
 void constructAdded(DomainEvent e)
           
 void constructAdded(UIDomainEvent e)
          Called when a UI construct is added.
 void constructEdited(UIDomainEvent e)
          Called when a UI construct is edited.
 void constructRemoved(UIDomainEvent e)
          Called when a UI construct is removed.
protected  boolean currentPanelChanging(javax.swing.JPanel oldPanel, javax.swing.JPanel newPanel)
          Changing current panel from old to new.
 void domainCleared(UIDomainEvent e)
          Called when the domain is cleared.
 void domainEdited(UIDomainEvent se)
          Called when the domain's own fields changed (currently only name).
 void domainSet(UIDomainEvent se)
          Called when the domain is added.
 DomainEditor editor()
           
protected  void enableView(Symbol view)
           
protected  void ensureUIDomainListeners(UIDomain uiDomain)
          transfer listeners and tell them things have changed
 void exitApplication()
           
 Domain getDomain()
           
 java.io.File getModelDirectory()
           
 UIDomain getUIDomain()
           
 boolean isSimple()
           
 boolean isSimpleMode()
           
 boolean listsAsText()
          Check whether lists are to be displayed as texts.
static void main(java.lang.String[] args)
           
 void makeEditMenu()
          Makes an edit menu Menu items: edit construct Toolbar buttons: none
 void makeFileMenu()
          Makes a the file menu and toolbar buttons.
 void makeFileMenuExits()
          Makes default close/exit menu options and and toolbar buttons.
 void makeHelpMenu()
          Make sure that if this is overwritten, adaptDefaultMenu is called elsewhere.
 void makeModeMenu()
           
 void makeOptionsMenu()
          Overrides the one in JFrameMTP and JFrameMT - goes into View menu, not File.
protected  void makePreferences()
           
 void makeTitle(IXAgent theAgent)
          Makes the editor title and ensures not-stand-alone visuals.
protected  void makeToolbar()
           
 void makeToolsMenu()
          Makes a tools menu and toolbar buttons.
 void makeViewMenu()
           
 void makeViewsMenu()
           
protected  void populateEditMenu()
          Fill the edit menu with constructs from the domain.
protected  void postInitPanels()
           
protected static void readDomain(Domain domain)
           
static void readDomain(Domain domain, java.lang.String resourceName)
          Adds definitions from a given resource to a given domain.
 void refinementAdded(RefinementEvent e)
           
static java.net.URL resolveDomainFile(java.lang.String resourceName)
           
 void saveExpansion(Refinement data)
          The name of this is a hangover from something Jeff did.
 void setActivityView(Symbol view)
          If the state of the menu item does not correspond to the new setting, it is changed.
protected  void setBoundsFromProperties()
           
 void setConstraintsView(Symbol constrView)
           
 void setConstruct(IXObject construct)
          Sets the given construct as the current one and displays it for editing.
 void setDefaultSequence(boolean on)
          Sets the toggle for default sub-activity sequencing behaviour.
protected  void setDomain(Domain domain)
          Sets the given domain as current both in this frame and the domain editor panel.
 void setEditable(boolean editable)
          Changes the flat that toggles I-DE viewer-only/viewer-editor mode.
 void setGraphical()
          If the state of the menu item does not correspond to the new setting, it is changed.
protected  void setMode(Symbol mode)
           
 void setModelDirectory(java.io.File directory)
          Sets the directory used to load/save models.
 boolean setPanelStyle(java.lang.String style)
           
 void setSimpleMode(boolean newSimple)
          Sets the editor to simple (true) or advanced (false) mode.
 void setUIConstruct(UIObject construct)
          Sets the given UIObject as the current one and displays it for editing.
 void setUIDomain(UIDomain uiDomain)
          Sets the given UIDomain as current both in this frame and the domain editor panel.
protected  void setUIDomainListeners(UIDomain uiDomain)
          transfer listeners and tell them things have changed
 void setupFrame()
          Makes the editor frame with the given stand alone mode.
protected  void setVisuals()
           
 void showButtonTexts(boolean show)
           
protected  void showListsAsTexts(boolean show)
           
 void undoChanged(UndoManager manager, EditableObject uio)
           
 void updateCurrentPanel(AConstructFramePanel panel)
          Sets the current panel and sets the domain in the panel
protected  void updateToolbar(boolean show)
          Updates the toolbar buttons with text shown or not, according to the parameter
 void updateViewMenu(Symbol view)
          Call this to keep the Activity Views menu in line with the view that is shown.
protected  void useNewCondEditor(boolean use)
           
protected  void userClearDomain()
          Clears the current domain.
 boolean userClose()
          Close the editor or exit it if it is running stand-alone.
protected  void userInsertDomain()
          Gets a domain file name and reads it.
protected  void userOpenDomain()
          Gets a domain file name, reads it, and replaces the contents of the current domain with the read ones.
protected  void userPublishDomain()
           
protected  void userRevertDomain()
          Reverts the whole draft domain to the last published (or original) one.
protected  java.io.File userSaveDomain()
           
protected  java.io.File userSaveDomainAs()
           
 void userViewAllChanges()
           
 void userViewChanges()
           
 void userViewChangesFromOriginal()
           
 
Methods inherited from class ix.iface.ui.JFrameMTP
addPanel, changePanelStyle, fillWindowsMenu, getACurrentPanel, getCurrentPanel, getNamedPanel, getPanels, getPanelStyle, getPanelStyles, itemStateChanged, makeDefaultMenuToolbar, makeStyleMenu, makeWindowsMenu, makeWindowsMenu, removeAllPanels, setCurrentPanel, setPanelStyles, setStyleInMenu, setWindowsMenuSelection, stateChanged, updateCurrentPanel, updateCurrentPanel
 
Methods inherited from class ix.iface.ui.JFrameMT
adaptDefaultMenuToolbar, adaptDefaultToolbar, close, ensureFileChooser, ensureHelpFrame, exit, makeDefaultMenu, MakeDefaultToolbar, makeEditMenuTool, makeFileMenuTool, makeFileMenuToolExits, makeFileMenuToolFiles, makeFrame, makeHelpMenuTool, makeMenu, makeMenuToolBars, makeOptionsMenuTool, makeRadioMenuItem, makeToolbarItem, makeToolsMenuTool, makeViewMenuTool, openFile, openFile, placeToolbarButton, saveFile, saveFileAs, saveToFile, toggleToolbar, userChooseFile, userHelp, userManual, validFileName
 
Methods inherited from class ix.iface.util.ToolFrame
setVisible, symbolNameChanged, walkToolFrames
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
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, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, show, 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, 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, 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
 
Methods inherited from interface javax.swing.event.ChangeListener
stateChanged
 
Methods inherited from interface ix.iview.InternalDomainEditor
setVisible
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

agent

protected IXAgent agent

propMan

protected JPropertiesManager propMan

domainPanel

protected GlobalFramePanel domainPanel

actionPanel

protected ActionEditorPanel actionPanel

aroPanel

protected AROEditorPanel aroPanel

grammarPanel

protected GrammarEditorPanel grammarPanel

lexiconPanel

protected AConstructFramePanel lexiconPanel

testPanel

protected AConstructFramePanel testPanel

orderingEditor

protected OrderingEditor orderingEditor

aboutFrame

protected AboutFrame aboutFrame

checkIcon

protected javax.swing.ImageIcon checkIcon

revertOIcon

protected javax.swing.ImageIcon revertOIcon

modifyIcon

protected javax.swing.ImageIcon modifyIcon

varDecIcon

protected javax.swing.ImageIcon varDecIcon

publishIcon

protected javax.swing.ImageIcon publishIcon

minimalIcon

protected javax.swing.ImageIcon minimalIcon

comprehensiveIcon

protected javax.swing.ImageIcon comprehensiveIcon

graphicalIcon

protected javax.swing.ImageIcon graphicalIcon

preferredIcon

protected javax.swing.ImageIcon preferredIcon

simpleIcon

protected javax.swing.ImageIcon simpleIcon

advancedIcon

protected javax.swing.ImageIcon advancedIcon

publishItem

protected IXToolItem publishItem

insertItem

protected IXToolItem insertItem

clearItem

protected IXToolItem clearItem

revertDItem

protected IXToolItem revertDItem

changesAllItem

protected IXToolItem changesAllItem

newEditItem

protected IXToolItem newEditItem

revertOItem

protected IXToolItem revertOItem

modifyItem

protected IXToolItem modifyItem

declareItem

protected IXToolItem declareItem

findVarsItem

protected IXToolItem findVarsItem

modeMenu

protected javax.swing.JMenu modeMenu

refreshItem

protected IXToolItem refreshItem

changesItem

protected IXToolItem changesItem

changesOItem

protected IXToolItem changesOItem

simpleItem

protected IXToolItem simpleItem

advancedItem

protected IXToolItem advancedItem

sortItem

protected IXToolItem sortItem

viewsMenu

protected javax.swing.JMenu viewsMenu

minimalItem

protected IXToolItem minimalItem

comprehensiveItem

protected IXToolItem comprehensiveItem

graphicalItem

protected IXToolItem graphicalItem

viewFieldsItem

protected IXToolItem viewFieldsItem

checkItem

protected IXToolItem checkItem

genItem

protected IXToolItem genItem

searchItem

protected IXToolItem searchItem

preferencesItem

protected IXToolItem preferencesItem

preferredItem

protected IXToolItem preferredItem

sequenceNewItem

protected IXToolItem sequenceNewItem

sequenceItem

protected IXToolItem sequenceItem

parallelItem

protected IXToolItem parallelItem

allButtons

public IXToolItem[] allButtons

showButtons

public IXToolItem[] showButtons

allMenuItems

public IXToolItem[] allMenuItems

simpleMode

protected boolean simpleMode

showButtonTexts

protected boolean showButtonTexts

isEditable

protected boolean isEditable

listsAsText

protected boolean listsAsText

useNewCondEd

protected boolean useNewCondEd

preferredView

protected Symbol preferredView

preferredStyle

protected java.lang.String preferredStyle

preferredConstraints

protected Symbol preferredConstraints

directory

public java.io.File directory

tbs

javax.swing.JToolBar.Separator tbs
Constructor Detail

DomainEditorFrame

public DomainEditorFrame(DomainEditor editor)
Makes the editor in stand-alone mode. Subsequently, the domain can be set with the setDomain method or it can be loaded via the menu. The default window title is "IX - Domain Editor".


DomainEditorFrame

public DomainEditorFrame(DomainEditor editor,
                         boolean standAlone)
Makes the editor frame with the given stand alone mode. Sets up panels and sub-editors, but does not initialise fully. This should be done when properties have been read. Subsequently, the domain can be set with the setDomain method or it can be loaded via the menu. The default window title is "IX - Domain Editor".

Parameters:
editor: - the class that looks after domain editing
standAlone - mode: true for standAlone, false for part of other application

DomainEditorFrame

public DomainEditorFrame(DomainEditor editor,
                         Domain domain)
Makes the editor with the given domain - simple, stand-alone by default. The default window title is "IX - Domain Editor".

Parameters:
domain - the domain to use in the editor

DomainEditorFrame

public DomainEditorFrame(DomainEditor editor,
                         Domain domain,
                         boolean alone)
Makes the editor with the given mode and load the given domain. The default window title is "IX - Domain Editor".

Parameters:
domain - the domain to use in the editor
standAlone - mode: true for standAlone, false for part of other application
Method Detail

setupFrame

public void setupFrame()
Makes the editor frame with the given stand alone mode. Subsequently, the domain can be set with the setDomain method or it can be loaded via the menu. The default window title is "IX - Domain Editor".


makeTitle

public void makeTitle(IXAgent theAgent)
Makes the editor title and ensures not-stand-alone visuals.

Parameters:
theAgent - the IXAgent that wants the editor to start

editor

public DomainEditor editor()

postInitPanels

protected void postInitPanels()

listsAsText

public boolean listsAsText()
Check whether lists are to be displayed as texts. Used by GrammarEditorPanel.

Returns:
true if lists are to be displayed as texts, false otherwise.

isSimple

public boolean isSimple()
Returns:
true if the frame is in simple mode (single style, minimal view), false otherwise.

setBoundsFromProperties

protected void setBoundsFromProperties()

setMode

protected void setMode(Symbol mode)

updateToolbar

protected void updateToolbar(boolean show)
Updates the toolbar buttons with text shown or not, according to the parameter


showListsAsTexts

protected void showListsAsTexts(boolean show)

useNewCondEditor

protected void useNewCondEditor(boolean use)

addPanels

protected void addPanels()
Adds all panels to the frame.


clearPanels

protected void clearPanels()
Clears all panels of the frame.


closePanels

protected boolean closePanels()
Closes all panels of the frame.


currentPanelChanging

protected boolean currentPanelChanging(javax.swing.JPanel oldPanel,
                                       javax.swing.JPanel newPanel)
Changing current panel from old to new.

Overrides:
currentPanelChanging in class JFrameMTP
Returns:
true if the panels should really change, false if the old panel should remain.

setVisuals

protected void setVisuals()

setEditable

public void setEditable(boolean editable)
Changes the flat that toggles I-DE viewer-only/viewer-editor mode.


isSimpleMode

public boolean isSimpleMode()
Returns:
the current setting of the simpleMode flag

setActivityView

public void setActivityView(Symbol view)
If the state of the menu item does not correspond to the new setting, it is changed. If the editor is already in the given mode, nothing is done, except ensuring that the menu item is set to the corresponding state. Currently, nothing else changes in the frame, so the command is passed on to the ActionEditorPanel.


setPanelStyle

public boolean setPanelStyle(java.lang.String style)
Overrides:
setPanelStyle in class JFrameMTP

setConstraintsView

public void setConstraintsView(Symbol constrView)

updateViewMenu

public void updateViewMenu(Symbol view)
Call this to keep the Activity Views menu in line with the view that is shown.


setSimpleMode

public void setSimpleMode(boolean newSimple)
Sets the editor to simple (true) or advanced (false) mode. If the state of the menu item does not correspond to the new setting, it is changed. If the editor is already in the given mode, nothing is done, except ensuring that the menu item is set to the corresponding state. Currently, nothing else changes in the frame, so the command is passed on to the ActionEditorPanel.


setGraphical

public void setGraphical()
If the state of the menu item does not correspond to the new setting, it is changed.


setModelDirectory

public void setModelDirectory(java.io.File directory)
Sets the directory used to load/save models. This method just notes the given value which is used when needed for the file selectors for loading and saving models


getModelDirectory

public java.io.File getModelDirectory()
Returns:
the directory used to load/save models.

enableView

protected void enableView(Symbol view)

adaptDefaultMenu

public void adaptDefaultMenu()
Description copied from class: JFrameMT
Dummy method that can be overridden by sub-classes to adapt the default.

Overrides:
adaptDefaultMenu in class JFrameMT

adaptMenuToAction

protected void adaptMenuToAction()

makeFileMenu

public void makeFileMenu()
Makes a the file menu and toolbar buttons. Replaces that of the superclass Menu items: new, open, save, save as, S, Options, S, close, exit Toolbar buttons: new, open, save

Overrides:
makeFileMenu in class JFrameMT

makeFileMenuExits

public void makeFileMenuExits()
Makes default close/exit menu options and and toolbar buttons. Menu items: S, close, exit Toolbar buttons: none

Overrides:
makeFileMenuExits in class JFrameMT

makeOptionsMenu

public void makeOptionsMenu()
Overrides the one in JFrameMTP and JFrameMT - goes into View menu, not File.

Overrides:
makeOptionsMenu in class JFrameMTP

makeEditMenu

public void makeEditMenu()
Makes an edit menu Menu items: edit construct Toolbar buttons: none

Overrides:
makeEditMenu in class JFrameMT

makeViewMenu

public void makeViewMenu()
Overrides:
makeViewMenu in class JFrameMTP

makeModeMenu

public void makeModeMenu()

makeViewsMenu

public void makeViewsMenu()

makeToolsMenu

public void makeToolsMenu()
Makes a tools menu and toolbar buttons. Menu items: none Toolbar buttons: none

Overrides:
makeToolsMenu in class JFrameMT

makeHelpMenu

public void makeHelpMenu()
Description copied from class: JFrameMT
Make sure that if this is overwritten, adaptDefaultMenu is called elsewhere.

Overrides:
makeHelpMenu in class JFrameMT

makeToolbar

protected void makeToolbar()

showButtonTexts

public void showButtonTexts(boolean show)

adaptMenusToPanel

protected void adaptMenusToPanel(javax.swing.JPanel panel)
Called whenever the current panel is updated

Overrides:
adaptMenusToPanel in class JFrameMTP

adaptMenusToPanelTrial

protected void adaptMenusToPanelTrial(javax.swing.JPanel panel)
Called whenever the current panel is updated


populateEditMenu

protected void populateEditMenu()
Fill the edit menu with constructs from the domain.


activateDomainItems

protected void activateDomainItems()

activateUndo

public void activateUndo()

undoChanged

public void undoChanged(UndoManager manager,
                        EditableObject uio)
Specified by:
undoChanged in interface UndoChangeListener

makePreferences

protected void makePreferences()

saveExpansion

public void saveExpansion(Refinement data)
The name of this is a hangover from something Jeff did. This is meant to set the given refinement into the editor ready to be changed.

Specified by:
saveExpansion in interface InternalDomainEditor

setConstruct

public void setConstruct(IXObject construct)
Sets the given construct as the current one and displays it for editing. All work is done in the current panel.

Parameters:
construct - the original domain object to be viewed/edited

setUIConstruct

public void setUIConstruct(UIObject construct)
Sets the given UIObject as the current one and displays it for editing. All work is done in the current panel.

Parameters:
construct - the UI object to be viewed/edited

setDomain

protected void setDomain(Domain domain)
Sets the given domain as current both in this frame and the domain editor panel.

Parameters:
domain - the domain to use

setUIDomain

public void setUIDomain(UIDomain uiDomain)
Sets the given UIDomain as current both in this frame and the domain editor panel.

Parameters:
uiDomain - the UIDomain to use

ensureUIDomainListeners

protected void ensureUIDomainListeners(UIDomain uiDomain)
transfer listeners and tell them things have changed


setUIDomainListeners

protected void setUIDomainListeners(UIDomain uiDomain)
transfer listeners and tell them things have changed


getUIDomain

public UIDomain getUIDomain()

getDomain

public Domain getDomain()

updateCurrentPanel

public void updateCurrentPanel(AConstructFramePanel panel)
Sets the current panel and sets the domain in the panel

Parameters:
domain - the domain to use

setDefaultSequence

public void setDefaultSequence(boolean on)
Sets the toggle for default sub-activity sequencing behaviour.

Parameters:
on - true: put new sub-activities in sequence, false: put them in parallel.

userClearDomain

protected void userClearDomain()
Clears the current domain. Gets confirmation from the user if the domain is not empty.


userRevertDomain

protected void userRevertDomain()
Reverts the whole draft domain to the last published (or original) one. Gets confirmation from the user if the domain has changed.


userOpenDomain

protected void userOpenDomain()
Gets a domain file name, reads it, and replaces the contents of the current domain with the read ones.


userInsertDomain

protected void userInsertDomain()
Gets a domain file name and reads it.


userSaveDomain

protected java.io.File userSaveDomain()

userSaveDomainAs

protected java.io.File userSaveDomainAs()

userPublishDomain

protected void userPublishDomain()

refinementAdded

public void refinementAdded(RefinementEvent e)

constructAdded

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

constructAdded

public void constructAdded(UIDomainEvent e)
Description copied from interface: UIDomainListener
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

constructEdited

public void constructEdited(UIDomainEvent e)
Description copied from interface: UIDomainListener
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 e)
Description copied from interface: UIDomainListener
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 e)
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 se)
Description copied from interface: UIDomainListener
Called when the domain is added.

Specified by:
domainSet in interface UIDomainListener

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
Implements the ActionListener interface. If this cannot recognise the event, it passes it to the current AConstructFramePanel. If the panel does not recognise the event either, this passes it to its superclass (JFrameMTP, which will pass the event to the current panel first).

Catch specific menu/toolbar events here. Let the panels process their own events, let the superclass process panel-swapping events (inc. style) and, via its superclass, general window events (close, exit, ...)

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

userViewAllChanges

public void userViewAllChanges()

userViewChanges

public void userViewChanges()

userViewChangesFromOriginal

public void userViewChangesFromOriginal()

exitApplication

public void exitApplication()
Overrides:
exitApplication in class JFrameMT

userClose

public boolean userClose()
Close the editor or exit it if it is running stand-alone. Will check if edits have been noted (and put up dialogues) and will check whether changes have been saved (and published if not running stand-alone).

Returns:
true if the editor is closed, false if the user canceled.

aboutDialog

public void aboutDialog()
Overrides:
aboutDialog in class JFrameMT

main

public static void main(java.lang.String[] args)

readDomain

protected static void readDomain(Domain domain)

readDomain

public static void readDomain(Domain domain,
                              java.lang.String resourceName)
Adds definitions from a given resource to a given domain. Does *not* perform consistency checks on the way.


resolveDomainFile

public static java.net.URL resolveDomainFile(java.lang.String resourceName)