ur_rna.RNAstructureUI.drawing.dialogs

## Class ImageDialog

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.JInternalFrame
        - - ur_rna.RNAstructureUI.drawing.dialogs.ImageDialog

- All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.awt.print.Printable, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
  Direct Known Subclasses:
    PlotDialog, StructureDialog

      public abstract class ImageDialog
      extends javax.swing.JInternalFrame
      implements java.awt.print.Printable

  A printable and zoomable dialog that holds drawn images.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `protected class` | `ImageDialog.PrintMenu` An inner class which creates a print menu.
    `private class` | `ImageDialog.ZoomDialog` An inner class which creates a dialog that zooms a structure.

    - ### 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 MenuList` | `customMenus`
    `protected java.lang.String` | `error` The error message generated while building this panel, if any.
    `protected java.lang.String` | `file` The file that is drawn in some way on this panel.
    `protected double` | `imgSizeX` The maximum X bound of the image.
    `protected double` | `imgSizeY` The maximum Y bound of the image.
    `private java.awt.print.PrinterJob` | `job` The job that prints out this panel
    `private javax.swing.JLabel` | `label` The main label that describes the panel.
    `private javax.swing.JPanel` | `legendGrid` The panel that contains the legend grid.
    `protected javax.swing.JPanel` | `mainPanel` The main panel that the drawing resides on.
    `protected int` | `preferredDialogWidth` The preferred dialog width.
    `protected double` | `scale` The scale at which the image is seen.
    `private static long` | `serialVersionUID`

    - ### 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 java.awt.print.Printable

      `NO_SUCH_PAGE, PAGE_EXISTS`

    - ### 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` | `ImageDialog(java.lang.String file)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `buildLegend(java.lang.String... data)` Build the legend grid for this panel.
    `protected void` | `buildMenuBar()` Create the image dialog's menu bar.
    `protected abstract void` | `createDrawnImage(java.awt.Graphics2D g2)` Create the image drawn on this panel.
    `MenuList` | `getCustomMenus()`
    `java.lang.String` | `getFile()` Get the file drawn on this dialog.
    `double` | `getScale()` Get the scale at which the image is zoomed.
    `boolean` | `isError()` Get whether this panel ran into an error while being built.
    `int` | `print(java.awt.Graphics graphics, java.awt.print.PageFormat format, int index)` Render the panel for the print job.
    `void` | `printPanel()` Print if the user decides to, then reset the printer job properties.
    `protected abstract void` | `readImageData()` Read image data from a particular file.
    `void` | `refresh()` Refresh this dialog.
    `private java.lang.Integer` | `SafeParseInt(java.lang.String sval, java.lang.Integer defaultValue)`
    `void` | `setScale(int scale)` Set the image scale.
    `void` | `setTopCaption(java.lang.String text)` Set the text on the info label.
    `void` | `viewDialog()` View the dialog.
    `void` | `viewZoomDialog()` View a zooming dialog.
    `void` | `zoomImage()` Zoom the image on the panel.

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

    - #### customMenus

          protected MenuList customMenus

    - #### error

          protected java.lang.String error

      The error message generated while building this panel, if any.

    - #### file

          protected java.lang.String file

      The file that is drawn in some way on this panel.

    - #### imgSizeX

          protected double imgSizeX

      The maximum X bound of the image.

    - #### imgSizeY

          protected double imgSizeY

      The maximum Y bound of the image.

    - #### job

          private java.awt.print.PrinterJob job

      The job that prints out this panel

    - #### label

          private javax.swing.JLabel label

      The main label that describes the panel.

    - #### legendGrid

          private javax.swing.JPanel legendGrid

      The panel that contains the legend grid.

    - #### mainPanel

          protected javax.swing.JPanel mainPanel

      The main panel that the drawing resides on.

    - #### preferredDialogWidth

          protected final int preferredDialogWidth

      The preferred dialog width.
      See Also:
        Constant Field Values

    - #### scale

          protected double scale

      The scale at which the image is seen.

    - #### serialVersionUID

          private static final long serialVersionUID

      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### ImageDialog

          protected ImageDialog(java.lang.String file)

      Constructor.
      Parameters:
        `file` - The file that is drawn in some way.

  - ### Method Detail

    - #### buildLegend

          public void buildLegend(java.lang.String... data)

      Build the legend grid for this panel.
      Parameters:
        `data` - The array of data for the legend.

    - #### buildMenuBar

          protected void buildMenuBar()

      Create the image dialog's menu bar.

    - #### createDrawnImage

          protected abstract void createDrawnImage(java.awt.Graphics2D g2)

      Create the image drawn on this panel.
      Parameters:
        `g2` - The graphics context.

    - #### getCustomMenus

          public MenuList getCustomMenus()

    - #### getFile

          public java.lang.String getFile()

      Get the file drawn on this dialog.
      Returns:
        The file name.

    - #### getScale

          public double getScale()

      Get the scale at which the image is zoomed.
      Returns:
        The scale.

    - #### isError

          public boolean isError()

      Get whether this panel ran into an error while being built.
      Returns:
        True if an error occurred, false if not.

    - #### print

          public int print(java.awt.Graphics graphics,
                           java.awt.print.PageFormat format,
                           int index)

      Render the panel for the print job.
      Specified by:
        `print` in interface `java.awt.print.Printable`
      Parameters:
        `graphics` - The graphics object that is printed.
        `format` - The page format.
        `index` - The page index

    - #### printPanel

          public void printPanel()

      Print if the user decides to, then reset the printer job properties.

    - #### readImageData

          protected abstract void readImageData()

      Read image data from a particular file.

    - #### refresh

          public void refresh()

      Refresh this dialog.

    - #### SafeParseInt

          private java.lang.Integer SafeParseInt(java.lang.String sval,
                                                 java.lang.Integer defaultValue)

    - #### setScale

          public void setScale(int scale)

      Set the image scale.
      Parameters:
        `scale` - The percent by which the image is scaled, as an integer (ex. 5 = 5%).

    - #### setTopCaption

          public void setTopCaption(java.lang.String text)

      Set the text on the info label.
      Parameters:
        `text` - The text to set on the label.

    - #### viewDialog

          public void viewDialog()

      View the dialog.

    - #### viewZoomDialog

          public void viewZoomDialog()

      View a zooming dialog.

    - #### zoomImage

          public void zoomImage()

      Zoom the image on the panel.