In 3 - Toolbar und Commands haben wir Funktionen über eine Werkzeugleiste eingebunden. In diesem Tutorial wollen wir uns der direkten Interaktion mit dem Dokument widmen und folgendes einbinden:
Scrollen mit gedrückter linker Maustaste oder dem Mausrad
Tools sind Erweiterungen der PageView, die die Interaktion mit dem Dokument, bzw. mit der Anzeige ermöglichen. Tools werden über den ToolManager verwaltet. Eine ausführlich Beschreibung findet sich unter den folgenden Links:
Für unsere gewünschten Funktionen gibt es jeweils bereits Standardimplementierungen mit JWT. Wir registrieren diese Tools im ToolManager der PageView:
org.jwt.client.ui.JadiceWidget
private void configureToolManager() {
ToolManager tm = viewer.getPageView().getToolManager();
tm.register(PanForceMouseTool.class, true);
tm.register(MouseWheelScrollTool.class, true);
tm.register(MouseWheelZoomTool.class, true);
tm.register(ThumbnailTool.class, true);
tm.register(TextSelectionTool.class, true);
tm.register(HighlightTool.class, true);
// DefaultToolActivationPolicy automatically activates tools like the
// TextSelectionTool and PanForceMouseTool if another tool is deactivated
tm.setActivationPolicy(new DefaultToolActivationPolicy());
}
Ein kurzer Überblick über unseren Code:
PageView.getToolManager() Der ToolManager unserer PageView.
ToolManager.register() Hier registrieren wir unsere Tools und legen fest, ob die Tools direkt aktiviert sein sollen.
PanForceMouseTool Mit diesem Tool können wir bei gedrückter linker Maustaste im Dokument scrollen.
MouseWheelScrollTool Ermöglicht uns das Scrollen über das Mausrad.
MouseWheelZoomTool Aktiviert das Zoomen über Strg + Mausrad
ThumbnailTool Das ThumnailTool blendet am unteren Rand einen Pfeil ein, über den die Miniaturansicht des aktuellen Dokuments eingeblendet werden kann.
TextSelectionTool Mit dem TextSelectionTool kann Text innerhalb des Dokuments markiert werden.
HighlightTool Mit dem HighlightTool wird der ausgewählt Text farblich hervorgehoben
DefaultToolActivationPolicy Die ActivationPolicy legt fest, welche Tools automatisch aktiviert werden, wenn z.B. ein anderes Tool deaktiviert wurde. Wir nutzen mit der DefaultActivationPolicy hier die JWT-Standardimplementierung.
In diesem Tutorial haben wir das Tool-Konzept kennengelernt. Wir können nun mit der Maus innerhalb des Dokument scrollen, zoomen und Text selektieren. Mit der Miniaturansicht können wir uns einen kompakten Überblick über das aktuelle Dokument verschaffen und gezielt zu einzelnen Seiten navigieren.