ix.iface.ui
Class JFrameMTP

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
All Implemented Interfaces:
AgentNameListener, FrameSymbols, 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
Direct Known Subclasses:
DomainEditorFrame

public class JFrameMTP
extends JFrameMT
implements java.awt.event.ActionListener, javax.swing.event.ChangeListener, java.awt.event.ItemListener, FrameSymbols

A frame with a set of panels. Can make a default Windows and Styles menu (add to View menu?) Provides useful functions for filling a windows menu, adding panels. Keeps track of all known panels and styles and the current panel and style provides default functions for setPanelStyle, setCurrentPanel

See Also:
Serialized Form

Nested Class Summary
 
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  CardPanel cardsPanel
           
 boolean isAdjusting
          set when the panel is created so that change events can be ignored
 javax.swing.JMenu styleMenu
           
protected  javax.swing.JTabbedPane tabbedPane
           
 javax.swing.JMenu windowsMenu
           
 
Fields inherited from class ix.iface.ui.JFrameMT
aboutItem, catchingListener, closeItem, copyIcon, copyItem, cutIcon, cutItem, directory, 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, TB_HEIGHT, TBB_HEIGHT, TBB_WIDTH, TBB_Y, 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.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
JFrameMTP()
           
JFrameMTP(java.lang.String style)
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent event)
          Implements the ActionListener interface.
protected  void adaptMenusToPanel(javax.swing.JPanel panel)
           
 void addPanel(javax.swing.JPanel panel, java.lang.String name, java.lang.String tttext)
          Adds a panel to the set of panels that can be displayed.
protected  void changePanelStyle()
           
protected  boolean currentPanelChanging(javax.swing.JPanel oldPanel, javax.swing.JPanel newPanel)
          Changing current panel from old to new.
 void fillWindowsMenu()
          Makes a single-selection radio menu ("Windows") with the names of all panels.
 javax.swing.JPanel getACurrentPanel()
           
 javax.swing.JPanel getCurrentPanel()
           
protected  javax.swing.JPanel getNamedPanel(java.lang.String panelName)
           
 java.util.ArrayList getPanels()
           
 java.lang.String getPanelStyle()
           
 java.util.ArrayList getPanelStyles()
           
 void itemStateChanged(java.awt.event.ItemEvent event)
          Listens to changes in which panel is selected in the cardsPanel.
 void makeDefaultMenuToolbar()
          Makes a default menubar and toolbar.
 void makeOptionsMenu()
           
 javax.swing.JMenu makeStyleMenu(javax.swing.JComponent parentMenu)
          Makes a default style menu (all known styles) and no toolbar buttons.
 void makeViewMenu()
           
 javax.swing.JMenu makeWindowsMenu(javax.swing.JComponent parentMenu)
          Makes a default windows menu and no toolbar buttons.
 javax.swing.JMenu makeWindowsMenu(javax.swing.JComponent parentMenu, java.lang.String title)
          As above, but with the given string as the menu title.
 void removeAllPanels()
          Removes all panels from the frame.
 void setCurrentPanel(javax.swing.JPanel panel)
           
 boolean setPanelStyle(java.lang.String style)
           
 void setPanelStyles(java.util.ArrayList styles)
           
protected  void setStyleInMenu(java.lang.String style)
           
protected  void setWindowsMenuSelection(java.lang.String panelName)
           
 void stateChanged(javax.swing.event.ChangeEvent e)
          Listens to changes in which panel is selected in the TabbedPane
protected  boolean updateCurrentPanel(javax.swing.JPanel panel)
          Carry out updates when the panel has been changed in the window via tab or card selection.
protected  boolean updateCurrentPanel(java.lang.String panelName)
           
 
Methods inherited from class ix.iface.ui.JFrameMT
aboutDialog, adaptDefaultMenu, adaptDefaultMenuToolbar, adaptDefaultToolbar, close, ensureFileChooser, ensureHelpFrame, exit, exitApplication, makeDefaultMenu, MakeDefaultToolbar, makeEditMenu, makeEditMenuTool, makeFileMenu, makeFileMenuExits, makeFileMenuTool, makeFileMenuToolExits, makeFileMenuToolFiles, makeFrame, makeHelpMenu, makeHelpMenuTool, makeMenu, makeMenuToolBars, makeOptionsMenuTool, makeRadioMenuItem, makeToolbarItem, makeToolsMenu, 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 java.awt.MenuContainer
getFont, postEvent
 

Field Detail

isAdjusting

public boolean isAdjusting
set when the panel is created so that change events can be ignored


tabbedPane

protected javax.swing.JTabbedPane tabbedPane

cardsPanel

protected CardPanel cardsPanel

windowsMenu

public javax.swing.JMenu windowsMenu

styleMenu

public javax.swing.JMenu styleMenu
Constructor Detail

JFrameMTP

public JFrameMTP()

JFrameMTP

public JFrameMTP(java.lang.String style)
Method Detail

getPanelStyle

public java.lang.String getPanelStyle()

setPanelStyle

public boolean setPanelStyle(java.lang.String style)

setStyleInMenu

protected void setStyleInMenu(java.lang.String style)

getPanelStyles

public java.util.ArrayList getPanelStyles()

setPanelStyles

public void setPanelStyles(java.util.ArrayList styles)

getPanels

public java.util.ArrayList getPanels()

getACurrentPanel

public javax.swing.JPanel getACurrentPanel()

getCurrentPanel

public javax.swing.JPanel getCurrentPanel()

setCurrentPanel

public void setCurrentPanel(javax.swing.JPanel panel)

updateCurrentPanel

protected boolean updateCurrentPanel(javax.swing.JPanel panel)
Carry out updates when the panel has been changed in the window via tab or card selection. The panel is already displayed in the window, update currentPanel and menus.

Returns:
true if there were changes to be made, false if not

updateCurrentPanel

protected boolean updateCurrentPanel(java.lang.String panelName)

currentPanelChanging

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

Returns:
true if the panels should really change, false if the old panel should remain.

adaptMenusToPanel

protected void adaptMenusToPanel(javax.swing.JPanel panel)

getNamedPanel

protected javax.swing.JPanel getNamedPanel(java.lang.String panelName)

setWindowsMenuSelection

protected void setWindowsMenuSelection(java.lang.String panelName)

addPanel

public void addPanel(javax.swing.JPanel panel,
                     java.lang.String name,
                     java.lang.String tttext)
Adds a panel to the set of panels that can be displayed. Sets the given parameters in the panel and adds the panel to the panel list.

NOTE: ensure that the panel names are unique!

Parameters:
panel - the panel to be added
name - a string to be used as the panel's identifyier for the user
tttext - the tool tip text to use for the panel

removeAllPanels

public void removeAllPanels()
Removes all panels from the frame.


makeDefaultMenuToolbar

public void makeDefaultMenuToolbar()
Makes a default menubar and toolbar. Menus: File, Edit, View (Style, Windows), Help

Overrides:
makeDefaultMenuToolbar in class JFrameMT

makeViewMenu

public void makeViewMenu()
Overrides:
makeViewMenu in class JFrameMT

makeOptionsMenu

public void makeOptionsMenu()
Overrides:
makeOptionsMenu in class JFrameMT

makeWindowsMenu

public javax.swing.JMenu makeWindowsMenu(javax.swing.JComponent parentMenu)
Makes a default windows menu and no toolbar buttons. Makes a single-selection radio menu ("Windows") with the names of all panels.


makeWindowsMenu

public javax.swing.JMenu makeWindowsMenu(javax.swing.JComponent parentMenu,
                                         java.lang.String title)
As above, but with the given string as the menu title.


makeStyleMenu

public javax.swing.JMenu makeStyleMenu(javax.swing.JComponent parentMenu)
Makes a default style menu (all known styles) and no toolbar buttons. Currently, known styles are "single", "tabbed", "card"


fillWindowsMenu

public void fillWindowsMenu()
Makes a single-selection radio menu ("Windows") with the names of all panels.


changePanelStyle

protected void changePanelStyle()

itemStateChanged

public void itemStateChanged(java.awt.event.ItemEvent event)
Listens to changes in which panel is selected in the cardsPanel. Updates the selection in the Windows menu (if there is one). Note: the card panel will have displayed the panel already.

Specified by:
itemStateChanged in interface java.awt.event.ItemListener

stateChanged

public void stateChanged(javax.swing.event.ChangeEvent e)
Listens to changes in which panel is selected in the TabbedPane

Specified by:
stateChanged in interface javax.swing.event.ChangeListener

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
Implements the ActionListener interface. First passes the event to the current DomainEditorPanel to see if it can process it. If the panel does not recognise the event, this tries to do the processing itself. If this cannot recognise the event either, this passes it to its superclass (JFrameMT).

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