Package ptolemy.vergil.icon
Class EditIconFrame
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- ptolemy.gui.Top
-
- ptolemy.actor.gui.TableauFrame
-
- ptolemy.actor.gui.PtolemyFrame
-
- ptolemy.vergil.basic.BasicGraphFrame
-
- ptolemy.vergil.icon.EditIconFrame
-
- All Implemented Interfaces:
java.awt.datatransfer.ClipboardOwner
,java.awt.event.MouseListener
,java.awt.event.MouseMotionListener
,java.awt.event.MouseWheelListener
,java.awt.event.WindowFocusListener
,java.awt.image.ImageObserver
,java.awt.MenuContainer
,java.awt.print.Printable
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.RootPaneContainer
,javax.swing.WindowConstants
,ImageExportable
,ChangeListener
,StatusHandler
,HTMLExportable
public class EditIconFrame extends BasicGraphFrame
This is an icon editor frame for Ptolemy II models.One aspect in which this editor differs from the base class is that it does not support the "drop into" feature, where if you drop a new instance onto an instance of NamedObj, that instance of NamedObj becomes the container of the new object. This feature is not useful for icon editing, and results in visual elements mysteriously disappearing when they are dropped.
- Since:
- Ptolemy II 4.0
- Version:
- $Id$
- Author:
- Edward A. Lee
- See Also:
- Serialized Form
- Pt.AcceptedRating:
- Red (johnr)
- Pt.ProposedRating:
- Red (eal)
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class ptolemy.vergil.basic.BasicGraphFrame
BasicGraphFrame.CopyAction, BasicGraphFrame.CutAction, BasicGraphFrame.EditPreferencesAction, BasicGraphFrame.ExportImageAction, BasicGraphFrame.FindAction, BasicGraphFrame.FolderFileFilter, BasicGraphFrame.MousePressedLayerAdapter, BasicGraphFrame.MoveToBackAction, BasicGraphFrame.MoveToFrontAction, BasicGraphFrame.PasteAction
-
Nested classes/interfaces inherited from class ptolemy.actor.gui.TableauFrame
TableauFrame.MenuItemListener
-
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
-
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
-
-
Field Summary
-
Fields inherited from class ptolemy.vergil.basic.BasicGraphFrame
_copyAction, _cutAction, _defaultLibrary, _dropTarget, _editMenu, _editPreferencesAction, _exportGIFAction, _exportHTMLAction, _exportPDFAction, _exportPNGAction, _findAction, _graphMenu, _graphPanner, _jgraph, _layoutAction, _layoutConfigDialogAction, _library, _libraryContextMenuCreator, _libraryModel, _libraryScrollPane, _moveToBackAction, _moveToFrontAction, _openGraphFrames, _palettePane, _pasteAction, _reloadAccessorsAction, _rightComponent, _splitPane, _toolbar, _topLibrary, _treeView, _treeViewModel, _treeViewScrollPane, _zoomFitAction, _zoomFlag, _zoomInAction, _zoomOutAction, _zoomResetAction, BACKGROUND_COLOR, VERGIL_USER_LIBRARY_NAME
-
Fields inherited from class ptolemy.actor.gui.PtolemyFrame
_query
-
Fields inherited from class ptolemy.actor.gui.TableauFrame
_initialSaveAsFileName, _topPack, _viewMenu, aboutFile, helpFile
-
Fields inherited from class ptolemy.gui.Top
_CANCELED, _debugClosing, _directory, _DISCARDED, _exitResult, _EXPORT_MENU_INDEX, _FAILED, _fileFilter, _fileMenu, _fileMenuItems, _filenameFilter, _helpMenu, _helpMenuItems, _IMPORT_MENU_INDEX, _menubar, _NEW_MENU_INDEX, _SAVED, _statusBar, MAXIMUM_STATUS_MESSAGE_TIME
-
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
-
-
Constructor Summary
Constructors Constructor Description EditIconFrame(EditorIcon icon, Tableau tableau)
Construct a frame to edit the specified icon.EditIconFrame(EditorIcon entity, Tableau tableau, LibraryAttribute defaultLibrary)
Construct a frame to edit the specified icon.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
_addMenus()
Create the menus that are used by this frame.protected CompositeEntity
_createDefaultLibrary(Workspace workspace)
Create the default library to use if an entity has no LibraryAttribute.protected GraphPane
_createGraphPane(NamedObj entity)
Create a new graph pane.protected void
_drawReferenceBox()
Draw a reference box with the default icon size, 60x40.void
zoomReset()
Set zoom to the nominal.-
Methods inherited from class ptolemy.vergil.basic.BasicGraphFrame
_addLayoutMenu, _addReloadAccessorsMenu, _checkForImplied, _close, _createFileMenuItems, _createRightComponent, _createSizeAttribute, _createSizeAttribute, _deleteMoML, _exportDesignPattern, _finishExportDesignPattern, _getCenter, _getDirectory, _getGraphController, _getGraphModel, _getRightComponent, _getSelectionSet, _getVisibleCanvasRectangle, _getVisibleRectangle, _initBasicGraphFrame, _initBasicGraphFrameActions, _initBasicGraphFrameInitialization, _initBasicGraphFrameRightComponent, _initBasicGraphFrameRightComponentMouseListeners, _initBasicGraphFrameSetZoomAndPan, _initBasicGraphFrameSetZoomAndPane, _initBasicGraphFrameToolBarZoomButtons, _initLayoutGuiAction, _initReloadAccessorsAction, _isDesignPattern, _prepareExportDesignPattern, _saveAsFileDialogComponent, _saveAsJFileChooserComponent, _setBackgroundColor, _setCenter, _setDirectory, _setDropIntoEnabled, _updateWindowAttributes, _writeFile, _zoom, changeExecuted, changeFailed, clearSelection, copy, createHierarchy, cut, delete, dispose, disposeSuper, expandAllLibraryRows, exportDesignPattern, getBasicGraphFrame, getBasicGraphFrame, getCenter, getContentSize, getFigureUnder, getFrame, getGraphPanner, getJGraph, getLastDirectory, getSelectionSet, getVisibleCanvasRectangle, getVisibleRectangle, importDesignPattern, lostOwnership, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, mouseWheelMoved, openComposite, openContainer, paste, print, redo, report, saveComponentInLibrary, setCenter, setJGraph, setLastDirectory, undo, updateWindowAttributes, writeHTML, writeImage, writeImage, zoom, zoomFit, zoomFit
-
Methods inherited from class ptolemy.actor.gui.PtolemyFrame
_clear, _help, _print, _saveAs, getEffigy, getModel, setModel
-
Methods inherited from class ptolemy.actor.gui.TableauFrame
_about, _confirmFile, _exit, _getDefaultIconImage, _getName, _read, _save, _saveAs, _saveAsHelper, getAlternateTopPack, getConfiguration, getDirectory, getEffigy, getTableau, isModified, pack, printPDF, setModified, setTableau
-
Methods inherited from class ptolemy.gui.Top
_getCurrentDirectory, _open, _openURL, _populateHistory, _printCrossPlatform, _printNative, _printPDF, _queryForSave, _saveAsFileDialog, _updateHistory, about, centerOnScreen, close, deferIfNecessary, exit, getCentering, hideMenuBar, isDisposed, isMenuPopulated, report, report, report, setBackground, setCentering, setDirectory, show, status, windowGainedFocus, windowLostFocus
-
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, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated
-
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, 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, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, 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, 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, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
EditIconFrame
public EditIconFrame(EditorIcon icon, Tableau tableau)
Construct a frame to edit the specified icon. After constructing this, it is necessary to call setVisible(true) to make the frame appear. This is typically done by calling show() on the controlling tableau. This constructor results in a frame that obtains its library either from the model (if it has one) or the default library defined in the configuration.- Parameters:
icon
- The icon to put in this frame.tableau
- The tableau responsible for this frame.- See Also:
Tableau.show()
-
EditIconFrame
public EditIconFrame(EditorIcon entity, Tableau tableau, LibraryAttribute defaultLibrary)
Construct a frame to edit the specified icon. After constructing this, it is necessary to call setVisible(true) to make the frame appear. This is typically done by calling show() on the controlling tableau. This constructor results in a graph frame that obtains its library either from the model (if it has one), or the defaultLibrary argument (if it is non-null), or the default library defined in the configuration.- Parameters:
entity
- The model to put in this frame.tableau
- The tableau responsible for this frame.defaultLibrary
- An attribute specifying the default library to use if the model does not have a library.- See Also:
Tableau.show()
-
-
Method Detail
-
zoomReset
public void zoomReset()
Set zoom to the nominal. This overrides the base class to set a zoom factor and center more appropriate for editing icons.- Overrides:
zoomReset
in classBasicGraphFrame
-
_addMenus
protected void _addMenus()
Create the menus that are used by this frame. It is essential that _createGraphPane() be called before this.- Overrides:
_addMenus
in classBasicGraphFrame
-
_createDefaultLibrary
protected CompositeEntity _createDefaultLibrary(Workspace workspace)
Create the default library to use if an entity has no LibraryAttribute. Note that this is called in the constructor and therefore overrides in subclasses should not refer to any members that may not have been initialized. This method overrides the base class to look for a library called "icon library" in the configuration. If there is no such library, then it provides a simple default library, created in the specified workspace.- Overrides:
_createDefaultLibrary
in classBasicGraphFrame
- Parameters:
workspace
- The workspace in which to create the library, if one needs to be created.- Returns:
- The new library, or null if there is no configuration.
-
_createGraphPane
protected GraphPane _createGraphPane(NamedObj entity)
Create a new graph pane. Note that this method is called in constructor of the base class, so it must be careful to not reference local variables that may not have yet been created.- Specified by:
_createGraphPane
in classBasicGraphFrame
- Parameters:
entity
- The object to be displayed in the pane.- Returns:
- The pane that is created.
-
_drawReferenceBox
protected void _drawReferenceBox()
Draw a reference box with the default icon size, 60x40.
-
-