RNAstructure_java_interface.source.windows

## Class OligoWalkWindow

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JInternalFrame
        - - RNAstructure_java_interface.source.windows.InternalWindow
          - - RNAstructure_java_interface.source.windows.ModuleWindow
            - - RNAstructure_java_interface.source.windows.OligoWalkWindow

All Implemented Interfaces:
  ActionListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, RootPaneContainer, WindowConstants

    public class OligoWalkWindow
    extends ModuleWindow

A class that handles creation of windows for the OligoWalk module. The OligoWalk module creates two linked windows, an input window and an output (results) window. The two windows share a back end calculator. This module is only used with RNA.
Note also that this class violates the usual 500 line class length coding standard limit. This is because both the input window and the results window contain objects unique to themselves, and the results window, which is more complex than the input window, relies on the same data structure as the input window.

See Also:
  Serialized Form

### Nested Class Summary

Nested Classes
`(package private) class` `OligoWalkWindow.BarButton` An inner class that encapsulates a bar button.
`class` `OligoWalkWindow.OligoSelectionDialog` An inner class which creates a dialog that selects a particular oligo to move to in the results window.
`(package private) class` `OligoWalkWindow.OligoWalkResultsMenu` An inner class that handles creation of the oligo graph menu for the OligoWalk results window.
`class` `OligoWalkWindow.SpinnerPanel` An class that creates a panel containing a single spinner with a label.
`class` `OligoWalkWindow.StringComboBox` An inner class that creates a combo box holding a string list.

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

`JInternalFrame.AccessibleJInternalFrame, JInternalFrame.JDesktopIcon`

### Nested classes/interfaces inherited from class javax.swing.JComponent

`JComponent.AccessibleJComponent`

### Nested classes/interfaces inherited from class java.awt.Container

`Container.AccessibleAWTContainer`

### Nested classes/interfaces inherited from class java.awt.Component

`Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy`

### Field Summary

Fields
`private boolean` `isInputWindow` A boolean that tells whether this window is an input window or not.
`private JPanel` `panelInput`
`private JPanel` `panelResults` The box that holds the results.
`private static long` `serialVersionUID`

### Fields inherited from class RNAstructure_java_interface.source.windows.ModuleWindow

`isRNA, progressBar`

### Fields inherited from class RNAstructure_java_interface.source.windows.InternalWindow

`backend, dialogHandler, menuBar`

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

`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 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
Constructor and Description
`OligoWalkWindow()` Constructor.

### Method Summary

Methods
`private void` `buildResultsWindow(String file, int target, int start, int stop)` Build the results window for this OligoWalk calculation.
`private void` `createInputPanel()` Create the panel which holds input controls.
`private void` `createResultsPanel()` Create the panel which holds results data.
`protected void` `executeModuleAction(String command)` Execute an action within a particular module.
`protected void` `makeInputControls()` Make any input controls necessary to get data from this window for a calculation.
`protected void` `runMainCalculation()` Run the module calculation in the back end.
`protected RolloverMenu[]` `setMenus()` Create the array of variable menus used by this window.
`private void` `setOligoData(int index)` Set the data for a particular oligo.

### Methods inherited from class RNAstructure_java_interface.source.windows.ModuleWindow

`combineFileNames, doActions, finishModule, getInputControl, getInputControl, makeStartButton, moduleInitialized, placeComponent, replaceExtension, setAnchorCenter, setAnchorNorth, setFillCenter, setFillHorizontal, setGrid, setInsets, setPad, showProgressBarDeterminate, showProgressBarIndeterminate`

### Methods inherited from class RNAstructure_java_interface.source.windows.InternalWindow

`actionPerformed, setTitles, viewWindow`

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

#### isInputWindow

    private boolean isInputWindow

A boolean that tells whether this window is an input window or not.

#### panelInput

    private JPanel panelInput

#### panelResults

    private JPanel panelResults

The box that holds the results.

#### serialVersionUID

    private static final long serialVersionUID

See Also:
  Constant Field Values

### Constructor Detail

#### OligoWalkWindow

    public OligoWalkWindow()

Constructor.
Note that since this module is unique to RNA, the nucleic acid type is hard-coded as RNA.

### Method Detail

#### buildResultsWindow

    private void buildResultsWindow(String file,
                          int target,
                          int start,
                          int stop)

Build the results window for this OligoWalk calculation.

Parameters:
  `file` - The report file written for this calculation.
  `target` - The length of the entire target.
  `start` - The start index where hybridization can occur.
  `stop` - The stop index where hybridization can occur.

#### createInputPanel

    private void createInputPanel()

Create the panel which holds input controls.

#### createResultsPanel

    private void createResultsPanel()

Create the panel which holds results data.
The panel created by this method only builds the general layout of the results window; it doesn't include real results.

#### executeModuleAction

    protected void executeModuleAction(String command)

Description copied from class: `ModuleWindow`
Execute an action within a particular module.

Specified by:
  `executeModuleAction` in class `ModuleWindow`
Parameters:
  `command` - The command that signifies a particular action.

#### makeInputControls

    protected void makeInputControls()

Make any input controls necessary to get data from this window for a calculation.
Note that this version of the function does NOT use the placeComponent method, because it builds on a panel rather than the content pane.
Unlike other derived classes of ModuleWindow, it holds two panels, an input panel and a results panel, each of which are visible when needed.

Specified by:
  `makeInputControls` in class `ModuleWindow`

#### runMainCalculation

    protected void 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`

#### setMenus

    protected RolloverMenu[] setMenus()

Description copied from class: `InternalWindow`
Create the array of variable menus used by this window.

Specified by:
  `setMenus` in class `InternalWindow`
Returns:
  The array of variable menus created for this window.

#### setOligoData

    private void setOligoData(int index)

Set the data for a particular oligo.

Parameters:
  `index` - The index of the oligo to set.