ur_rna.StructureEditor.services

## Interface SceneController

- All Known Implementing Classes:
    RnaDrawController

      public interface SceneController

  Abstract some things away from RnaDrawController

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface and Description
    --- | ---
    `static class` | `SceneController.DragOpts` flags passed to DrawHandle and dragNuc methods to indicate that the user is modifying the default behavior.

  - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `DrawHint` | `addHint(java.awt.Shape shape)`
    `DrawHint` | `addHint(java.lang.String text, double centerX, double centerY)`
    `boolean` | `addHistoryListener(java.util.function.Consumer<HistoryUpdateEvent> listener)`
    `boolean` | `addSceneUpdateListener(java.util.function.Consumer<SceneUpdateEvent> listener)`
    `void` | `addUndo(SceneUpdateInfo event)`
    `Vec2D` | `calcNormalToNuc(Nuc cur)`
    `boolean` | `canRedo()`
    `boolean` | `canUndo()`
    `void` | `clearUndo()`
    `void` | `controlsUpdated()`
    `Motif.Helix` | `findBaseHelix(java.util.Collection<Nuc> range)`
    `ICanvas` | `getCanvas()`
    `DrawSettings` | `getSettings()`
    `void` | `historyUpdated()`
    `void` | `layoutUpdated(SceneUpdateInfo details)`
    `void` | `layoutUpdated(SceneUpdateInfo details, boolean addHistoryEntry)`
    `void` | `notifyUpdate(SceneUpdateInfo update)`
    `void` | `notifyUpdate(SceneUpdateInfo update, boolean addHistoryEntry)`
    `default Settings` | `programSettings()`
    `void` | `redo()`
    `boolean` | `removeHistoryListener(java.util.function.Consumer<HistoryUpdateEvent> listener)`
    `boolean` | `removeSceneUpdateListener(java.util.function.Consumer<SceneUpdateEvent> listener)`
    `void` | `rotateNucs(java.util.Collection<Nuc> list, java.awt.geom.Point2D modelCenter, double theta)`
    `void` | `rotateNucs(java.util.Collection<Nuc> nucs, java.awt.geom.Point2D modelCenter, java.awt.Point start, java.awt.Point current, SceneController.DragOpts options)`
    `void` | `rotateNucs(java.util.Collection<Nuc> nucs, java.awt.geom.Point2D modelCenter, java.awt.Point start, java.awt.Point current, SceneController.DragOpts options, Motif.Helix baseHelix, boolean showArc)`
    `void` | `selectionUpdated()`
    `void` | `structureUpdated(SceneUpdateInfo details)`
    `void` | `styleUpdated(SceneUpdateInfo details)`
    `void` | `undo()`
    `void` | `viewUpdated()`

- - ### Method Detail

    - #### addHint

          DrawHint addHint(java.awt.Shape shape)

    - #### addHint

          DrawHint addHint(java.lang.String text,
                           double centerX,
                           double centerY)

    - #### addHistoryListener

          boolean addHistoryListener(java.util.function.Consumer<HistoryUpdateEvent> listener)

    - #### addSceneUpdateListener

          boolean addSceneUpdateListener(java.util.function.Consumer<SceneUpdateEvent> listener)

    - #### addUndo

          void addUndo(SceneUpdateInfo event)

    - #### calcNormalToNuc

          Vec2D calcNormalToNuc(Nuc cur)

    - #### canRedo

          boolean canRedo()

    - #### canUndo

          boolean canUndo()

    - #### clearUndo

          void clearUndo()

    - #### controlsUpdated

          void controlsUpdated()

    - #### findBaseHelix

          Motif.Helix findBaseHelix(java.util.Collection<Nuc> range)

    - #### getCanvas

          ICanvas getCanvas()

    - #### getSettings

          DrawSettings getSettings()

    - #### historyUpdated

          void historyUpdated()

    - #### layoutUpdated

          void layoutUpdated(SceneUpdateInfo details)

    - #### layoutUpdated

          void layoutUpdated(SceneUpdateInfo details,
                             boolean addHistoryEntry)

    - #### notifyUpdate

          void notifyUpdate(SceneUpdateInfo update)

    - #### notifyUpdate

          void notifyUpdate(SceneUpdateInfo update,
                            boolean addHistoryEntry)

    - #### programSettings

          default Settings programSettings()

    - #### redo

          void redo()

    - #### removeHistoryListener

          boolean removeHistoryListener(java.util.function.Consumer<HistoryUpdateEvent> listener)

    - #### removeSceneUpdateListener

          boolean removeSceneUpdateListener(java.util.function.Consumer<SceneUpdateEvent> listener)

    - #### rotateNucs

          void rotateNucs(java.util.Collection<Nuc> list,
                          java.awt.geom.Point2D modelCenter,
                          double theta)

    - #### rotateNucs

          void rotateNucs(java.util.Collection<Nuc> nucs,
                          java.awt.geom.Point2D modelCenter,
                          java.awt.Point start,
                          java.awt.Point current,
                          SceneController.DragOpts options)

    - #### rotateNucs

          void rotateNucs(java.util.Collection<Nuc> nucs,
                          java.awt.geom.Point2D modelCenter,
                          java.awt.Point start,
                          java.awt.Point current,
                          SceneController.DragOpts options,
                          Motif.Helix baseHelix,
                          boolean showArc)

    - #### selectionUpdated

          void selectionUpdated()

    - #### structureUpdated

          void structureUpdated(SceneUpdateInfo details)

    - #### styleUpdated

          void styleUpdated(SceneUpdateInfo details)

    - #### undo

          void undo()

    - #### viewUpdated

          void viewUpdated()