org.mlc.swing.layout
Class LayoutFrame

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 org.mlc.swing.layout.LayoutFrame
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, MultiContainerFrame

public class LayoutFrame
extends javax.swing.JFrame
implements MultiContainerFrame

This is the frame that enables you to build a layout. The principle component is the FormEditor panel.

Since:
Ptolemy II 8.0
Version:
$Id: LayoutFrame.java 57044 2010-01-27 22:41:05Z cxh $
Author:
Michael Connor mlconnor@yahoo.com
See Also:
Serialized Form

Nested Class Summary
private  class LayoutFrame.CodeDialog
           
private  class LayoutFrame.XmlFileFilter
           
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
(package private)  javax.swing.JMenu actionMenu
           
(package private)  LayoutConstraintsManager constraintsManager
           
 javax.swing.JFrame dframe
           
(package private)  java.util.Map<ContainerLayout,FormEditor> editors
           
(package private)  javax.swing.JMenuItem exit
           
(package private)  javax.swing.JFileChooser fileChooser
           
(package private)  java.util.Map<ContainerLayout,java.awt.Component> layoutToTab
           
(package private)  javax.swing.JMenuBar menuBar
           
(package private)  java.util.List<ContainerLayout> newLayouts
           
(package private)  javax.swing.JMenuItem saveXML
           
(package private)  javax.swing.JTabbedPane tabs
           
(package private)  javax.swing.JMenuItem viewCode
           
(package private)  javax.swing.JCheckBoxMenuItem viewDebugMenu
           
(package private)  javax.swing.JMenu viewMenu
           
 
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 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
LayoutFrame(LayoutConstraintsManager constraintsManager)
          Creates a new instance of Class
 
Method Summary
 void addContainer(java.lang.String name, java.awt.Container container)
          This is for adding containers on the fly.
private  void addContainerLayout(ContainerLayout containerLayout, java.awt.Container container)
           
protected  void enableDebugPreview(boolean b)
          Activate "debug" version of preview frame.
 void exitApplication()
           
 boolean hasContainer(java.lang.String name)
          Return true if the frame has a container with the specified name.
static void main(java.lang.String[] args)
           
private static javax.swing.JFrame makeDebugPreview(LayoutConstraintsManager lcm)
          Makes a preview frame using FormDebugPanel.
 void removeContainer(java.lang.String name)
          Remove the container with the specified name.
(package private)  void setPreviewFrame(LayoutConstraintsManager lcm, javax.swing.JFrame dframe)
          Establish the current preview window.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Frame
addNotify, finalize, 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, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, 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, paint, 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, 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, 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
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

constraintsManager

LayoutConstraintsManager constraintsManager

menuBar

javax.swing.JMenuBar menuBar

actionMenu

javax.swing.JMenu actionMenu

saveXML

javax.swing.JMenuItem saveXML

viewCode

javax.swing.JMenuItem viewCode

exit

javax.swing.JMenuItem exit

viewMenu

javax.swing.JMenu viewMenu

viewDebugMenu

javax.swing.JCheckBoxMenuItem viewDebugMenu

fileChooser

final javax.swing.JFileChooser fileChooser

editors

java.util.Map<ContainerLayout,FormEditor> editors

tabs

javax.swing.JTabbedPane tabs

layoutToTab

java.util.Map<ContainerLayout,java.awt.Component> layoutToTab

newLayouts

java.util.List<ContainerLayout> newLayouts

dframe

public javax.swing.JFrame dframe
Constructor Detail

LayoutFrame

public LayoutFrame(LayoutConstraintsManager constraintsManager)
Creates a new instance of Class

Method Detail

hasContainer

public boolean hasContainer(java.lang.String name)
Description copied from interface: MultiContainerFrame
Return true if the frame has a container with the specified name.

Specified by:
hasContainer in interface MultiContainerFrame
Parameters:
name - The name of the container.

exitApplication

public void exitApplication()

removeContainer

public void removeContainer(java.lang.String name)
Description copied from interface: MultiContainerFrame
Remove the container with the specified name. This may throw a RuntimeException if the container does not exist.

Specified by:
removeContainer in interface MultiContainerFrame
Parameters:
name - The name of the container.

addContainer

public void addContainer(java.lang.String name,
                         java.awt.Container container)
                  throws java.lang.IllegalArgumentException
This is for adding containers on the fly. The idea is that when someone creates a new panel in one of the existing FormEditors, it can be added here and then they can lay it out.

Specified by:
addContainer in interface MultiContainerFrame
Parameters:
name - The name of the container.
container - The container.
Throws:
java.lang.IllegalArgumentException

addContainerLayout

private void addContainerLayout(ContainerLayout containerLayout,
                                java.awt.Container container)

setPreviewFrame

void setPreviewFrame(LayoutConstraintsManager lcm,
                     javax.swing.JFrame dframe)
Establish the current preview window. Used to switch between the "normal" and "debug" preview windows. KBR 03/26/06 Use this as the mechanism to enable the 'debug preview' menu, which is disabled by default (to have it disabled when FLM is invoked via the user's app).

Parameters:
dframe - the Jframe for the window.

enableDebugPreview

protected void enableDebugPreview(boolean b)
Activate "debug" version of preview frame. The title is set accordingly.

Parameters:
b - true to activate debug version

makeDebugPreview

private static javax.swing.JFrame makeDebugPreview(LayoutConstraintsManager lcm)
Makes a preview frame using FormDebugPanel. The panel can be switched between debug and non-debug modes via @see enableDebugPreview.

Parameters:
lcm - the constraints to be used by the preview panel
Returns:
JFrame the preview window

main

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