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 theaction(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
-
-
Field Summary
-
Fields inherited from class org.faceless.pdf2.viewer2.ViewerWidget
propertyChangeSupport
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
AbstractRegionSelector(String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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 callingToggleViewerWidget.setSelected(boolean)
protected JComponent
createRubberBoxComponent()
Create the JComponent that it used to display the "rubber box".void
documentUpdated(DocumentPanelEvent event)
Called when anDocumentPanelEvent
is raisedvoid
initialize(PDFViewer viewer)
Called when the feature is first added to a viewervoid
pageAction(PagePanelInteractionEvent event)
Called when aPagePanelInteractionEvent
is raisedvoid
paintRubberBandComponent(JComponent component, Graphics2D g)
Paint the component while the "rubber band" box is being stretched.void
setRegionShape(Shape shape)
Set the region that is being selected with this operation.protected void
updateViewport(DocumentViewport vp, boolean selected)
Called fromToggleViewerWidget.setSelected(boolean)
, this method is called in each viewport in use by thePDFViewer
orDocumentPanel
so it can update its status.-
Methods inherited from class org.faceless.pdf2.viewer2.ToggleViewerWidget
getGroupName, getGroupOwner, getGroupSelection, getWidgets, isSelected, setGroupOwner, setSelected, teardown
-
Methods inherited from class org.faceless.pdf2.viewer2.ViewerWidget
addPropertyChangeListener, createActionListener, firePropertyChange, getComponent, getIcon, getViewer, isButtonEnabledByDefault, isDocumentRequired, isMenuEnabledByDefault, removePropertyChangeListener, 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
-
-
-
-
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 classToggleViewerWidget
-
action
public void action(ViewerEvent event)
Description copied from class:ToggleViewerWidget
Toggle the active state of this widget by callingToggleViewerWidget.setSelected(boolean)
- Overrides:
action
in classToggleViewerWidget
-
setRegionShape
public void setRegionShape(Shape shape)
Set the region that is being selected with this operation. Any shape can be specified, but if the shape is a rectangle then it has extended functionality: the width or height of the rectangle can be 0 (to select a line or point), or Float.NaN to allow stretching in that dimension. So, for example, to allow the selection of a Rectangle of any size, pass in
new Rectangle2D.Float(0, 0, Float.NaN, Float.NaN)
(this is also the default value).The specified shape is in PDF coordinates, and they will be clipped to the dimensions of the page. The "x" and "y" values of the shape are ignored.
- Since:
- 2.24.1
-
updateViewport
protected void updateViewport(DocumentViewport vp, boolean selected)
Description copied from class:ToggleViewerWidget
Called fromToggleViewerWidget.setSelected(boolean)
, this method is called in each viewport in use by thePDFViewer
orDocumentPanel
so it can update its status. By default it is a no-op.- Overrides:
updateViewport
in classToggleViewerWidget
-
documentUpdated
public void documentUpdated(DocumentPanelEvent event)
Description copied from interface:DocumentPanelListener
Called when anDocumentPanelEvent
is raised- Specified by:
documentUpdated
in interfaceDocumentPanelListener
-
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 aPagePanelInteractionEvent
is raised- Specified by:
pageAction
in interfacePagePanelInteractionListener
-
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 drawng
- the Graphic2D object to draw on.
-
-