org.faceless.pdf2.viewer2.feature
Class ThumbnailPanel

java.lang.Object
  extended by org.faceless.pdf2.viewer2.ViewerFeature
      extended by org.faceless.pdf2.viewer2.SidePanelFactory
          extended by org.faceless.pdf2.viewer2.feature.ThumbnailPanel

public class ThumbnailPanel
extends SidePanelFactory

Creates a ThumbnailPanel.ThumbnailSidePanel that displays the page thumbnails. Since release 2.10.2 the Thumbnail panel can also be used to reorder, delete and insert pages or entire documents. Modifying a document in this way requires the EncryptionHandler on the document grants the "Assemble" right.

It's also possible to add custom actions to a ThumbnailPanel by adding features implementing ThumbnailPanel.ThumbnailSelectionAction. These will be available via keyboard shortcut or the popup menu on the panel.

The following initialization parameters can be specified to configure this feature.
editabletrue or false, for setEditable()
draggabletrue or false, for setDraggable()
scrollFollowtrue or false, for setScrollFollow()
usePageLabelstrue or false, for setUsePageLabels()
thumbnailSizenumber, for setThumbnailSize(). Default is 100
The name of this feature is ShowHideThumbnails

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
See Also:
ThumbnailPanel.ThumbnailSelectionAction

Nested Class Summary
static class ThumbnailPanel.SinglePagePanel
           A JPanel representing a single page image.
static interface ThumbnailPanel.ThumbnailSelectionAction
          This interface should be implemented by any ViewerFeature that should be available as an action on the ThumbnailPanel.View, either by the popup menu or by keypress.
static class ThumbnailPanel.ThumbnailSidePanel
          This type of SidePanel is returned from a call to createSidePanel().
static class ThumbnailPanel.View
           This class is the JPanel containing all the thumbnails.
 
Constructor Summary
ThumbnailPanel()
          Create a new ThumbnailPanel
 
Method Summary
 void addAction(ThumbnailPanel.ThumbnailSelectionAction action)
          If this ThumbnailPanel is part of a DocumentPanel with no viewer, use this method add add ThumbnailPanel.ThumbnailSelectionAction actions to the panel.
 SidePanel createSidePanel()
          Create and return a new SidePanel.
 void initialize(PDFViewer viewer)
          Called when the feature is first added to a viewer
 void setDraggable(boolean draggable)
          Determines whether SidePanels created by this factory can be edited by dragging pages around or dragging new documents in.
 void setEditable(boolean editmode)
          Determine whether SidePanels created by this factory allow pages to be edited in any way - either reordered via dragging or through any editing ThumbnailPanel.ThumbnailSelectionAction.
 void setScrollFollow(boolean follow)
          Set whether the thumbnail panel should scroll to follow the currently selected page or not.
 void setThumbnailSize(int thumbnailsize)
          Set the size of the longest dimension of each thumbnail.
 void setUsePageLabels(boolean uselabels)
          Set whether to number the pages using the "page labels" if defined on this PDF, or whether to always use the physical page number.
 
Methods inherited from class org.faceless.pdf2.viewer2.SidePanelFactory
isSidePanelRequired, 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

ThumbnailPanel

public ThumbnailPanel()
Create a new ThumbnailPanel

Since:
2.10.2
Method Detail

setEditable

public void setEditable(boolean editmode)
Determine whether SidePanels created by this factory allow pages to be edited in any way - either reordered via dragging or through any editing ThumbnailPanel.ThumbnailSelectionAction. The default is true, but this may be overridden by the PDF itself if it is encypted and doesn't allow edting.

Parameters:
editmode - true if SidePanels created by this Factory allow alterations to the PDF
Since:
2.10.2

setDraggable

public void setDraggable(boolean draggable)
Determines whether SidePanels created by this factory can be edited by dragging pages around or dragging new documents in. This is distinct from setEditable(boolean) - if that flag is true but this flag false, the document can still be edited by other means via the Thumbnail panel


setScrollFollow

public void setScrollFollow(boolean follow)
Set whether the thumbnail panel should scroll to follow the currently selected page or not. The default is true.

Parameters:
follow - whether to follow the currently selected page in the viewport or not.
Since:
2.11.6

setUsePageLabels

public void setUsePageLabels(boolean uselabels)
Set whether to number the pages using the "page labels" if defined on this PDF, or whether to always use the physical page number.

Parameters:
uselabels - if true, use the page labels if defined, otherwise use the physical page number
Since:
2.11.19
See Also:
PDF.getPageLabel(int), PageNumber.setUsePageLabels(boolean)

addAction

public void addAction(ThumbnailPanel.ThumbnailSelectionAction action)
If this ThumbnailPanel is part of a DocumentPanel with no viewer, use this method add add ThumbnailPanel.ThumbnailSelectionAction actions to the panel.

Since:
2.12

setThumbnailSize

public void setThumbnailSize(int thumbnailsize)
Set the size of the longest dimension of each thumbnail. The default is 100, although this can be changed by the "thumbnailSize" property or via the user-interface while running the viewer.

Since:
2.11.13

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 ViewerFeature

createSidePanel

public SidePanel createSidePanel()
Description copied from class: SidePanelFactory
Create and return a new SidePanel.

Specified by:
createSidePanel in class SidePanelFactory


Copyright © 2001-2013 Big Faceless Organization