org.mlc.swing.layout
Class NewComponentDialog

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

public class NewComponentDialog
extends javax.swing.JPanel

When performing drag-and-drop from the component palette to the table, this class is used to define or edit a component's settings. These settings include the import, declaration, configuration lines which will be used to generate the code for the component. The same settings are used to create a 'preview' component to be shown in the preview window.

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

Nested Class Summary
 
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.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
(package private)  javax.swing.JTextArea addToContainerComponent
           
(package private)  javax.swing.JLabel addToContainerLabel
           
(package private)  java.awt.Component buttonBar
           
(package private)  javax.swing.JButton cancelButton
           
(package private)  ComponentDef componentDef
           
(package private)  javax.swing.JLabel componentNameLabel
           
(package private)  javax.swing.JTextField componentNameTextField
           
(package private)  javax.swing.JTextArea configureComponent
           
(package private)  javax.swing.JLabel configureLabel
           
(package private)  javax.swing.JTextArea declarationsComponent
           
(package private)  javax.swing.JLabel declarationsLabel
           
(package private)  javax.swing.JTextArea importsComponent
           
(package private)  javax.swing.JLabel importsLabel
           
(package private)  java.awt.Window myOwner
           
(package private)  javax.swing.JButton okButton
           
(package private)  javax.swing.JButton prevButton
           
private  java.lang.String preview
           
(package private)  javax.swing.JScrollPane previewComponent
           
(package private)  javax.swing.JLabel previewLabel
           
(package private)  javax.swing.JTextArea removeFromContainerComponent
           
(package private)  javax.swing.JLabel removeFromContainerLabel
           
private  boolean success
           
 
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 java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
NewComponentDialog(java.awt.Window owner)
          Creates a new instance of NewComponentDialog
 
Method Summary
private  java.lang.String cleanString(java.lang.String instr)
          Cleans a string.
private static javax.swing.JTextArea createTextArea(int rows, int cols)
           
static NewComponentDialog doDialog(javax.swing.JFrame owner, ComponentDef componentDef)
          Creates and displays a dialog for defining a new component's settings.
private  void doPreview()
           
 void editComponentDef(ComponentDef componentDef)
           
static NewComponentDialog editDialog(javax.swing.JFrame owner, ComponentDef componentDef)
          Creates and displays a dialog for editing a component's settings.
 java.lang.String getAdd()
           
 java.lang.String getComponentName()
          Get the component's name
 java.lang.String getConfiguration()
          Get the component's section.
 java.lang.String getDeclarations()
          Get the component's section.
 java.lang.String getImports()
          Get the component's section.
 java.awt.Component getInstance()
          Get an instance of the specified component.
static void main(java.lang.String[] args)
          Unit testing.
 void setComponentDef(ComponentDef componentDef)
           
 void setComponentName(java.lang.String componentName)
           
 void setRemove(java.lang.String remove)
           
 boolean succeeded()
           
 
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, 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, 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

componentNameLabel

javax.swing.JLabel componentNameLabel

componentNameTextField

javax.swing.JTextField componentNameTextField

importsLabel

javax.swing.JLabel importsLabel

importsComponent

javax.swing.JTextArea importsComponent

declarationsLabel

javax.swing.JLabel declarationsLabel

declarationsComponent

javax.swing.JTextArea declarationsComponent

configureLabel

javax.swing.JLabel configureLabel

configureComponent

javax.swing.JTextArea configureComponent

addToContainerLabel

javax.swing.JLabel addToContainerLabel

addToContainerComponent

javax.swing.JTextArea addToContainerComponent

removeFromContainerLabel

javax.swing.JLabel removeFromContainerLabel

removeFromContainerComponent

javax.swing.JTextArea removeFromContainerComponent

previewLabel

javax.swing.JLabel previewLabel

previewComponent

javax.swing.JScrollPane previewComponent

prevButton

javax.swing.JButton prevButton

okButton

javax.swing.JButton okButton

cancelButton

javax.swing.JButton cancelButton

buttonBar

java.awt.Component buttonBar

componentDef

ComponentDef componentDef

preview

private java.lang.String preview

myOwner

java.awt.Window myOwner

success

private boolean success
Constructor Detail

NewComponentDialog

public NewComponentDialog(java.awt.Window owner)
Creates a new instance of NewComponentDialog

Method Detail

succeeded

public boolean succeeded()

getInstance

public java.awt.Component getInstance()
Get an instance of the specified component. In FormLayoutMaker, this instance is placed in the preview panel.

For example, if the component is a JButton, this method is the equivalent of new JButton(text).

Returns:
Component An instance of the component, null if there is a problem in the specification. [It is recommended that the 'Preview' button should be clicked before exiting the dialog.]

doPreview

private void doPreview()

getComponentName

public java.lang.String getComponentName()
Get the component's name


setComponentName

public void setComponentName(java.lang.String componentName)

getImports

public java.lang.String getImports()
Get the component's section.


getDeclarations

public java.lang.String getDeclarations()
Get the component's section.


getConfiguration

public java.lang.String getConfiguration()
Get the component's section.


getAdd

public java.lang.String getAdd()

setRemove

public void setRemove(java.lang.String remove)

setComponentDef

public void setComponentDef(ComponentDef componentDef)

editComponentDef

public void editComponentDef(ComponentDef componentDef)

cleanString

private java.lang.String cleanString(java.lang.String instr)
Cleans a string. Removes extra newlines.

Parameters:
instr -
Returns:
A clean string.

createTextArea

private static javax.swing.JTextArea createTextArea(int rows,
                                                    int cols)

editDialog

public static NewComponentDialog editDialog(javax.swing.JFrame owner,
                                            ComponentDef componentDef)
Creates and displays a dialog for editing a component's settings. See doDialog(JFrame,ComponentDef) for an example.


doDialog

public static NewComponentDialog doDialog(javax.swing.JFrame owner,
                                          ComponentDef componentDef)
Creates and displays a dialog for defining a new component's settings. The dialog should be used as follows: NewComponentDialog dlg = NewComponentDialog.doDialog(frame, componentDef); if (dlg.succeeded()) { [do something with dlg.componentDef] }


main

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