org.faceless.pdf2.viewer2.feature

## Class AbstractRegionSelector

- java.lang.Object
- - org.faceless.pdf2.viewer2.ViewerFeature
  - - org.faceless.pdf2.viewer2.ViewerWidget
    - - org.faceless.pdf2.viewer2.ToggleViewerWidget
      - - org.faceless.pdf2.viewer2.feature.AbstractRegionSelector

- All Implemented Interfaces:
    DocumentPanelListener, PagePanelInteractionListener
  Direct Known Subclasses:
    AnnotationAdd, AnnotationAddLine, SelectArea, ZoomSelection

      public abstract class AbstractRegionSelector
      extends ToggleViewerWidget
      implements DocumentPanelListener, PagePanelInteractionListener

  An abstract superclass for any widgets that require a region to be selected. Subclasses should override the `action(PagePanel, Point2D, Point2D)` method.

  This code is copyright the Big Faceless Organization. You're welcome to use, modify and distribute it in any form in your own projects, provided those projects continue to make use of the Big Faceless PDF library.

  Since:
    2.8.5

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractRegionSelector(String name)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `action(PagePanel panel, Point2D start, Point2D end)` Called when an area of the PDF has been selected.
    `void` | `action(ViewerEvent event)` Toggle the active state of this widget by calling `ToggleViewerWidget.setSelected(boolean)`
    `protected JComponent` | `createRubberBoxComponent()` Create the JComponent that it used to display the "rubber box".
    `void` | `documentUpdated(DocumentPanelEvent event)` Called when an `DocumentPanelEvent` is raised
    `void` | `initialize(PDFViewer viewer)` Called when the feature is first added to a viewer
    `void` | `pageAction(PagePanelInteractionEvent event)` Called when a `PagePanelInteractionEvent` is raised
    `void` | `paintRubberBandComponent(JComponent component, Graphics2D g)` Paint the component while the "rubber band" box is being stretched.
    `protected void` | `updateViewport(DocumentViewport vp, boolean selected)` Called from `ToggleViewerWidget.setSelected(boolean)`, this method is called in each viewport in use by the `PDFViewer` or `DocumentPanel` so it can update its status.

    - ### Methods inherited from class org.faceless.pdf2.viewer2.ToggleViewerWidget

      `getGroupName, getGroupOwner, getGroupSelection, getWidgets, isSelected, setGroupOwner, setSelected`

    - ### Methods inherited from class org.faceless.pdf2.viewer2.ViewerWidget

      `createActionListener, getComponent, getIcon, getViewer, isButtonEnabledByDefault, isDocumentRequired, isMenuEnabledByDefault, setButton, setComponent, setDocumentRequired, setMenu, setMenu, setToolBarEnabled, setToolBarEnabledAlways, setToolBarFloatable, setToolBarFloating, toString`

    - ### Methods inherited from class org.faceless.pdf2.viewer2.ViewerFeature

      `getAllEnabledFeatures, getAllFeatures, getCustomJavaScript, getFeatureProperty, getFeatureURLProperty, getName, isEnabledByDefault, setFeatureName, teardown`

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

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

- - ### Constructor Detail

    - #### AbstractRegionSelector

          protected AbstractRegionSelector(String name)

  - ### Method Detail

    - #### initialize

          public void initialize(PDFViewer viewer)

      Description copied from class: `ViewerFeature`
      Called when the feature is first added to a viewer
      Overrides:
        `initialize` in class `ToggleViewerWidget`

    - #### action

          public void action(ViewerEvent event)

      Description copied from class: `ToggleViewerWidget`
      Toggle the active state of this widget by calling `ToggleViewerWidget.setSelected(boolean)`
      Overrides:
        `action` in class `ToggleViewerWidget`

    - #### updateViewport

          protected void updateViewport(DocumentViewport vp,
                                        boolean selected)

      Description copied from class: `ToggleViewerWidget`
      Called from `ToggleViewerWidget.setSelected(boolean)`, this method is called in each viewport in use by the `PDFViewer` or `DocumentPanel` so it can update its status. By default it is a no-op.
      Overrides:
        `updateViewport` in class `ToggleViewerWidget`

    - #### documentUpdated

          public void documentUpdated(DocumentPanelEvent event)

      Description copied from interface: `DocumentPanelListener`
      Called when an `DocumentPanelEvent` is raised
      Specified by:
        `documentUpdated` in interface `DocumentPanelListener`

    - #### createRubberBoxComponent

          protected JComponent createRubberBoxComponent()

      Create the JComponent that it used to display the "rubber box". If you need to display some custom appearance when overriding this class, this method should be overridden.
      Since:
        2.11.7

    - #### pageAction

          public void pageAction(PagePanelInteractionEvent event)

      Description copied from interface: `PagePanelInteractionListener`
      Called when a `PagePanelInteractionEvent` is raised
      Specified by:
        `pageAction` in interface `PagePanelInteractionListener`

    - #### paintRubberBandComponent

          public void paintRubberBandComponent(JComponent component,
                                               Graphics2D g)

      Paint the component while the "rubber band" box is being stretched. This method may be overriden if something is to be painted inside the box during this time.
      Parameters:
        `component` - the "rubber band" box being drawn
        `g` - the Graphic2D object to draw on.

    - #### action

          public void action(PagePanel panel,
                             Point2D start,
                             Point2D end)

      Called when an area of the PDF has been selected.
      Parameters:
        `panel` - the PagePanel the selection was made on.
        `start` - the start point of the selection, in PDF-units
        `end` - the end point of the selection, in PDF-units

Copyright © 2001-2015 Big Faceless Organization