ur_rna.RNAstructureUI.windows

## Class InternalWindow

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JInternalFrame
        - - ur_rna.RNAstructureUI.windows.InternalWindow

- All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
  Direct Known Subclasses:
    DrawingWindow, ModuleWindow, PredictionResultsWindow, PredictWindowBase, SequenceDisplayWindow

      public abstract class InternalWindow
      extends javax.swing.JInternalFrame
      implements java.awt.event.ActionListener

  The base class for all RNAstructure GUI dialogs and windows. These are "children" of the JDesktopPane. `AppMainFrame-->JDesktopPane-->[InternalWindow(s)...]`
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected static class` | `InternalWindow.CommandInfo` An immutable object that represents a command invoked by some part of the program, e.g.

    - ### Nested classes/interfaces inherited from class javax.swing.JInternalFrame

      `javax.swing.JInternalFrame.AccessibleJInternalFrame, javax.swing.JInternalFrame.JDesktopIcon`

    - ### 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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected RNAstructureBackendCalculator` | `backend` The back end calculator that's linked to this window.
    `protected java.beans.VetoableChangeListener` | `changeListener`
    `private MenuList` | `customMenus` Any custom menus that are associated to this window are added to the customMenus MenuList.
    `private javax.swing.JDesktopPane` | `desktop`
    `private boolean` | `disableClose`
    `protected javax.swing.event.InternalFrameListener` | `frameListener`
    `protected AppLog` | `log`
    `private AppMainFrame` | `mainFrame`
    `private static long` | `serialVersionUID`
    `protected java.util.HashSet<java.lang.String>` | `warnings`

    - ### Fields inherited from class javax.swing.JInternalFrame

      `closable, CONTENT_PANE_PROPERTY, desktopIcon, FRAME_ICON_PROPERTY, frameIcon, GLASS_PANE_PROPERTY, iconable, IS_CLOSED_PROPERTY, IS_ICON_PROPERTY, IS_MAXIMUM_PROPERTY, IS_SELECTED_PROPERTY, isClosed, isIcon, isMaximum, isSelected, LAYERED_PANE_PROPERTY, maximizable, MENU_BAR_PROPERTY, resizable, ROOT_PANE_PROPERTY, rootPane, rootPaneCheckingEnabled, title, TITLE_PROPERTY`

    - ### Fields inherited from class javax.swing.JComponent

      `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

      `accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT`

    - ### Fields inherited from interface javax.swing.WindowConstants

      `DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `InternalWindow()` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `actionPerformed(java.awt.event.ActionEvent e)`
    `protected MergeMenu[]` | `createCustomMenus()` Override to create one or more custom menus that should be added to the main frame whenever this internal frame is active.
    `private java.lang.String` | `describeSource(java.lang.Object o)`
    `protected void` | `frameActivated(boolean active, javax.swing.event.InternalFrameEvent e)`
    `protected void` | `frameClosed(javax.swing.event.InternalFrameEvent e)`
    `protected boolean` | `frameClosing(javax.swing.event.InternalFrameEvent e)` Indicates that the InternalFrame is closing.
    `MenuList` | `getCustomMenus()`
    `protected void` | `invokeCommand(java.lang.String command)`
    `protected void` | `invokeCommand(java.lang.String command, java.awt.event.ActionEvent event)`
    `protected void` | `invokeCommand(java.lang.String command, java.lang.Object source)`
    `protected boolean` | `isActiveFrame()`
    `protected void` | `notifyUpdated()` Call this if changes are made to the window that could require the JDesktopPane or the AppMainFrame to update.
    `protected void` | `onFocusGained(java.awt.event.FocusEvent e)`
    `protected void` | `processCommand(InternalWindow.CommandInfo ci)` Perform an action specific to this window.
    `protected void` | `propertyChanged(java.lang.String name, java.beans.PropertyChangeEvent evt)`
    `protected void` | `setCaption(java.lang.String title)` Set the caption text on this window (which is also shown on the main RNAstructure window caption bar).
    `void` | `setCustomMenus(MenuList menus)`
    `void` | `showWindow()` View the window.

    - ### Methods inherited from class javax.swing.JInternalFrame

      `addImpl, addInternalFrameListener, createRootPane, dispose, doDefaultCloseAction, fireInternalFrameEvent, getAccessibleContext, getContentPane, getDefaultCloseOperation, getDesktopIcon, getDesktopPane, getFocusCycleRootAncestor, getFocusOwner, getFrameIcon, getGlassPane, getInternalFrameListeners, getJMenuBar, getLastCursor, getLayer, getLayeredPane, getMenuBar, getMostRecentFocusOwner, getNormalBounds, getRootPane, getTitle, getUI, getUIClassID, getWarningString, hide, isClosable, isClosed, isFocusCycleRoot, isIcon, isIconifiable, isMaximizable, isMaximum, isResizable, isRootPaneCheckingEnabled, isSelected, moveToBack, moveToFront, pack, paintComponent, paramString, remove, removeInternalFrameListener, reshape, restoreSubcomponentFocus, setClosable, setClosed, setContentPane, setCursor, setDefaultCloseOperation, setDesktopIcon, setFocusCycleRoot, setFrameIcon, setGlassPane, setIcon, setIconifiable, setJMenuBar, setLayer, setLayer, setLayeredPane, setLayout, setMaximizable, setMaximum, setMenuBar, setNormalBounds, setResizable, setRootPane, setRootPaneCheckingEnabled, setSelected, setTitle, setUI, show, toBack, toFront, 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, getBaseline, getBaselineResizeBehavior, 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, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, 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, 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, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, 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, 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, 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, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### backend

          protected final RNAstructureBackendCalculator backend

      The back end calculator that's linked to this window.

    - #### changeListener

          protected final java.beans.VetoableChangeListener changeListener

    - #### customMenus

          private MenuList customMenus

      Any custom menus that are associated to this window are added to the customMenus MenuList.

    - #### desktop

          private final javax.swing.JDesktopPane desktop

    - #### disableClose

          private boolean disableClose

    - #### frameListener

          protected final javax.swing.event.InternalFrameListener frameListener

    - #### log

          protected AppLog log

    - #### mainFrame

          private final AppMainFrame mainFrame

    - #### serialVersionUID

          private static final long serialVersionUID

      See Also:
        Constant Field Values

    - #### warnings

          protected java.util.HashSet<java.lang.String> warnings

  - ### Constructor Detail

    - #### InternalWindow

          protected InternalWindow()

      Constructor.

  - ### Method Detail

    - #### actionPerformed

          public void actionPerformed(java.awt.event.ActionEvent e)

      Specified by:
        `actionPerformed` in interface `java.awt.event.ActionListener`

    - #### createCustomMenus

          protected MergeMenu[] createCustomMenus()

      Override to create one or more custom menus that should be added to the main frame whenever this internal frame is active.
      Returns:
        an array of MergeMenu menus, or null if this window does not require any custom menus.

    - #### describeSource

          private java.lang.String describeSource(java.lang.Object o)

    - #### frameActivated

          protected void frameActivated(boolean active,
                                        javax.swing.event.InternalFrameEvent e)

    - #### frameClosed

          protected void frameClosed(javax.swing.event.InternalFrameEvent e)

    - #### frameClosing

          protected boolean frameClosing(javax.swing.event.InternalFrameEvent e)

      Indicates that the InternalFrame is closing. Return true to allow the window to close, or return false to prevent it.
      Parameters:
        `e` -
      Returns:

    - #### getCustomMenus

          public MenuList getCustomMenus()

    - #### invokeCommand

          protected void invokeCommand(java.lang.String command)

    - #### invokeCommand

          protected void invokeCommand(java.lang.String command,
                                       java.awt.event.ActionEvent event)

    - #### invokeCommand

          protected void invokeCommand(java.lang.String command,
                                       java.lang.Object source)

    - #### isActiveFrame

          protected boolean isActiveFrame()

    - #### notifyUpdated

          protected void notifyUpdated()

      Call this if changes are made to the window that could require the JDesktopPane or the AppMainFrame to update. These could include changes to menus, title, etc.

    - #### onFocusGained

          protected void onFocusGained(java.awt.event.FocusEvent e)

    - #### processCommand

          protected void processCommand(InternalWindow.CommandInfo ci)

      Perform an action specific to this window.
      Parameters:
        `ci` - Information about the command.

    - #### propertyChanged

          protected void propertyChanged(java.lang.String name,
                                         java.beans.PropertyChangeEvent evt)
                                  throws java.beans.PropertyVetoException

      Throws:
        `java.beans.PropertyVetoException`

    - #### setCaption

          protected void setCaption(java.lang.String title)

      Set the caption text on this window (which is also shown on the main RNAstructure window caption bar).
      Parameters:
        `title` - The new title.

    - #### setCustomMenus

          public void setCustomMenus(MenuList menus)

    - #### showWindow

          public void showWindow()

      View the window.