Class StrangeEonsAppWindow
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- java.awt.Window
-
- java.awt.Frame
-
- javax.swing.JFrame
-
- ca.cgjennings.apps.arkham.StrangeEonsAppWindow
-
- All Implemented Interfaces:
Commandable,java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible,javax.swing.RootPaneContainer,javax.swing.WindowConstants
public abstract class StrangeEonsAppWindow extends javax.swing.JFrame implements Commandable
This class defines the interface for interacting with the Strange Eons main application window. There is exactly one main application window for any running instance of the application, and it can be obtained by callingStrangeEons.getWindow().Note that the application window is created after the
Themehas been installed but before any extension plug-ins are loaded. However, it will not be made visible until the entire application startup procedure has completed. Extensions may create windows that use this window as their parent, but they should not rely on those windows being visible or usable until the application is fully started. To create a window that will be visible during startup (for example, to display a more complex error message thanErrorDialogallows), useStrangeEons.getSafeStartupParentWindow()as the parent.- Author:
- Chris Jennings
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classStrangeEonsAppWindow.AppMenuStandard application menus that can be extended withaddMenuItem(ca.cgjennings.apps.arkham.StrangeEonsAppWindow.AppMenu, javax.swing.JComponent).static interfaceStrangeEonsAppWindow.EditorAddedListenerA listener that is called whenever a new editor is added to the application.static classStrangeEonsAppWindow.PolledMenuItemA menu item that can be asked if it is currently usable.static interfaceStrangeEonsAppWindow.ProjectEventListenerA listener that is called when a project is opened or closed.-
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 Modifier and Type Field Description static java.lang.StringNO_EDITOR_FONTBy default, when an editor is added to the application window its text components will automatically have the user's selected editor font set on them.static java.lang.StringVIEW_BACKDROP_PROPERTYThe name of a property for which a change is fired when the user chooses a different preview backdrop setting.static java.lang.StringVIEW_QUALITY_PROPERTYThe name of a property for which a change is fired when the user chooses a different view quality setting.-
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 StrangeEonsAppWindow()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract voidaddCustomComponent(java.awt.Component comp)Adds a custom component to the top of the application window.abstract voidaddCustomComponent(java.awt.Component comp, int index)Adds a custom component to the top of the application window.abstract java.awt.ComponentaddCustomComponentSeparator()Adds a separator to the custom component bar at the top of the application window.abstract voidaddEditor(StrangeEonsEditor editor)Adds a new editor to the application window.abstract voidaddEditorAddedListener(StrangeEonsAppWindow.EditorAddedListener eal)Adds a newStrangeEonsAppWindow.EditorAddedListenerto this editor.abstract voidaddEditorListener(StrangeEonsEditor.EditorListener el)Adds a newStrangeEonsEditor.EditorListenerthat will apply to all editors.abstract voidaddMenuItem(StrangeEonsAppWindow.AppMenu parent, javax.swing.JComponent item)Inserts a menu item at a standard location in the application menu.abstract voidaddProjectEventListener(StrangeEonsAppWindow.ProjectEventListener li)Adds a new listener for changes to the current project.abstract booleancloseAllEditors()Closes all open editor windows.abstract voidcloseProject()Closes the current open project, if any.abstract booleanexitApplication(boolean restart)Exits the application.abstract StrangeEonsEditorgetActiveEditor()Returns the currently active editor window, or null if there is no active editor.static java.util.List<java.awt.Image>getApplicationFrameIcons()Returns a list of images suitable for use as the icons of aJFrame.abstract java.awt.ComponentgetCustomComponent(int index)Returns the custom component at positionindexin the custom component area.abstract intgetCustomComponentCount()Returns the number of custom components that have been added to the top of the application window.abstract intgetEditorCount()Returns the number of editor windows that are currently open.abstract StrangeEonsEditor[]getEditors()Returns an array of all currently open editor windows.abstract StrangeEonsEditor[]getEditorsShowingFile(java.io.File file)Returns an array of all currently open editor windows that are editing a certain file.abstract ProjectgetOpenProject()Returns the current openProject, ornullif no project is open.abstract ProjectViewgetOpenProjectView()Returns the view of the open project, ornullif no project is open.abstract voidopenFile(java.io.File file)Attempts to open a file in the application as if the user had used the File | Open menu item and selected the specified file.abstract voidredrawPreviews()Forces all editor windows that are displaying a game component to redraw their component preview.abstract voidremoveCustomComponent(int index)Removes the custom component at positionindexin the custom component area.abstract voidremoveCustomComponent(java.awt.Component comp)Removes a previously added custom component from the top of the application window.abstract voidremoveEditorAddedListener(StrangeEonsAppWindow.EditorAddedListener eal)Removes a newStrangeEonsAppWindow.EditorAddedListenerfrom this editor.abstract voidremoveEditorListener(StrangeEonsEditor.EditorListener el)Removes anStrangeEonsEditor.EditorListenerthat was added to all editors throughaddEditorListener(ca.cgjennings.apps.arkham.StrangeEonsEditor.EditorListener).abstract voidremoveMenuItem(StrangeEonsAppWindow.AppMenu parent, javax.swing.JComponent item)Removes a menu item previously added withaddMenuItem(ca.cgjennings.apps.arkham.StrangeEonsAppWindow.AppMenu, javax.swing.JComponent).abstract voidremoveProjectEventListener(StrangeEonsAppWindow.ProjectEventListener li)Removes a listener for changes to the current project.abstract StrangeEonsEditorselectNextEditor()Selects the next editor after the one that is currently active.abstract StrangeEonsEditorselectPreviousEditor()Selects the previous editor before the one that is currently active.abstract voidsetDefaultCursor()Restore the standard cursor in the application frame.abstract booleansetOpenProject(java.io.File projectFolderOrCrateFile)Opens the project contained in the folderprojectFolder.abstract voidsetWaitCursor()Sets a wait cursor on the application frame.abstract voidshowAboutDialog()Displays the application's About dialog.abstract voidshowPreferencesDialog(java.awt.Component parent, PreferenceCategory displayCategory)Displays the application preferences dialog.abstract voidstartTracking(TrackedWindow window)Asks the application to add a window to the Window menu, such as a modeless dialog, a frame window, or a palette window.abstract voidstopTracking(TrackedWindow window)Stops tracking a previously tracked window, removing it from the application's Window menu.abstract voidsuggestRestart(java.lang.String message)Displays a message to inform the user that the application should be restarted for optimal performance.-
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, setBackground, 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, dispose, 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, pack, 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, 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, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface ca.cgjennings.apps.arkham.commands.Commandable
canPerformCommand, isCommandApplicable, performCommand
-
-
-
-
Field Detail
-
VIEW_QUALITY_PROPERTY
public static final java.lang.String VIEW_QUALITY_PROPERTY
The name of a property for which a change is fired when the user chooses a different view quality setting.- See Also:
- Constant Field Values
-
VIEW_BACKDROP_PROPERTY
public static final java.lang.String VIEW_BACKDROP_PROPERTY
The name of a property for which a change is fired when the user chooses a different preview backdrop setting.- See Also:
- Constant Field Values
-
NO_EDITOR_FONT
public static final java.lang.String NO_EDITOR_FONT
By default, when an editor is added to the application window its text components will automatically have the user's selected editor font set on them. However, text fields that have this client property set to true will be ignored.- See Also:
- Constant Field Values
-
-
Method Detail
-
getApplicationFrameIcons
public static java.util.List<java.awt.Image> getApplicationFrameIcons()
Returns a list of images suitable for use as the icons of aJFrame. Plug-ins that create their own windows may use these images to get the same window icons as the main application window.- Returns:
- a list of frame icons at various sizes
-
redrawPreviews
public abstract void redrawPreviews()
Forces all editor windows that are displaying a game component to redraw their component preview. This is equivalent to looping over all of the available component editors and calling each one'sAbstractGameComponentEditor.redrawPreview()method.- Since:
- 3.0
-
addEditor
public abstract void addEditor(StrangeEonsEditor editor)
Adds a new editor to the application window. This will cause the editor to be made visible and available to the user.- Parameters:
editor- the editor to be added- Throws:
java.lang.NullPointerException- ifeditorisnull
-
getActiveEditor
public abstract StrangeEonsEditor getActiveEditor()
Returns the currently active editor window, or null if there is no active editor.- Returns:
- the active component editor, or null
-
getEditors
public abstract StrangeEonsEditor[] getEditors()
Returns an array of all currently open editor windows.- Returns:
- an array of open editors
- Since:
- 2.00
-
getEditorCount
public abstract int getEditorCount()
Returns the number of editor windows that are currently open.- Returns:
- the number of open editors
- Since:
- 3.4
-
getEditorsShowingFile
public abstract StrangeEonsEditor[] getEditorsShowingFile(java.io.File file)
Returns an array of all currently open editor windows that are editing a certain file. If no editors currently have the file set as their save file, returns an empty array.- Parameters:
file- the file to return active editors for- Returns:
- an array of open editors which have a save location that is equal to the given file
- Since:
- 2.1a9
-
selectNextEditor
public abstract StrangeEonsEditor selectNextEditor()
Selects the next editor after the one that is currently active.- Returns:
- the editor that becomes active
- Since:
- 2.00 (final)
-
selectPreviousEditor
public abstract StrangeEonsEditor selectPreviousEditor()
Selects the previous editor before the one that is currently active.- Returns:
- the editor that becomes active
- Since:
- 2.00 (final)
-
openFile
public abstract void openFile(java.io.File file)
Attempts to open a file in the application as if the user had used the File | Open menu item and selected the specified file. Although a successful attempt to open the file typically results in a new editor being added to the application, be aware that the new editor will not generally be open yet when this method returns.Note: This method is threadsafe: it can be can be called from outside of the event dispatch thread.
- Parameters:
file- the file to opened- Throws:
java.lang.NullPointerException- if the file isnull
-
setWaitCursor
public abstract void setWaitCursor()
Sets a wait cursor on the application frame. This method nests, so if a wait cursor is set multiple times, the normal interaction cursor will not be restored untilsetDefaultCursor()is called a number of times equal to the number of times this method was called. This method should be paired withsetDefaultCursor()using atry ... finallyblock to ensure that the cursor is properly restored even if an exception is thrown.:app.setWaitCursor(); try { // do lengthy job that requires wait cursor } finally { app.setDefaultCursor(); }
-
setDefaultCursor
public abstract void setDefaultCursor()
Restore the standard cursor in the application frame. See {link #setWaitCursor()} for details on use.
-
showPreferencesDialog
public abstract void showPreferencesDialog(java.awt.Component parent, PreferenceCategory displayCategory)Displays the application preferences dialog.- Parameters:
parent- a component used to position the preferences dialog (may benull)displayCategory- the category that should be selected initially (may benull)- Since:
- 3.0
-
showAboutDialog
public abstract void showAboutDialog()
Displays the application's About dialog.
-
exitApplication
public abstract boolean exitApplication(boolean restart)
Exits the application. The user will be given the opportunity to save files with unsaved changes. This method will only return if the user cancels the exit action.If
restartistrue, then an attempt is made to relaunch the application after exiting. This may be useful, for example, when a plug-in update is pending.- Parameters:
restart- restart after exit- Since:
- 2.1a8
-
suggestRestart
public abstract void suggestRestart(java.lang.String message)
Displays a message to inform the user that the application should be restarted for optimal performance. The user will be allowed to choose whether or not to restart.- Parameters:
message- the reason for the restart; ifnull, a default message is displayed- Since:
- 2.1a8
-
getOpenProjectView
public abstract ProjectView getOpenProjectView()
Returns the view of the open project, ornullif no project is open.- Returns:
- the open project's view, or
null
-
addCustomComponent
public abstract void addCustomComponent(java.awt.Component comp)
Adds a custom component to the top of the application window. This can be used to provide custom controls for a plug-in. Custom components are added in a horizontal strip above the pane where editor windows are displayed.- Parameters:
comp- the component to add- Throws:
java.lang.NullPointerException- ifcompisnull- Since:
- 2.00a13
-
addCustomComponent
public abstract void addCustomComponent(java.awt.Component comp, int index)Adds a custom component to the top of the application window. The component is added at a specific position with respect to the existing components. Ifindexis -1,compwill be added to the end of the custom component bar. This is equivalent toaddCustomComponent( comp ).- Parameters:
comp- the component to be addedindex- the position at which to insert the component, or -1 to append the component to the end- Throws:
java.lang.NullPointerException- ifcompisnull- Since:
- 2.00a13
-
addCustomComponentSeparator
public abstract java.awt.Component addCustomComponentSeparator()
Adds a separator to the custom component bar at the top of the application window. A reference to the added separator is returned. This may be used to remove the separator later.- Returns:
- the separator component that was added
- Since:
- 2.00a13
-
removeCustomComponent
public abstract void removeCustomComponent(java.awt.Component comp)
Removes a previously added custom component from the top of the application window.- Parameters:
comp- the component to remove- Throws:
java.lang.NullPointerException- ifcompisnulljava.lang.IllegalArgumentException- ifcomphas not been added as a custom component- Since:
- 2.00a13
-
removeCustomComponent
public abstract void removeCustomComponent(int index)
Removes the custom component at positionindexin the custom component area. Nearby separators are not affected.- Parameters:
index- the 0-based index into the list of custom components- Throws:
java.lang.IndexOutOfBoundsException- ifindex< 0 orindex>=getCustomComponentCount()- Since:
- 2.00a13
-
getCustomComponentCount
public abstract int getCustomComponentCount()
Returns the number of custom components that have been added to the top of the application window.- Returns:
- the non-negative number of custom components that have been added
- Since:
- 2.00a13
-
getCustomComponent
public abstract java.awt.Component getCustomComponent(int index)
Returns the custom component at positionindexin the custom component area.- Parameters:
index- the 0-based index into the list of custom components- Returns:
- the component at position
index - Throws:
java.lang.IndexOutOfBoundsException- ifindex< 0 orindex>=getCustomComponentCount()- Since:
- 2.00a13
-
addEditorAddedListener
public abstract void addEditorAddedListener(StrangeEonsAppWindow.EditorAddedListener eal)
Adds a newStrangeEonsAppWindow.EditorAddedListenerto this editor.- Parameters:
eal- the listener to add- Since:
- 2.00 (final)
-
removeEditorAddedListener
public abstract void removeEditorAddedListener(StrangeEonsAppWindow.EditorAddedListener eal)
Removes a newStrangeEonsAppWindow.EditorAddedListenerfrom this editor.- Parameters:
eal- the listener to remove- Since:
- 2.00
-
addEditorListener
public abstract void addEditorListener(StrangeEonsEditor.EditorListener el)
Adds a newStrangeEonsEditor.EditorListenerthat will apply to all editors. An editor listener can also be added through theStrangeEonsEditorinterface, in which case it will apply to only that editor.- Parameters:
el- the listener to add- Since:
- 2.1a12
-
removeEditorListener
public abstract void removeEditorListener(StrangeEonsEditor.EditorListener el)
Removes anStrangeEonsEditor.EditorListenerthat was added to all editors throughaddEditorListener(ca.cgjennings.apps.arkham.StrangeEonsEditor.EditorListener). Note an editor listener must be removed from the same object as the object it was added to; that is, a listener added to the application window must be removed from the application window, and a listener added to an individual editor must be removed from that editor.- Parameters:
el- the listener to remove- Since:
- 2.1a12
-
closeAllEditors
public abstract boolean closeAllEditors()
Closes all open editor windows. If any editor has unsaved changes, the user will be prompted to save them.- Returns:
- true if all editors were close, or false if the user cancelled the operation
-
getOpenProject
public abstract Project getOpenProject()
Returns the current openProject, ornullif no project is open.- Returns:
- the project currently open in the application window
- Since:
- 2.1 alpha 2
-
setOpenProject
public abstract boolean setOpenProject(java.io.File projectFolderOrCrateFile)
Opens the project contained in the folderprojectFolder. If the project can be opened and there is already a project open in the editor, the current project is closed automatically before opening the new project. If the project cannot be opened, an error message is displayed.- Parameters:
projectFolderOrCrateFile- the base folder of a project or an .seproject file containing a project- Returns:
trueif the project is opened successfully- Since:
- 2.1a2
-
closeProject
public abstract void closeProject()
Closes the current open project, if any.- Since:
- 2.1a2
-
addProjectEventListener
public abstract void addProjectEventListener(StrangeEonsAppWindow.ProjectEventListener li)
Adds a new listener for changes to the current project.- Parameters:
li- the listener to call when a project is opened or closed
-
removeProjectEventListener
public abstract void removeProjectEventListener(StrangeEonsAppWindow.ProjectEventListener li)
Removes a listener for changes to the current project.- Parameters:
li- the listener to be removed
-
startTracking
public abstract void startTracking(TrackedWindow window)
Asks the application to add a window to the Window menu, such as a modeless dialog, a frame window, or a palette window. The Window menu automatically adds menu items for every open editor. Plug-ins can use this method to add items for special windows that they create. When the user selects the window's menu item, the window will be made visible, moved to the front, and given focus.Tracked windows will continue to be listed in the menu until they are explicitly removed by calling
stopTracking(ca.cgjennings.apps.arkham.TrackedWindow).Note that the the Toolbox menu offers similar (but more comprehensive) functionality that is sufficient for most plug-ins. Tracked windows are best suited to floating palettes and cases like the script output window, which the user should think of as always existing, even if momentarily hidden.
- Parameters:
window- the window to track (or stop tracking)- Throws:
java.lang.NullPointerException- if the window isnull- Since:
- 3.0
- See Also:
stopTracking(ca.cgjennings.apps.arkham.TrackedWindow)
-
stopTracking
public abstract void stopTracking(TrackedWindow window)
Stops tracking a previously tracked window, removing it from the application's Window menu. If the window was not being tracked, this method has no effect.- Parameters:
window- the window to stop tracking- Since:
- 3.0
- See Also:
startTracking(ca.cgjennings.apps.arkham.TrackedWindow)
-
addMenuItem
public abstract void addMenuItem(StrangeEonsAppWindow.AppMenu parent, javax.swing.JComponent item)
Inserts a menu item at a standard location in the application menu. This allows you to add items to menus other than the Toolbox and Window menus when another menu makes more sense This is a convenient way to add new items to a menu. If you want more control over menu placement, or to scan or replace existing items, see the uiutils scripting library.- Parameters:
parent- identifies the menu you wish to insert an item intoitem- the item you wish to insert; this should be aJMenuItemof some kind- Since:
- 2.1a8
-
removeMenuItem
public abstract void removeMenuItem(StrangeEonsAppWindow.AppMenu parent, javax.swing.JComponent item)
Removes a menu item previously added withaddMenuItem(ca.cgjennings.apps.arkham.StrangeEonsAppWindow.AppMenu, javax.swing.JComponent). This is a convenient way to add new items to a menu. If you want more control over menu placement, or to scan or replace existing items, see the uiutils scripting library.- Parameters:
parent- an identifier for the menu you wish to insert intoitem- the item you wish to insert; this should either be a separator or a menu item- Since:
- 2.1a8
-
-