ur_rna.RNAstructureUI.windows

## Class MultiWindow

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

- 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:
    MultilignWindow, TurboFoldWindow

      public abstract class MultiWindow
      extends ModuleWindow

  A class responsible for creating and displaying an input window that takes multiple arbitrary sequences and CT files as input.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class ur_rna.RNAstructureUI.windows.InternalWindow

      `InternalWindow.CommandInfo`

    - ### 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 int` | `columnWidth` The width of each column of the window (input controls in column 1, sequence set in column 2).
    `protected java.util.ArrayList<DrawingWindow>` | `imageDialogs` The list of drawing windows shown after the calculation is done.
    `protected javax.swing.Box` | `options` The box that holds a particular window's unique options.
    `private ScrollerPane` | `scroll` The scroll pane holding the sequence set.
    `private static long` | `serialVersionUID`

    - ### Fields inherited from class ur_rna.RNAstructureUI.windows.ModuleWindow

      `isRNA, lastUpdate, log, mainCalcThread, progressIndicator, protectedExamplesDir, self, startButton`

    - ### Fields inherited from class ur_rna.RNAstructureUI.windows.InternalWindow

      `backend, changeListener, frameListener, 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` | `MultiWindow(java.lang.String acid, java.lang.String type)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected abstract void` | `activate()` Activate data input for this window.
    `protected abstract void` | `addBackendTuple(java.lang.String seq, java.lang.String ct)` Add a tuple to the calculation back end.
    `protected abstract void` | `buildSpecificOptionsPanel()` Build an input options box specific to this window.
    `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.
    `protected abstract void` | `deleteBackendTuple(int index)` Delete a tuple from the calculation back end.
    `protected abstract int` | `getNumSequences()` Get the number of sequences this window handles.
    `protected abstract java.lang.String` | `getSequenceSetAsString()` Get a representation of the sequence set as a string.
    `protected void` | `makeInputControls()` Make any input controls necessary to get data from this window for a calculation.
    `protected void` | `processCommand(InternalWindow.CommandInfo ci)` Perform an action specific to this window.
    `protected boolean` | `runMainCalculation()` Run the module calculation in the back end.
    `protected abstract boolean` | `runMainCalculationMultipleSequences()` Run the multiple sequence dependent module calculation in the back end.
    `protected void` | `showImageDialogs()` Show the image dialogs, if possible.

    - ### Methods inherited from class ur_rna.RNAstructureUI.windows.ModuleWindow

      `calcWasCanceled, cancelMainCalculation, close, closeProgress, closeProgress, combineFileNames, displayCalcError, drawStructures, getInputControl, getInputControl, getOutputFile, getOutputFile, makeStartButton, placeComponent, promptDraw, promptDraw, runOnUiThread, setAnchorCenter, setAnchorNorth, setFillCenter, setFillHorizontal, setGrid, setInsets, setPad, showDrawProgress, showDrawProgress, showProgress, showProgress, showProgress, showProgress, updateCalcProgress, verifyBackendResult`

    - ### Methods inherited from class ur_rna.RNAstructureUI.windows.InternalWindow

      `actionPerformed, frameActivated, frameClosed, frameClosing, getCustomMenus, invokeCommand, invokeCommand, invokeCommand, isActiveFrame, notifyUpdated, onFocusGained, propertyChanged, setCaption, setCustomMenus, showWindow`

    - ### 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

    - #### columnWidth

          protected final int columnWidth

      The width of each column of the window (input controls in column 1, sequence set in column 2).
      See Also:
        Constant Field Values

    - #### imageDialogs

          protected java.util.ArrayList<DrawingWindow> imageDialogs

      The list of drawing windows shown after the calculation is done.

    - #### options

          protected javax.swing.Box options

      The box that holds a particular window's unique options.

    - #### scroll

          private ScrollerPane scroll

      The scroll pane holding the sequence set.

    - #### serialVersionUID

          private static final long serialVersionUID

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### MultiWindow

          protected MultiWindow(java.lang.String acid,
                                java.lang.String type)

      Constructor.
      Parameters:
        `acid` - The nucleic acid type.
        `type` - The type of window.

  - ### Method Detail

    - #### activate

          protected abstract void activate()

      Activate data input for this window.

    - #### addBackendTuple

          protected abstract void addBackendTuple(java.lang.String seq,
                                                  java.lang.String ct)

      Add a tuple to the calculation back end.
      Parameters:
        `seq` - The sequence file.
        `ct` - The ct file.

    - #### buildSpecificOptionsPanel

          protected abstract void buildSpecificOptionsPanel()

      Build an input options box specific to this window.

    - #### createCustomMenus

          protected MergeMenu[] createCustomMenus()

      Description copied from class: `InternalWindow`
      Override to create one or more custom menus that should be added to the main frame whenever this internal frame is active.
      Overrides:
        `createCustomMenus` in class `InternalWindow`
      Returns:
        an array of MergeMenu menus, or null if this window does not require any custom menus.

    - #### deleteBackendTuple

          protected abstract void deleteBackendTuple(int index)

      Delete a tuple from the calculation back end.
      Parameters:
        `index` - The index of the tuple to delete.

    - #### getNumSequences

          protected abstract int getNumSequences()

      Get the number of sequences this window handles.
      Returns:
        The number of sequences this window handles.

    - #### getSequenceSetAsString

          protected abstract java.lang.String getSequenceSetAsString()

      Get a representation of the sequence set as a string.
      Returns:
        The sequence set as a string.

    - #### makeInputControls

          protected void makeInputControls()

      Description copied from class: `ModuleWindow`
      Make any input controls necessary to get data from this window for a calculation.
      Specified by:
        `makeInputControls` in class `ModuleWindow`

    - #### processCommand

          protected void processCommand(InternalWindow.CommandInfo ci)

      Description copied from class: `ModuleWindow`
      Perform an action specific to this window.
      Overrides:
        `processCommand` in class `ModuleWindow`
      Parameters:
        `ci` - Information about the command.

    - #### runMainCalculation

          protected boolean runMainCalculation()

      Description copied from class: `ModuleWindow`
      Run the module calculation in the back end.
      Data must be pulled from the module window before the back end calculation is run, so this data capture should be done in this method.
      Specified by:
        `runMainCalculation` in class `ModuleWindow`

    - #### runMainCalculationMultipleSequences

          protected abstract boolean runMainCalculationMultipleSequences()

      Run the multiple sequence dependent module calculation in the back end.

    - #### showImageDialogs

          protected void showImageDialogs()

      Show the image dialogs, if possible.