4 - Tools
- Benjamin Albanese
- David Werth
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
- Zoomen über Strg + Mausrad
- Textselektion
- Miniaturansicht des aktuellen Dokuments
Das Ergebnis des Tutorials kann in https://github.com/levigo/jwt-getting-started/tree/master/jwt-tutorial-004 überprüft werden.
Projektstruktur
Folgende Klassen passen wir in diesem Tutorial an:
└── src/main/java/ └── org/jadice/ └── client/ └── ui/ └── JadiceWidget.java
Tools
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:
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
- PanForceMouseTool
- 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.
Die vollständige Liste aller mit JWT ausgelieferten Tools findet sich im Referenzhandbuch: http://support.levigo.de/products/jadice/documentplatform/current/german/sect.tools.html#sect.tools.default-tools
Nun müssen wir den neuen Code nur noch in der init-Methode aufrufen:
private void init() { ... panel.add(viewer); configureToolManager(); }
Zusammenfassung
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.
Tutorials
- 0 - GWT Projekt, basierend auf Spring Boot, einrichten
- 1 - Einbinden jadice web toolkit
- 2 - Laden eines Dokuments
- 3 - Toolbar und Commands
- 4 - Tools
- 5 - Custom Command (Dokument von URL laden)
Code
Dokumentation und Links
- JWT
- Allgemein