CIB JView technischer Leitfaden

Site: CIB eLearning
Course: CIB JView
Book: CIB JView technischer Leitfaden
Printed by: Guest user
Date: Wednesday, 4 December 2024, 9:45 AM

Lieferumfang

Allgemein
CIB JView für Windows
CIB JView für Linux
Benutzung von JComod-IPC

Allgemein

CIB JView steht in verschiedenen Varianten mit unterschiedlichem Funktionsumfang zur Verfügung. Die Applikation wird in Form einer zip-Datei angeliefert.

Komponente

Softwareumfang

CIB jView

Reiner Viewer für Dokumente im RTF-, PDF-, (ASCII-)Text- oder (TIFF-) Image-Format.

CibJView-<version>.zip

CIB jView&jRec

Viewer für Dokumente im RTF-, PDF-, (ASCII)-Text- oder (TIFF)-Image-Format mit eingebetteter CIB jRec-Komponente. Dadurch wird das Bearbeiten von editierbaren Feldern innerhalb von RTF-Dokumenten mit dem jRec Edit-Control ermöglicht. Dieses umfasst die Grund-Funktionen zur Textformatierung wie verschiedene Schriftarten und Größen  in normal, fett oder kursiv sowie die Absatzformate linksbündig, zentriert oder rechtsbündig.

Näheres siehe „CIB jRec Technischer Leitfaden“

Zusatzbibliothek CibjRec-<version>.jar

CIB jView&jRec2

Viewer für Dokumente im RTF-, PDF-, (ASCII)-Text- oder (TIFF)-Image-Format mit eingebetteter CIB jRec2-Komponente. Dadurch wird das Bearbeiten von editierbaren Feldern innerhalb von RTF-Dokumenten mit dem jRec2 Edit-Control ermöglicht. Dieses unterstützt neben den bisherigen JRec-Funktionen zur Textformatierung auch Blocksatz, Aufzählungen, nummerierte Listen, Tabellen, automatische Silbentrennung und Rechtschreib­prüfung.

Zusatzbibliothek CibjRec2-<version>.jar

CIB jView&scan

(nur Windows)

Viewer für Dokumente im RTF-, PDF-, (ASCII)-Text- oder (TIFF)-Image-Format mit der zusätzlichen Möglichkeit, Dokumente mit einem Twain-Scanner zu erfassen und in ein Scanpool-Verzeichnis zu importieren.

Näheres siehe „Fachkonzept JView&scan.pdf“

Zusatzbibliothek CibjScan-<version>.jar

Bei Einbindung von CibjScan wird auch die Komponente mmsc_imageviewer.jar benötigt (siehe unten)

CIB jView&form

Viewer für Dokumente im RTF-, PDF-, (ASCII)-Text- oder (TIFF)-Image-Format mit der zusätzlichen Möglichkeit, Formularfelder innerhalb von PDF-Dokumenten zu bearbeiten.

Näheres siehe „TechnischerLeitfadenCIBjViewform.pdf“

CIB jView&sign

Viewer für Dokumente im RTF-, PDF-, (ASCII)-Text- oder (TIFF)-Image-Format mit der zusätzlichen Möglichkeit, mit Hilfe eines Signatur-Pads Dokumente mit einer elektronischen Signatur zu versehen.

Näheres siehe „TechnischerLeitfadenCIBjViewsign.pdf“ und „CIB JView&Sign.doc“

 

Nach dem Auspacken ergibt sich folgende Verzeichnisstruktur mit den angegebenen Dateien, wobei zwischen den Varianten für Windows und Linux unterschieden werden muss.


CIB JView für Windows

Verzeichnis

Datei

Inhalt

CibjView

readme.txt

ReadMe Datei

 

run.bat

Batch-Datei für den Start über die Konsole

 

run_ipc.bat

Batch-Datei für den Start über die Konsole mit Aktivierung von IPC. Die Aktivierung erfolgt durch Setzen der Java-Option:  -Dde.cib.jcomod.useIpc=true

 

cibjView.ini

CIB jView INI-Datei

CibjView\docs\api und Unterverzeichnisse

Alle javadoc Dateien, insbesondere index.html

Java-Dokumentation zu CIB jView:
Einstieg über index.html

CibjView\docs\manual

 

CIB jView Manual-Dokumente

CibjView\examples

 

Code-Beispiele zum Aufruf von CibjView

CibJView\lib

CibGUI-<version>.jar

CIB GUI Java Archivdatei

 

CibjView-<version>.jar

CIB jView Java Archivdatei

 

CIBjnavTree-<version>.jar

CIB Navigationsbaum Archivdatei

 

CibjRec-<version>.jar

CIB jRec Java Archivdatei,
nur bei Variante jView&rec

 

CibjRec2-<version>.jar

CIB jRec2 Java Archivdatei,
nur bei Variante jView&rec2

 

CibjScan-<version>.jar

CIB jScan Java Archivdatei um Dokumente mit einem Twain-Scanner zu erfassen und in ein Scanpool-Verzeichnis zu importieren (optional, bei Einbindung von CibjScan wird auch die Komponente mmsc_imageviewer.jar benötigt)

 

ComodJobs.jar

Java Archivdatei für  die JCoMod-Jobs und den JPrintDialog

 

mime-util-<version>.jar

Bibliothek zur Behandlung der Mime-Types

 

jai_imageio.jar
jai_core.jar
jai_codec.jar

Java Advanced Image IO Bibliotheken zur verbesserten Anzeige von TIFF-Images.
Hinweis: der VM-Schalter zur Deaktivierung der JAI Media Library muss gesetzt sein:
-Dcom.sun.media.jai.disableMediaLib=true

 

mmsc_imageviewer.jar

Bibliothek für erweitertes Image IO und Twain-Scanner-Interface (optional: wird nur bei Einbindung der Scan-Komponente CibjScan benötigt)

CibjView\lib\win32

cibmrg32.dll

CIB merge DLL für Win32

 

CibPrt32.dll

CIB format DLL für Win32

 

CibPdf32.dll

CIB PDF toolbox DLL für Win32

 

cibjbig232.dll

CIB Jbig2 DLL für Win32

 

ipcserver.exe

CIB JComod IPC Server (optional)

 

JComod.dll

CoMod JNI DLL

 

jcomod-ipc.dll

IPC-Variante der CoMod JNI DLL (optional)

 

log4cpp.dll

CIB JComod IPC Logging Library (optional)

 

log4cpp.properties

Log4cpp Properties-Datei (optional)


CIB JView für Linux

Verzeichnis

Datei

Inhalt

CibjView

readme.txt

ReadMe Datei

 

run.sh

Batch-Datei für den Start über die Konsole ohne Aktivierung von IPC

 

run_ipc.sh

Batch-Datei für den Start über die Konsole mit Aktivierung von IPC. Die Aktivierung erfolgt durch Setzen der Java-Option:
-Dde.cib.jcomod.useIpc=true

 

cibjView.ini

CIB jView INI-Datei

CibjView\docs\api und Unterverzeichnisse

Alle javadoc Dateien, insbesondere index.html

Java-Dokumentation zu CIB jView:
Einstieg über index.html

CibjView\docs\manual

 

CIB jView Manual-Dokumente

CibjView\examples

 

Code-Beispiele zum Aufruf von CIB jView

CibjView\lib

CibGUI-<version>.jar

CIB GUI Java Archivdatei

 

CIBjnavTree-<version>.jar

CIB Navigationsbaum Archivdatei

 

CibjView-<version>.jar

CIB jView Java Archivdatei

 

CibjRec-<version>.jar

CIB jRec Java Archivdatei,
nur bei Variante jView&rec

 

ComodJobs.jar

Java Archivdatei für  die JCoMod-Jobs und den JPrintDialog

 

mime-util.jar

Mime-type Archivdatei

 

jai_imageio.jar
jai_core.jar
jai_codec.jar

Java Advanced Image IO Bibliotheken zur verbesserten Anzeige von TIFF-Images.
Hinweis: der VM-Schalter zur Deaktivierung der JAI Media Library muss gesetzt sein:
-Dcom.sun.media.jai.disableMediaLib=true

CibjView\lib\linux32

ipcserver

CIB JComod IPC Server (optional)

 

ld-linux.so.2

Standard Linux System Library

 

libcibpdfux.so

CIB PDF toolbox Shared Object Library

 

libcibprtux.so

CIB format Shared Object Library

 

libgcc_s.so.1

GNU Compiler Collection Library

 

libjcomod.so

CIB JComod Shared Object Library

 

libjcomod-ipc.so

IPC-Variante der CIB JComod SO Library (optional)

 

liblog4cpp.so

CIB JComod IPC Logging Library (optional)

 

libstdc++.so.5

Standard C++ Shared Object Library 5

 

libstdc++.so.6

Standard C++ Shared Object Library 6

 

log4cpp.properties

Log4cpp Properties-Datei (optional)


Benutzung von JComod-IPC

Wird JComod-IPC zusammen mit Webstart auf einem Windows Vista System ausgeführt, muss darauf geachtet werden, dass alle für die Applikation notwendigen Dateien in einem Verzeichnis gespeichert werden, welches kein Integrity gesetzt hat. Hintergrund ist der unter Windows Vista verwendete Integrity-Mechanismus zur Einschränkung der Rechte für Applikationen.

Einführung: CIB JView

CIB jView ist ein flexibler Dokument-Viewer für RTF-, PDF-, ASCII- und Image-Dateien. Er benutzt intern native Aufrufe der CIB office Module über den JCoMod Wrapper und dessen Jobklassen.



Die Oberfläche des CIB jView umfasst folgende Komponenten:

  • Menüleiste
  • Toolbarleiste
  • Viewer-Fenster mit Scrollbar
  • Seiten-Navigationsleiste
  • Statuszeile

Sie lässt sich über eine Methode zum Setzen von Properties (cibView.setProperty), frei nach den Wünschen der aufrufenden Applikation gestalten. Jede einzelne graphische Komponente (z.B. Toolbar-Icon), die auf dem Bild zu sehen ist, kann durch Setzen der entsprechenden Property aus- oder eingeschaltet werden. Die dazugehörigen Eigenschaften sind als Member in der Schnittstelle de.cib.gui.framework.ICibApplication aufgelistet.

Einführung: CIB jView mit Rich-Text-Edit-Komponente

Allgemein
CIB jView mit jRec
CIB jView mit jRec2
Steuerung des Verhältnisses von jView-Fenster zu Edit-Fenster
Interface SplitPaneListener mit Callback-Methode für Split-Panel
Interface PushAreaListener mit Callback-Methode für Edit-Bereiche
Kennzeichenersetzung in RTF-Dokumenten

Allgemein

CIB jView steht auch mit den zusätzlichen Komponenten jRec bzw. jRec2 zur Verfügung und wird dann als jView&jRec bzw JView&jRec2 bezeichnet. CIB jRec und jRec2 sind Java basierte Rich-Text Editor-Komponente, die sich nach dem von anderen CIB Modulen bekannten Schnittstellenkonzept einfach in Masken und fremde Anwendungen integrieren lässt.  Durch ihre Integration in jView ist es möglich, bei RTF-Dokumenten, die ein oder mehrere editierbare Felder enthalten, deren Inhalt in einem separaten Fenster zu bearbeiten. Editierbare Bereiche werden durch Rechtecke mit gestrichelter Umrandung dargestellt.

Die CIB Rec-Editoren können entweder leer, mit ASCII oder RTF-Texten gestartet werden. Umgekehrt können die Texte wieder im ASCII- oder RTF-Format aus dem Edit-Control gelesen werden.

Falls im CIB jView mit Rec-Komponente ein RTF-Dokument mit eingebetteten Edit-Feldern angezeigt ist, öffnet sich durch Doppelklick in einen Editbereich unterhalb des Viewer-Fensters ein Edit-Fenster, in dem der aktuelle Text angezeigt wird und bearbeitet werden kann. Der jeweils in Bearbeitung befindliche Bereich wird im Viewer-Fenster rot umrandet dargestellt.

Durch erneuten Doppelklick in das Viewer-Fenster, diesmal außerhalb des Edit-Feldes, wird der geänderte Text in das Dokument übernommen und das Edit-Fenster wieder geschlossen. Alternativ dazu kann die Bearbeitung durch Klick auf das Beenden-Icon ganz rechts in der Toolleiste des Edit-Fensters beendet werden. Dabei erscheint ein Dialog mit der Frage, ob die Änderungen über­nommen werden sollen oder nicht.

Falls das JView-Paket  die jRec2-Bibliotheken enthält, wird im Edit-FensterCIB jRec2 gestartet, falls nur die jRec-Bibliotheken enthalten sind, wird CIB jRec gestartet. Falls keine der Rec-Bibliotheken im JView-Paket enthalten ist, können Rec-Bereiche im JView nicht  geöffnet und editiert werden.

CIB jRec2 ist eine komplette Neuentwicklung und umfasst weitaus mehr Funktionen als CIB jRec. Wie die anderen CIB Module können dieses RTF-Edit-Controls komfortabel durch Setzen verschiedener Properties gesteuert werden.

Im Folgenden werden die beiden Komponenten kurz beschrieben. Detaillierte Beschreibungen finden Sie in den Technischen Leitfäden zu den beiden Produkten.


CIB jView mit jRec

CIB jRec besitzt folgende Möglichkeiten zur Textformatierung:

  • Verschiedene Schriftarten und Schriftgrößen
  • Zeichenattribute fett, kursiv, unterstrichen, farbig
  • Absatzausrichtung linksbündig, zentriert, rechtsbündig
  • Kopieren, Ausschneiden und Einfügen markierter Textabschnitte
  • Ein-/Ausblenden von Formatierungszeichen


CIB jView mit jRec2

Der CIB jRec2 umfasst folgende Funktionalitäten:

  • Verschiedene Schriftarten und Schriftgrößen
  • Zeichenattribute fett, kursiv, unterstrichen, farbig, durchgestrichen, hochgestellt, tiefgestellt
  • Absatzausrichtung linksbündig, zentriert, rechtsbündig, Blocksatz
  • Kopieren, Ausschneiden und Einfügen markierter Textabschnitte
  • Ein-/Ausblenden von Formatierungszeichen
  • Öffnen und Speichern von RTF-Dokumenten
  • Einfügen von Plain-Text und RTF-Text über API-Funktionen
  • Mehrere Dokumentseiten
  • Anzeige der Text-Hintergrundfarbe
  • Aufzählungen
  • Nummerierte Listen
  • Ein-/Ausrückungen von Listen
  • Tabellen mit Formatierungen für Tabellenzeile, Tabellenspalte und Tabellenzelle
  • Rahmen und Hintergrund für ganze Tabelle bzw. einzelne Zellen
  • Automatische Silbentrennung
  • Rechtschreibprüfung
  • Wörterbuch


Steuerung des Verhältnisses von jView-Fenster zu Edit-Fenster

Bei geöffnetem Editbereich ist der Anzeigebereich des Anwendungsfensters durch ein Split-Panel in ein jView-Fenster (Viewing-Bereich) und ein Edit-Fenster (=Editbereich) unterteilt.  Ein Edit-Fenster kann entweder ein jRec- oder ein jRec2-Edit-Control enthalten. Standardmäßig ist das Verhältnis zwischen JView- und Edit-Fenster 2:1, das JView-Fenster nimmt also 66% des Anzeigebereichs ein.

Um dieses  Verhältnis von der aufrufenden Anwendung steuern zu können, wird eine Integer-Property PROPERTY_SPLITPANE_DIVIDER_PERCENTAGE (= „splitpane-divider-percentage”) eingeführt, die den prozentualen Anteil des JView-Fensters zum gesamten Anzeigebereich bei geöffnetem Editbereich angibt.

Diese Property wird beim Aufruf von jView wie die anderen Properties bei der jView-Instanz gesetzt und beim Öffnen des Edit-Fensters ausgewertet.

Code-Beispiel zum Setzen des SplitPane-Verhältnisses  bei der jView-Instanz (Verhältnis jView-Fenster zu Gesamt-Fenster in Prozent, der Defaultwert ist 66 Prozent):

      // Beim Start von jView
      t_CibView.setProperty(
      ICibApplication.PROPERTY_SPLITPANE_DIVIDER_PERCENTAGE,             new Integer(50));


Interface SplitPaneListener mit Callback-Methode für Split-Panel

Zusätzlich zum Setzen der Property wird ein Interface SplitPaneListener mit einer CallBack-Methode splitDividerPercentage eingeführt, die den aktuellen Prozentwert zurückliefert. Der Aufrufer muss sich dazu bei der JView-Instanz als Listener anmelden.

Bei der Registrierung kann durch ein bitcodiertes Flag angegeben werden, bei welchen Ereignissen der Listener informiert werden soll:

  • Bei jedem Schließen des Edit-Bereiches
  • Beim Beenden der jView-Applikation

Beim Eintreten des Ereignisses wird jeder registrierte Listener über den aktuellen Prozentwert informiert.

So kann der Aufrufer selbst entscheiden, wo und wie er diese Information abspeichert (lokal oder in der Datenbank, benutzer- oder anwendungsspezifisch).

 Die Interface-Definition für die Callback-Methode ist in CIB gui (package de.cib.gui.event) definiert.

 package
de.cib.gui.event;
 /**   * Interface SplitPaneListener  *  * This interface is used to listen to changes of split pane settings.  *  */
public interface SplitPaneListener {
 
      /**        * Send a divider info when jRec is closed.        * Value 0x1 (bit-coded)        */
      public static final int DIVIDER_INFO_ON_JREC_CLOSE = 0x1;
      /**        * Send a divider info when JView is closed.        * Value 0x2 (bit-coded)        */
      public static final int DIVIDER_INFO_ON_JVIEW_CLOSE = 0x2;
 
      /**        * Call back for split pane divider percentage.        * @param splitPercentage        */
      public void splitDividerPercentage(int splitPercentage);
 }

 Code-Beispiel zum Anmelden / Abmelden als SplitPaneListener bei der jView-Instanz:

       // Definition eines RecPaneListeners
    static class RecPaneListener implements SplitPaneListener {
            public void splitDividerPercentage(int splitPercentage) {
                 
                  Trace.traceln("SplitPane divider percentage = "
                   + splitPercentage);
            }
    }
      RecPaneListener recPaneListener = new RecPaneListener(),
            SplitPaneListener.DIVIDER_INFO_ON_JREC_CLOSE |
            SplitPaneListener.DIVIDER_INFO_ON_JVIEW_CLOSE);
 
      // Beim Start von jView
      t_ CibView.addSplitPaneListener(recPaneListener);
      ...
 
      // Beim Beenden von jView
t_CibView.removeSplitPaneListener(recPaneListener);

 

Beim Auftreten eines der oben definierten Events wird die Callback-Methode des registrierten SplitPane-Listeners mit dem aktuellen Prozentwert aufgerufen.

      // Beim Schließen von jRec bzw. Beenden von jView
recPaneListener.splitDividerPercentage(splitPercentage);

 

Interface PushAreaListener mit Callback-Methode für Edit-Bereiche

Für die Überwachung der Editbereiche wird ein Interface PusAreaListener mit einer CallBack-Methode pushAreaChanged zur Verfügung gestellt, die den registrierten Listener über Änderungen bei den Editbereichen informiert. Der Aufrufer muss sich dazu bei der jView-Instanz als PushAreaListener anmelden.

Es gibt verschiedene Ereignisse, über die der Listener informiert wird:

  • Bevor sich die aktive PushArea ändert, also bevor eine neue PushArea geöffnet oder  eine geöffnete PushArea geschlossen wird.
  • Ob sich der Inhalt eine PushArea nach dem Schließen des Editbereichs geändert hat.
  • Nachdem die aktive PushArea geschlossen wurde und alle Änderungen im JView abgeschlossen sind.

Beim Eintreten eines Ereignisses wird der registrierte Listener über die aktuellen Werte informiert.

Die Interface-Definition für die Callback-Methode ist in CIB jView (package de.cib.view.ui) definiert.

package de.cib.view.ui;
 
import java.beans.PropertyChangeEvent;
 
/**
 * Interface PushAreaListener
 *
 * This interface is used to listen to changes of activated push areas.
 *
 */ public interface PushAreaListener {
 
      public void pushAreaChanged(PropertyChangeEvent event);
 
}

 

Code-Beispiel eines PushAreaListeners:

 // Definition JRecListener als PushAreaListener
static class JRecListener implements PushAreaListener {
 
      public void pushAreaChanged(PropertyChangeEvent evt) {
            String property = evt.getPropertyName();
            Trace.traceln("START PUSHAREA EVENT --- " + property);
            if (JCibViewUI.PROPERTY_CHANGE_ACTIVE_PUSHAREA
                        .equals(property)) {
                  if (evt.getOldValue() != null)
                        Trace.traceln(">>>>> Rec-Field was closed: "
                              + evt.getOldValue());
                  if (evt.getNewValue() != null)
                        Trace.traceln(">>>>> Rec-Field was opened: "    
                              + evt.getNewValue());
            }
            else if (JCibViewUI.ACTIVE_PUSHAREA_CONTENT_CHANGED                         .equals(property)) {
                  if (evt.getNewValue() != null
                  && ((Boolean) evt.getNewValue()))
                        Trace.traceln(">>> Document content is changed.");
                  else
                        Trace.traceln(">>> Document content is NOT changed.");
            }
            else if (JCibViewUI.PROPERTY_FINISH_ACTIVE_PUSHAREA
                        .equals(property)) {
                  if (evt.getOldValue() != null && evt.getOldValue()
                        instanceof de.cib.metafile.RichEditControl) {
                        // Check if rec snippet has been changed
                      de.cib.metafile.RichEditControl richEditControl
                        = (de.cib.metafile.RichEditControl)evt.getOldValue();
                              Trace.traceln("RTF edit field_"
                                    + richEditControl.getFormFieldID()
                                    + " is merged and reloaded.");
                              Trace.traceln("RTF snippet text:\n"
                                    + richEditControl.getRtfPassage(""));
                  }
            }
            Trace.traceln("END PUSHAREA EVENT --- " + property);
      }
}

 Code-Beispiel zum Anmelden / Abmelden als PushAreaListener bei der jView-Instanz:

       // Beim Start von jView
      JRecListener m_RecListener = new JRecListener();
t_CIBView.addPushAreaListener(m_RecListener);
      t_CIBView.start();
      ...
 
      // Beim Beenden von jView
t_CibView.removePushAreaListener(m_RecListener);
      t_CIBView.stop();

Kennzeichenersetzung in RTF-Dokumenten

Es ist möglich, ein oder mehrere in einem RTF-Dokument enthaltene Revisionskennzeichen, die mit einem bestimmten Wert vorbelegt sind, nach der Änderung eines Editierbereichs mit neuen Werten zu belegen.

Dazu wird an die JView-Instanz eine Liste (Map) von ID/Value-Paaren übergeben, wobei jedes Element die ID des Revisionskennzeichens und den zugehörigen neuen Wert enthält.

Falls ein RTF-Dokument im jView geöffnet ist und ein Editierbereich in diesem Dokument geändert wird, wird über CIB merge der geänderte Inhalt des Editierbereichs in das Dokument eingemischt. Gleichzeitig wird dabei für jede ID aus der übergebenen Liste in dem entsprechenden Feld der alte durch den neuen Wert ersetzt.

Dazu gibt es im Interface ICibView, das von JCibView implementiert wird, die folgende Methode:

/**
 * Sets the replacement values on changing the current RTF document.
 * If a RTF document is changed each given id is replaced by the matching value.
 *
 * @param rtfIdValues  the Map with id/value pairs
*/
public void setReplacementsOnRtfChange(Map<String, String> rtfIdValues);

 

Die Anwendung, die den JView bei sich einbettet, kann die Liste der ID/Value-Paare analog zum folgenden Code-Beispiel bei der JView-Instanz setzen:

        JCibView t_CIBView = new JCibView();
       ...
       // Set map with RTF id/value pairs to change for test purpose
       HashMap<String, String> rtfIdValues = new HashMap<String, String>();
       rtfIdValues.put("REVID", "ID1a");
       rtfIdValues.put("USERID", "ID2b");
t_CIBView.setReplacementsOnRtfChange(rtfIdValues);
       ...
       t_CIBView.start();
       t_CIBView.load();

Einführung: Anbindung an Korrespondenzsystem - jView&coSys

Allgemein
Interface AuthenticationCallback mit Callback-Methode für die Authentifizierung
Interface WorkflowListener mit Callback-Methoden für den Workflow

Allgemein

In CIB jView sind auch Funktionen zur Anbindung an das Korrespondenzsystems CIB webdesk 2.0 integriert. Diese JView-Erweiterung wird als JView&coSys bezeichnet.

Dazu sind verschiedene Interfaces definiert, die in den folgenden Abschnitten beschrieben werden.

Interface AuthenticationCallback mit Callback-Methode für die Authentifizierung

Zur Authentifizierung bei CIB webdesk bzw. darkdesk wird ein Interface AuthenticationCallback mit einer CallBack-Methode getStarterTicket() eingeführt, die das aktuelle Starterticket zurückliefert. Der Aufrufer muss sich dazu bei der JView-Instanz als Listener anmelden.

Das Interface AuthenticationCallback ist im CIB jView (package de.cib.view.correspondence) definiert.

package de.cib.view.correspondence;
 
/**
 * Interface AuthenticationCallback
 *
 * This interface is used to listen to authentication events.
 *
 */
public interface AuthenticationCallback {
 
      /**
       * Call back for getting a starter ticket.
       * @return a starter ticket
       */
      public String getStarterTicket();
 }

 

Code-Beispiel zum Setzen eines AuthenticationCallback Listeners bei der jView-Instanz:

       // Definition eines AuthenticationCallback Listeners
      static String clientID = null;
 
      static class AuthenticationCallbackTester                   implements AuthenticationCallback {
 
            public String getStarterTicket() {
                  // For test with mock service
                  String starterTicket = null;
                  if (clientID != null)
                        starterTicket = "start" + clientID;
                  return starterTicket;
            }
      }
 
      // Beim Start von jView
t_CibView.setAuthenticationCallback(
            new AuthenticationCallbackTester());
      ...
 
      // Beim Beenden von JView
t_CibView.setAuthenticationCallback(null);


Interface ApprovalCallback mit Callback-Methoden für die Freigabe

Für Freigabe von Korrespondenz-Dokumenten im CIB webdesk bzw. darkdesk wird ein Interface ApprovalCallback mit den CallBack-Methoden workflowApprovalCommitted() und workflowApprovalDenied() eingeführt, die den Listener darüber informieren, ab die Freigabe erfolgreich durchgeführt oder abgebrochen wurde. Der Aufrufer muss sich dazu bei der JView-Instanz als Listener anmelden.

Das Interface ApprovalCallback ist im CIB jView (package de.cib.view.correspondence) definiert.

package de.cib.view.correspondence;
 
/**
 * Used to allow JView callbacks to the instantiating application
 * in case of workflow approvals.
 *
*/
public interface ApprovalCallback {
     
      /**
       * This method is called when a user approves the current
       * viewed document.<br>
       * Override this method to implement specific handling of
       * this callback.
       */
      void workflowApprovalCommitted();
     
      /**
       * This method is called when a user denies approval of the current
       * viewed document.<br>
       * Override this method to implement specific handling of
       * this callback.
       */
      void workflowApprovalDenied();
}

 Code-Beispiel zum Setzen eines ApprovalCallback Listeners bei der jView-Instanz:

       // Definition eines ApprovalCallback Listeners
      static String clientID = null;
 
      static class ApprovalCallbackTester implements ApprovalCallback {
            public void workflowApprovalCommitted() {
                  JCibTrace.info("CALLBACK - workflowApprovalCommitted()");
            }
     
            public void workflowApprovalDenied() {
                  JCibTrace.info("CALLBACK - workflowApprovalDenied()");
            }
      }
 
      // Beim Start von JView
  t_CibView.setApprovalCallback(new ApprovalCallbackTester());
      ...
 
      // Beim Beenden von JView
t_CibView.setApprovalCallback(null);

Interface WorkflowListener mit Callback-Methoden für den Workflow

Für den Workflow von Korrespondenz-Dokumenten im CIB webdesk bzw. darkdesk wird ein Interface WorkflowListener mit verschiedenen CallBack-Methoden eingeführt, die den Listener darüber informieren, welche Benutzereingaben im Workflow für das aktuelle Korrespondenz­dokument erfolgt sind. Der Aufrufer muss sich dazu bei der JView-Instanz als Listener anmelden.

Das Interface WorkflowListener ist im CIB jView (package de.cib.view.correspondence) definiert.

package de.cib.view.correspondence;
 
/**
 * Interface WorkflowListener
 *
 * This interface is used to listen to workflow events.
 *
 */
public interface WorkflowListener {
 
      /**
       * Call back for accept.
       * @param
       */
      void onAccept();
 
      /**
       * Call back for reject.
       * @param
       */
      void onReject();
 
      /**
       * Call back for accept and approve.
       * @param
       */
      void onAcceptAndApprove();
 
      /**
       * Call back for restart workflow.
       * @param
       */
      void onRestartWorkflow();
 }

 

Code-Beispiel zum Setzen eines Workflow Listeners bei der jView-Instanz:

 

      // Definition eines Workflow Listeners
      static class WorkflowCallbackTester implements WorkflowListener {
                  public void onAccept() {
                  System.out.println("Called workflowOnAccept()");
            }
     
            public void onReject() {
                  System.out.println("Called workflowOnReject()");
            }
     
            public void onAcceptAndApprove() {
                  System.out.println("Called workflowOnAcceptAndApprove()");
            }
     
            public void onRestartWorkflow() {
                  System.out.println("Called workflowOnRestartWorkflow()");
            }
      }
 
      // Beim Start von jView
      final WorkflowCallbackTester workflowListener =                   new WorkflowCallbackTester();
t_CibView.addWorkflowListener(workflowListener);
      ...
 
      // Beim Beenden von jView
t_CibView.removeWorkflowListener(workflowListener);

Einführung: CIB JPrintDialog

Beim Drucken eines Dokumentes aus dem JView heraus wird standardmäßig die Komponente JPrintDialog verwendet. Wenn der native Java Drucker-Dialog verwendet werden soll, muss die Property ICibApplication.PROPERTY_SHOWJPRINTDIALOG auf FALSE gesetzt werden.


Mit den Komponenten JView und dem JPrintDialog verfügt die Palette der CIB office Module (CoMod) über pure Java GUI Komponenten, die sich in beliebige Java-Anwendungen und Frameworks integrieren lassen.

Intern benutzen diese Module über den JCoMod-Wrapper (JNI) z.T. noch spezielle Dienste nativer CIB Komponenten im Hintergrund.

JView und der JPrintDialog basieren auf der Swing-GUI und sind ab JDK-Version 1.4.2 einsetzbar.

Die vorliegende Dokumentation gibt einen Überblick über technische Schnittstellen, Aufrufparameter und Eigenschaften der CIB jView Komponente und enthält konkrete Einsatzbeispiele.

Detaillierte technische Schnittstellen entnehmen Sie bitte der Javadoc-Beschreibung.


Konfiguration durch Properties

Konfiguration durch Properties

Allgemeine Properties

Mit den folgenden Properties können generelle Einstellung für die Applikation gesetzt werden.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_TITLE

TITLE

String

Setzt den Titel, der in der Titelzeile der Applikation angezeigt wird.

Default: „CIB JView“

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_ICON

ICON

String

Setzt das Icon, das in der Titelzeile der Applikation angezeigt wird.

Der Name der Icon-Datei mit vollständiger Pfadangabe wird übergeben.

Default: „/de/cib/view/resource/j_view_icon.gif“

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_INIFILENAME

INIFILENAME

String

Setzt den Namen der INI-Datei für die jView-Applikation.

Default: „cibjView.ini“

Hinweis: Mit dieser Property wird der Name der CIB jView INI-Datei gesetzt. Falls als Wert „null“ gesetzt wird, wird keine INI-Datei verwendet.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_INPUTFILE

INPUTFILE

String

Setzt den Namen des Dokuments, das beim Start der Applikation geöffnet wird.

Default: Es wird kein Dokument geöffnet.

Diese Property wird implizit gesetzt, wenn der Name des zu öffnenden Dokuments mit vollständiger Pfadangabe in der Kommandozeile angegeben wird.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_INPUT_BYTEARRAY

INPUTBYTEARRAY

String

Setzt den Inhalt des Dokuments, das beim Start der Applikation geöffnet wird, als Byte-Array.

Default (Property nicht gesetzt): Es wird kein Dokument geöffnet.

Hinweis: Mit dieser Property wird ein Dokument geöffnet, das als Byte-Array übergeben wird.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_PRINTERNAME

PRINTERNAME

String

Setzt den Namen des Druckers, auf den standardmäßig gedruckt werden soll.

Default: Es wird der eingestellte Standarddrucker verwendet.

Hinweis: Falls kein Standarddrucker eingestellt ist und der Druckdialog deaktiviert ist, erscheint ein Warnhinweis, dass nicht gedruckt werden kann.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_LICENSECOMPANY

LICENSECOMPANY

String

Setzt den Namen der Firma aus der Firmenlizenz, die Sie beim Kauf erworben haben.

Default: Es wird kein Firmenname für die Lizenz gesetzt.

Hinweis: Diese Property muss gesetzt werden, andernfalls erscheint auf den Dokumentseiten ein Aufdruck, der auf die fehlende Lizenz verweist.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_LICENSEKEY

LICENSEKEY

String

Setzt den Lizenzschlüssel aus der Firmenlizenz, die Sie beim Kauf erworben haben.

Default: Es wird kein Lizenzschlüssel für die Lizenz gesetzt.

Hinweis: Diese Property muss gesetzt werden, andernfalls erscheint auf den Dokumentseiten ein Aufdruck, der auf die fehlende Lizenz verweist.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_DIALOG_NAME

dialogName

String

Setzt den Namen, der in der Titelzeile des Druckdialogs angezeigt wird.

Default: „JPrintDialog“

Hinweis: Diese Property steht erst ab CIB jview 3.3.2b zur Verfügung

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_DRAG_AND_DROP_ENABLED

dnd.Enabled

Boolean

Drag and drop von Dokumenten in das JView-Fenster aktivieren oder deaktivieren.

TRUE (default): Drag and drop von Dokumenten ist aktiv (Kommandozeile: -dnd.Enabled 1).

FALSE: Drag and drop von Dokumenten ist deaktiviert  (Kommandozeile: -dnd.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_FUNCTION_KEY_ENABLED

functionKey.Enabled

Boolean

Funktionstasten aktivieren oder deaktivieren.

TRUE (default): Funktionstasten sind aktiv (Kommandozeile: - functionKey.Enabled 1).

FALSE: Funktionstasten sind deaktiviert  (Kommandozeile: - functionKey.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_PAGESIZE

PAGESIZE

String

Angabe des Zoomfaktors bzw. der dargestellten Seitengröße.

1 (default): Seite wird in ganzer Breite im Fenster dargestellt (Kommandozeile: -PAGESIZE 1).

2: Jeweils zwei Seiten werden komplett im Fenster dargestellt (Kommandozeile: -PAGESIZE 2).

3: Jeweils eine Seite wird komplett im Fenster dargestellt (Kommandozeile: -PAGESIZE 3).

10-200: Zoomfaktor, in dem die Seiten dargestellt werden (z. B. Kommandozeile: -PAGESIZE 75).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_NAVIGATION_TREE_ENABLED

navigationtree.Enabled

Boolean

Reiter  zur Anzeige des Navigationsbaums aktivieren oder deaktivieren.

TRUE (default): Navigationsbaum kann geöffnet werden (Kommandozeile:
-navigationtree.Enabled 1).

FALSE: Navigationsbaum kann nicht geöffnet werden  (Kommandozeile:
-navigationtree.Enabled 0).

Hinweis: Falls die Anzeige des Navigationsbaums aktiviert ist, wird der Navigationsbaum für die Dokumentseiten im Fenster für die Dokumenteigenschaften unter dem Reiter „Navigationsbaum“ dargestellt. Siehe dazu auch die Property PROPERTY_TABPANE_ENABLED.

 

Property-Bezeichnung

Property-Text

Typ

ACTION_NAVIGATION_TREE_BUNDLE_SMALLICON

JCibAction.navigationtree.bundle.SmallIcon

String

Icon für Bundle-Knoten im Navigationsbaum

 

Property-Bezeichnung

Property-Text

Typ

ACTION_NAVIGATION_TREE_DOCUMENT_SMALLICON

JCibAction.navigationtree.document.SmallIcon

String

Icon für Dokument-Knoten im Navigationsbaum

 

Property-Bezeichnung

Property-Text

Typ

ACTION_NAVIGATION_TREE_PAGE_SMALLICON

ACTION_NAVIGATION_TREE_PAGE_SMALLICON

String

Icon für Seite-Knoten im Navigationsbaum

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_THUMBNAILS_ENABLED

thumbnails.Enabled

Boolean

Reiter  zur Anzeige der Thumbnails aktivieren oder deaktivieren.

TRUE (default): Thumbnailanzeige kann geöffnet werden (Kommandozeile:
-thumbnails.Enabled 1).

FALSE: Thumbnailanzeige kann nicht geöffnet werden  (Kommandozeile:
-thumbnails.Enabled 0).

Hinweis: Falls die Thumbnail-Anzeige aktiviert ist, werden die Thumbnails für die Dokumentseiten im Fenster für die Dokumenteigenschaften unter dem Reiter „Miniatur“ dargestellt. Siehe dazu auch die Property PROPERTY_TABPANE_ENABLED.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_STRUCTURE_ENABLED

structure.Enabled

Boolean

Reiter  für Dokument „Dokumenteigenschaften“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -structure.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -structure.Enabled 0).

Hinweis: Falls dieser Button aktiviert ist und ausgelöst wird, werden die Dokumenteigenschaften in einem eigenen Fenster unter dem Reiter „Eigenschaften“ dargestellt.
Siehe dazu auch die Property PROPERTY_TABPANE_ENABLED.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_SEARCHTEXT_LOADING_CI_DOCUMENTS

searchtext-loading-ci-documents

String

Checkbox „Automatische Suche“ in Dialogbox „Suchen“ de-/aktivieren und falls gewünscht, den Suchtext für die automatische Suche beim Laden eines Dokuments setzen.

Null (default): Checkbox „Automatische Suche“ ist deaktiviert, die automatische Suche beim Laden eines Dokuments ist nicht möglich (Kommandozeile: Property-Text nicht vorhanden).

Leerer String: Checkbox „Automatische Suche“ ist aktivierbar, aber nicht angekreuzt. Die automatische Suche beim Laden kann aktiviert werden, wenn die Checkbox angekreuzt und ein Suchtext eingegeben wird (Kommandozeile: -searchtext-loading-ci-documents ““).

Nichtleerer String: Checkbox „Automatische Suche“ ist aktivierbar und angekreuzt. Beim Laden wird die automatische Suche nach dem angegebenen Suchtext durchgeführt
 (Kommandozeile: -searchtext-loading-ci-documents “<Suchtext>“).

Hinweis: Bei Image-Dokumenten kann keine Suche durchgeführt werden.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_RESTORE_WINDOW_BOUNDS_ENABLED

restorewndbounds.Enabled

Boolean

Speichern und Wiederherstellen der letzten Fensterposition und -Größe erlauben.

TRUE: Position und Größe des Hauptfensters werden beim Beenden gespeichert und beim Starten wiederhergestellt (Kommandozeile: -restorewndbounds.Enabled 1).

FALSE (default): Position und Größe des Hauptfensters werden beim Beenden nicht gespeichert, beim Start wird die Position des Hauptfensters auf die linke obere Ecke des Bildschirms und die Größe auf 75% der Bildschirmgröße gesetzt. (Kommandozeile: -restorewndbounds.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_USER_PREFERENCES_FILE

userprefsfile

String

Verwenden der optimierten Klassen und Bibliotheken beim Laden, Anzeigen und Drucken von Dokumenten im Image-(TIFF/JPEG)-Format.

Nicht leerer String: Gibt den Pfad für die Datei mit den Benutzerpräferenzen an. (Kommandozeile: -userprefsfile <filepath+name>).

Leerer String oder nicht angegeben: Die Datei mit den  Benutzerpräferenzen wird im Benutzerverzeichnis unter dem Namen CibJView.prefs abgelegt.

Hinweis: Diese Property muss als Kommandozeilenparameter angegeben werden weil deren Auswertung vor dem Lesen und Setzen der anderen Properties stattfindet.

Hinweis: Aktuell wird in dieser Datei nur die Position und Größe des Hauptfensters gespeichert.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_USE_IMAGEPAGE

useImagePage

Boolean

Verwenden der optimierten Klassen und Bibliotheken beim Laden, Anzeigen und Drucken von Dokumenten im Image-(TIFF/JPEG)-Format.

TRUE (default): Optimiertes Laden, Anzeigen und Drucken von Dokumenten im Image-(TIFF/JPEG)-Format (Kommandozeile: -useImagePage.Enabled 1).

FALSE: Laden, Anzeigen und Drucken von Dokumenten im Image-(TIFF/JPEG)-Format über CIB format und die Metafile-Objekte (Kommandozeile: -useImagePage.Enabled 0).

Hinweis: Falls diese Property aktiviert ist, werden bei der Anzeige und beim Drucken die JAI-Bibliotheken jai_core.jar, jai_codec.jar und jai_imageio.jar verwendet.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_READ_DPI_FROM_IMAGE

readDpiFromImage

Boolean

Legt fest, ob beim Laden, Anzeigen und Drucken von Bild-Dokumenten (TIFF/JPEG-Format) die DPI-Informationen aus der Imagedatei gelesen werden.

TRUE: Beim Laden, Anzeigen und Drucken von Bild-Dokumenten (TIFF/JPEG-Format) werden die DPI-Informationen aus der Imagedatei gelesen (Kommandozeile: -readDpiFromImage 1).

FALSE (default): Beim Laden, Anzeigen und Drucken von Bild-Dokumenten (TIFF/JPEG-Format) wird der DPI-Wert aus der Bildbreite unter Annahme des DIN A4-Formats berechnet, in diesem Fall wird der x- und y-DPI-Wert als gleich angenommen (Kommandozeile: -readDpiFromImage 0).

Hinweis: Falls die Property auf TRUE gesetzt ist und die DPI-Informationen aus der Imagedatei nicht gelesen werden können, werden sie wie im Standardfall berechnet.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_PIXELTHRESHOLD_FOR_BLANK_IMAGES

pixelthreshold.for.blank.images

Integer

Schwellwert in Pixeln für leere Seiten.

Integer(0) (default): Schwellwert ist nicht gesetzt, d.h. eine leere Seite darf kein nichtweißes Pixel enthalten (Kommandozeile: -pixelthreshold.for.blank.images 0).

Integer(int_value): Maximale Anzahl nichtweißer Pixel, die eine leere Seite enthalten darf (Kommandozeile: -pixelthreshold.for.blank.images <int_value>).

Hinweis: Falls diese Property gesetzt und ungleich 0 ist, werden Image-Seiten, bei denen die Anzahl nichtweißer Pixel unterhalb dieses Schwellwertes liegt, als leere Seiten betrachtet.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_ROTATE_ONLY_SELECTED_PAGE

rotateOnlySelectedPage.
Enabled

Boolean

Legt fest, ob nur die selektierte Seite wird rotiert wird.

TRUE (default): Nur die selektierte Seite wird rotiert.

FALSE: Alle sichtbaren Seiten werden rotiert.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_TRACEFILE

tracefile

String

Durch diese Property wird der Pfad zu dem jView-Tracefile angegeben.

TRUE: Die jView Traces werden in den angegebenen Trace-File geschrieben.

FALSE (default): Die jView Trace-Ausgaben erfolgen auf die Konsole.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_TRACE_ENABLED

trace.Enabled

Boolean

Durch diese Property werden die Trace-Ausgaben aktiviert.

TRUE: Die Trace-Ausgaben erfolgen auf die Konsole. Falls die Property PROPERTY_TRACEFILE gesetzt ist, werden die jView Traces zusätzlich in den angegebenen Trace-File geschrieben.

FALSE (default): Es erfolgen keine Trace-Ausgaben.

Hinweis: Die Trace-Ausgaben können auch durch den Parameter -t in der Kommandozeile der Batchdatei aktiviert werden.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_TRACE_LEVEL

traceLevel

String

Durch diese Property wird der Trace-Level für die Trace-Ausgaben angegeben.

Als Trace-Level können folgende Zahlenwerte angegeben werden:
  1 – ERROR: gibt nur Fehler aus
  2 – WARN: gibt Fehler und Warnungen aus
  4 – INFO: gibt Fehler, Warnungen und Informationen aus
  8 – DEBUG: gibt Fehler, Warnungen, Informationen und Debug-Informationen aus
15 – DEBUGALL: gibt sämtliche Trace-Informationen aus

In der Kommandozeile können alternativ dazu folgende Stringwerte angegeben werden (die Werte für traceLevel sind case-insensitiv):
-traceLevel error
-traceLevel warn
-traceLevel info
-traceLevel debug
-traceLevel debugall

Wenn die Property nicht gesetzt ist, wird per Default der Trace-Level DEBUG verwendet.

 

Property-Bezeichnung

Property-Text

Typ

ICibMergeJob.PROPERTY_COMPRESSED

COMPRESSED

Boolean

Legt fest, ob RTF-Dokumente beim Einmischen von Rec-Snippets (Inhalten von Editbereichen) mit CIB merge und beim anschließenden Speichern komprimiert werden oder nicht.

TRUE: RTF-Dokumente werden beim Einmischen von Rec-Snippets und beim Speichern komprimiert.

FALSE (default): RTF-Dokumente werden beim Einmischen von Rec-Snippets und beim Speichern nicht komprimiert.

Hinweis: Diese Property wirkt sich nur auf RTF-Dokumente aus.

Hinweis: Falls RTF-Dokumente komprimiert gespeichert wurden, können sie mit MS Word nicht mehr angezeigt werden, im JView dagegen schon, da sie beim Öffnen automatisch dekomprimiert werden.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_SUPPORT_INFO_CREATE_ENABLED

supportinfocreate.Enabled

Boolean

Legt fest, ob beim Beenden des Viewers Supportinformationen erzeugt werden.

TRUE: Beim Beenden des Viewers werden Supportinformationen erzeugt und im Unterverzeichnis „JViewLog“ des Java-Temp-Verzeichnisses gespeichert ("java.io.tmpdir").
Kommandozeile: -supportinfocreate.Enabled 1

FALSE (default): Beim Beenden des Viewers werden keine Supportinformationen erzeugt.
Kommandozeile: -supportinfocreate.Enabled 0

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_SUPPORT_INFO_SAVE_ENABLED

supportinfosave.Enabled

Boolean

Legt fest, ob im Informationsdialog für Korrespondenzdokumente ein Button "Supportinformationen speichern" erscheint.

TRUE (default): Im Informationsdialog für Korrespondenzdokumente erscheint ein Button "Supportinformationen speichern". Durch Klick auf diesen Button können Supportinformationen erzeugt und gespeichert werden.
Kommandozeile: -supportinfosave.Enabled 1

FALSE: Im Informationsdialog für Korrespondenzdokumente erscheint kein Button "Supportinformationen speichern".
Kommandozeile: -supportinfosave.Enabled 0

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_DRAW_CHECKMASK_ONSTART_ENABLED

DrawCheckMaskOnStart.Enabled

Boolean

Legt fest, ob sofort nach dem Laden eines Dokuments vorhandene Prüfschablonen angezeigt werden sollen.

TRUE: Vorhandene Prüfschablonen werden sofort nach dem Laden eines Dokuments angezeigt.
Kommandozeile: -DrawCheckMaskOnStart.Enabled 1

FALSE (default): Vorhandene Prüfschablonen werden erst nach Auslösen der Aktion „Prüfschablonen einblenden“ angezeigt.
Kommandozeile: -DrawCheckMaskOnStart.Enabled 0

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_INFORMATION_AREA_ENABLED

informationArea.Enabled

Boolean

Legt fest, ob Informationshinweise in einer Informationsleiste über dem Dokument­ansichts­bereich angezeigt werden. Diese Informationshinweise verschwinden nach einem einstellbaren Zeitintervall automatisch. Der Standardwert für dieses Zeitintervall ist 3 Sekunden.

TRUE: Informationshinweise werden in einer Informationsleiste über dem Dokumentansichts­bereich eingeblendet.
Kommandozeile: -informationArea.Enabled 1

FALSE (default): Wie bisher wird der alte Informationsdialog angezeigt, der durch den Benutzer mit einem Klick auf OK bestätigt werden muss.
Kommandozeile: -informationArea.Enabled 0

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_INFORMATION_AREA_TIMEOUT

informationAreaTimeOut

String

Legt das Zeitintervall (in Sekunden) fest, nach dem ein Informationshinweis automatisch wieder ausgeblendet wird.

<String_value>: Anzahl Sekunden, nach denen ein Informationshinweis automatisch wieder verschwindet. Der Standardwert ist 3 Sekunden.
Kommandozeile: -informationAreaTimeOut <String_value>

Hinweis: Der Informationsbereich kann jederzeit schon vor Ablauf des Timeouts durch Klick auf das „x“ rechts oben im Informationsbereich geschlossen werden.
Wird die Property auf den Wert 0 gesetzt, bleibt der Warnhinweis solange stehen, bis er vom Benutzer weggeklickt wird.
Enthält die Property keinen oder einen negativen Integer-Wert, wird die Property ignoriert und der Standardwert verwendet.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_INFORMATION_AREA_BACKGROUND_COLOR

informationAreaBackgroundColor

String

Legt die Hintergrundfarbe der Informationsleiste fest.

<String_value>: Die Hintergrundfarbe, in der die Informationsleiste angezeigt wird. Der Standardwert ist "255,255,128" (entspricht Gelb).
Kommandozeile: -informationAreaBackgroundColor <String_value>

Hinweis: Farben können sowohl als RGB-Wert (z.B. "255,255,128") oder als Hexadezimal-Wert angegeben werden (z.B. „FFFF88“).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_OPEN_UNSUPPORTED_MIME_IN_STANDARDAPPLICATION

unsupportedMimeType.
Enabled

Boolean

Legt fest, ob Dokumente nicht unterstütztem Dokumentformat bei dem Versuch das Dokument zu laden in einer externen Applikation geöffnet werden können.

TRUE: Dokumente mit nicht unterstütztem Dokumentformat können in einer externen Applikation geöffnet werden.
Kommandozeile: -unsupportedMimeType.Enabled 1

FALSE (default): Dokumente mit nicht unterstütztem Dokumentformat können nicht in einer externen Applikation geöffnet werden.
Kommandozeile: -unsupportedMimeType.Enabled 0

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_UNSUPPORTED_MIME_TYPES

unsupportedMimeTypeList

String

Legt fest, welche Dokumente mit einem auch vom Viewer unterstützten Dokumentformat mit einer externen Applikation geöffnet werden.

Wird die Property gesetzt, soll sie eine Liste der Dokumentformate beinhalten, die in einer externen Applikation geöffnet werden sollen. Die Angabe der Dokumentformate kann über den dedizierten offiziellen IANA MIME Media Type erfolgen oder über eine Dateiendung. Zusätzlich ist es möglich Versionsnummern zu den MIME-Types anzugeben. Die Angabe der Versionsnummer ist nur für bestimmte MIME Types (derzeit nur für PDF) möglich.

Das Format der Liste ist <Extension | IANA MIME Type>[{Version[, Version]}][; nächster Eintrag].

Der Defaultwert der Property ist: „“, d.h. alle vom Viewer unterstützten Dokumente werden auch im Viewer geöffnet.

Kommandozeile: -unsupportedMimeTypeList „<mime-type-list>“

Beispiel: Es sollen docx sowie PDF Dateiformate in der Version 1.2 und 1.4 mit einer externen Applikation geöffnet werden:
Property-Wert: „docx; pdf{1.2, 1.4}

Analoge Definition durch Benutzung des IANA MIME Types für PDF :
Property-Wert: „docx; application/pdf{1.2, 1.4}

Die Strichpunkt-separierten Elemente der Liste werden case-insensitiv behandelt.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_HIGHLIGHT_SELECTED_PAGE

highlightSelectedPage.
Enabled

Boolean

Legt fest, ob die aktuelle Seite in der Dokumentansicht durch eine Markierung kenntlich gemacht wird.

TRUE: Die aktuelle Seite in der Dokumentansicht wird markiert.

FALSE (default): Die aktuelle Seite wird in der Dokumentansicht nicht markiert.

Hinweis: In der Miniaturansicht wird die aktuelle Seite generell immer durch eine Markierung kenntlich gemacht.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_HIGHLIGHT_COLOR_SELECTED_PAGE

highlightColorSelectedPage

String

Legt die Farbe der Markierung fest, in der die aktuelle Seite kenntlich gemacht wird.

Die Property bezieht sich auf die Markierung der Seiten in der Miniaturansicht (Thumbnail Pages) und auf die Markierung der Seiten in der Dokumentansicht. Die Markierung in der Dokumentansicht ist nur wirksam, falls die Property PROPERTY_HIGHLIGHT_SELECTED_PAGE aktiviert ist.

Die Farbe wird als RGB-Wert in diesem Format angegeben: "R;G;B;A" (Werte jeweils zwischen 0 und 255), wobei A den Alpha-Wert (Transparenz) angibt.

Default ist Color.cyan mit Alpha 64 = "0;255;255;64", falls die Property nicht gesetzt ist.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_UPDATE_ZOOM_TO_CURRENT_PAGE_ENABLED

updateZoomToCurrentPage.
Enabled

Boolean

Legt fest, ob bei der Aktualisierung des Zoomfaktors bei den Zoomeinstellungen „Ganze Seite“ (ONE_PAGE_MODE) oder „Seitenbreite“ (ONE_PAGE_FULL_WIDTH_MODE) die aktuelle Seite oder alle vorhandenen Seiten berücksichtigt wird.

TRUE: Der Zoomfaktor wird bei den Zoomeinstellungen „Ganze Seite“ oder „Seitenbreite“ auf die aktuelle Seite aktualisiert. Das bedeutet, dass der Zoomfaktor bei der Navigation zwischen den Seiten jeweils angepasst wird.

FALSE (default): Bei der Berechnung des Zoomfaktors werden bei den Zoomeinstellungen „Ganze Seite“ oder „Seitenbreite“ alle vorhandenen Seiten einbezogen. Damit bleibt der Zoomfaktor bei der Navigation zwischen den Seiten gleich, er wird jedoch bei der Rotation von Seiten eventuell angepasst.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_CIB_FIELDS_SAVE_OPTION

cibFieldsSaveOption

String

Diese Property steuert das Verhalten beim Speichern von RTF-Dokumenten mit enthaltenen CIB‑Feldern. Ist die Property nicht oder auf „0“ gesetzt, gilt das Standardverhalten. Folgende Werte können an die Property gesetzt werden:

„0“ oder kein Wert (default): Es wird ein Dialogfenster angezeigt und der Benutzer gefragt, ob das Dokument ohne CIB-Felder gespeichert werden soll.

„1“: Das Dokument wird mit CIB-Feldern gespeichert, es erscheint kein Dialogfenster.

„2“: Das Dokument wird ohne CIB-Felder gespeichert, es erscheint kein Dialogfenster.
Beim Speichern erfolgt ein zusätzlicher CIB format\rtf-filter Aufruf, welcher die definierten CIB-Felder entfernt.


Properties zur Konfiguration der Menüleiste

Mit den folgenden Properties kann die gesamte Menüleiste oder einzelne Menüs aus- oder eingeschaltet werden. Setzen der Property auf TRUE bewirkt, dass die Menüleiste bzw. das Menü sichtbar und aktiv ist, FALSE bedeutet, das Element ist unsichtbar und deaktiviert.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_MENU_ENABLED

menu.Enabled

Boolean

Gesamte Menüleiste aktivieren oder deaktivieren (Kommandozeile: -menu.Enabled 1 bzw. 0).

TRUE (default): Menüleiste ist sichtbar und aktiv (Kommandozeile: -menu.Enabled 1).

FALSE: Menüleiste ist unsichtbar und deaktiviert (Kommandozeile: -menu.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_FILE_MENU_ENABLED

filemenu.Enabled

Boolean

Menü Datei aktivieren oder deaktivieren (Kommandozeile: -filemenu.Enabled 1 bzw. 0).

TRUE (default): Menü Datei ist sichtbar und aktiv (Kommandozeile: -filemenu.Enabled 1).

FALSE: Menü Datei ist unsichtbar und deaktiviert  (Kommandozeile: -filemenu.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_SHOW_LATEST_DOCUMENT_MENUBUTTON

latestdocumentmenu

Boolean

Menüpunkt „Letzte Dateien“ im Menü Datei aktivieren oder deaktivieren (Kommandozeile:
-latestdocumentmenu 1 bzw. 0).

TRUE (default): Menüpunkt „Letzte Dateien“ ist sichtbar und aktiv (Kommandozeile:
-latestdocumentmenu 1).

FALSE: Menüpunkt „Letzte Dateien“ ist unsichtbar und deaktiviert  (Kommandozeile:
-latestdocumentmenu 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_VIEW_MENU_ENABLED

viewmenu.Enabled

Boolean

Menü Ansicht aktivieren oder deaktivieren (Kommandozeile: -viewmenu.Enabled 1 bzw. 0).

TRUE (default): Menü Ansicht ist sichtbar und aktiv (Kommandozeile: -viewmenu.Enabled 1).

FALSE: Menü Ansicht ist unsichtbar und deaktiviert  (Kommandozeile: -viewmenu.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_DOCUMENTMENU_ENABLED

documentmenu.Enabled

Boolean

Menü Dokument aktivieren oder deaktivieren (Kommandozeile: -documentmenu.Enabled 1 bzw. 0).

TRUE (default): Menü Dokument ist sichtbar und aktiv (Komm.-Zeile: -documentmenu.Enabled 1).

FALSE: Menü Dokument ist unsichtbar und deaktiviert  (Komm.-Zeile: -documentmenu.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_WINDOW_MENU_ENABLED

windowmenu.Enabled

Boolean

Menü Fenster aktivieren oder deaktivieren (Kommandozeile: -windowmenu.Enabled 1 bzw. 0).

TRUE (default): Menü Fenster ist sichtbar und aktiv (Kommandozeile: -windowmenu.Enabled 1).

FALSE: Menü Fenster ist unsichtbar und deaktiviert  (Kommandozeile: -windowmenu.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_HELPMENU_ENABLED

helpmenu.Enabled

Boolean

Menü Hilfe aktivieren oder deaktivieren (Kommandozeile: -helpmenu.Enabled 1 bzw. 0).

TRUE (default): Menü Hilfe ist sichtbar und aktiv (Kommandozeile: -helpmenu.Enabled 1).

FALSE: Menü Hilfe ist unsichtbar und deaktiviert  (Kommandozeile: -helpmenu.Enabled 0).


Properties zur Konfiguration der Toolbar

Die folgende Property dient zur Positionierung der Toolbar.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_TOOLBAR_POSITION

toolbar.position

Integer

Position der Toolbar setzen.

SwingConstants.TOP (default): Toolbar-Position ist oben (Kommandozeile: - toolbar.position 1).

SwingConstants.LEFT: Toolbar-Position ist unten (Kommandozeile: - toolbar.position 2).

SwingConstants.BOTTOM: Toolbar-Position ist unten (Kommandozeile: - toolbar.position 3).

SwingConstants.RIGHT: Toolbar-Position ist unten (Kommandozeile: - toolbar.position 4).

 

Mit den folgenden Properties können einzelne Elemente der Toolbar oder die gesamte Toolbar aus- oder eingeblendet werden. Setzen der Property auf TRUE bewirkt, dass das Element sichtbar und aktiv ist, FALSE bedeutet, das Element ist unsichtbar und deaktiviert.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_SHOWTOOL_ENABLED

showtool.Enabled

Boolean

Gesamte Toolbar aktivieren oder deaktivieren.

TRUE (default): Toolbar ist sichtbar und aktiv (Kommandozeile: -showtool.Enabled 1).

FALSE: Toolbar ist unsichtbar und deaktiviert (Kommandozeile: -showtool.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_EXIT_ENABLED

exit.Enabled

Boolean

Button für Datei „Beenden“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -exit.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -exit.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_OPEN_ENABLED

open.Enabled

Boolean

Button für Datei „Öffnen“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -open.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -open.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_SAVEAS_ENABLED

saveas.Enabled

Boolean

Button für Datei „Speichern unter…“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -saveas.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -saveas.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_PRINT_ENABLED

print.Enabled

Boolean

Button für Datei „Drucken und Faxen…“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -print.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -print.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_SHOWJPRINTDIALOG

SHOWJAVAPRINTDIALOG

Boolean

Anzeige des Java-Druckdialogs aktivieren oder deaktivieren.

TRUE: Java-Druckdialog wird beim Drucken geöffnet (Komm.-Zeile: -SHOWJAVAPRINTDIALOG 1).

FALSE (default): Nativer Druckdialog wird geöffnet (Komm.-Zeile: -SHOWJAVAPRINTDIALOG 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_PRINTDIALOG_ENABLED

printdialog.Enabled

Boolean

Anzeige des Druckdialogs aktivieren oder deaktivieren.

TRUE (default): Druckdialog wird beim Drucken geöffnet (Komm.-Zeile: -printdialog.Enabled 1).

FALSE: Druckdialog wird beim Drucken nicht geöffnet (Komm.-Zeile: -printdialog.Enabled 0).
Das aktuelle Dokument wird sofort auf den Standarddrucker gedruckt.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_TABPANE_ENABLED

tabPane.Enabled

Boolean

Button für Toolbar-Icon „Dokumenteigenschaften“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -tabPane.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -tabPane.Enabled 0).

Hinweis: Falls dieser Button aktiviert ist und ausgelöst wird, wird das Fenster „Dokumenteigenschaften“ geöffnet. Es enthält je nach Konfiguration verschiedene Reiter, in denen die Struktur bzw. die Eigenschaften des Dokuments angezeigt werden.

Falls die Anzeige des Navigationsbaums aktiviert ist, wird der Navigationsbaum für die Dokumentseiten in diesem Fenster unter dem Reiter „Navigationsbaum“ dargestellt (siehe Property PROPERTY_NAVIGATIONTREE_ENABLED).
Falls die Thumbnail-Anzeige aktiviert ist, werden die Thumbnails für die Dokumentseiten unter dem Reiter „Miniatur“ dargestellt (siehe Property PROPERTY_THUMBNAILS_ENABLED).
Falls die Struktur-Anzeige aktiviert ist, werden die Eigenschaften des Dokuments unter dem Reiter „Eigenschaften“ dargestellt (siehe Property PROPERTY_STRUCTURE_ENABLED).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_ZOOMIN_ENABLED

zoomin.Enabled

Boolean

Button für Ansicht „Vergrößern“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -zoomin.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -zoomin.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_ZOOMOUT_ENABLED

zoomout.Enabled

Boolean

Button für Ansicht „Verkleinern“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -zoomout.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -zoomout.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_ROTATELEFT_ENABLED

rotateleft.Enabled

Boolean

Button für Seite „Gegen den Uhrzeigersinn drehen“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -rotateleft.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -rotateleft.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_ROTATERIGHT_ENABLED

rotateright.Enabled

Boolean

Button für Seite „Im Uhrzeigersinn drehen“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -rotateright.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -rotateright.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_GOTOPAGE_ENABLED

gotopage.Enabled

Boolean

Button für Dokument „Gehe zu…“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -gotopage.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -gotopage.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_RELOAD_ENABLED

reload.Enabled

Boolean

Button für Ansicht „Aktualisieren“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -reload.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -reload.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_SEARCH_ENABLED

search.Enabled

Boolean

Button für Dokument „Text suchen…“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -search.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -search.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_MAGNIFIER_ENABLED

magnifier.Enabled

Boolean

Button für Dokument „Lupe…“ aktivieren oder deaktivieren.

TRUE: Button ist sichtbar und aktiv (Kommandozeile: -magnifier.Enabled 1).

FALSE (default): Button ist unsichtbar und deaktiviert (Kommandozeile: -magnifier.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_ZOOM_ENABLED

zoom.Enabled

Boolean

Button für Ansicht „Zoom auswählen…“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -zoom.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -zoom.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_EXPORT_ENABLED

export.Enabled

Boolean

Button für Datei „Exportieren nach…“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -export.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -export.Enabled 0).

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_NAVIGATE_TO_RECFIELD_ENABLED

navigateToRecfield.Enabled

Boolean

Button für „Navigieren zum nächsten REC-Bereich“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -navigateToRecfield.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -navigateToRecfield.Enabled 0).

Hinweis: Falls die Property aktiviert ist, zeigt der Viewer die neue Schaltfläche „Navigieren zum nächsten REC-Bereich“ in seiner Toolbar an und der Benutzer kann durch Klick auf den Button zum nächsten REC-Bereich im Dokument navigieren. Der zu diesem REC-Feld gehörige Editierbereich wird im Viewer-Fenster angezeigt, falls notwendig wird der Dokumentinhalt dorthin gescrollt. Sofort danach wird der editierbare Bereich in einem separaten Fenster unterhalb des Viewer-Fensters geöffnet und der Inhalt des Editbereichs kann bearbeitet werden. Wurde vorher noch kein Editbereich geöffnet, wird bei Klick auf den Button zum ersten REC-Feld im Dokument navigiert, ebenso, wenn zuvor der letzte Editbereich geöffnet war. Die Reihenfolge der REC-Felder wird durch ihre Field-ID bestimmt, es wird also durch die  REC-Felder in aufsteigender Reihenfolge ihrer Field-ID navigiert.

Hinweis: Enthält das geladene Dokument kein REC-Feld, wird der Button ausgegraut dargestellt, ebenso wenn gerade ein Editbereich zur Bearbeitung geöffnet ist.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_ABOUT_ENABLED

about.Enabled

Boolean

Button für Hilfe „Info“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv (Kommandozeile: -about.Enabled 1).

FALSE: Button ist unsichtbar und deaktiviert (Kommandozeile: -about.Enabled 0).

 


Properties zur Konfiguration der Navigationsfelder

Mit den folgenden Properties können die einzelnen Elemente der Seiten-Navigationsfelder aus- oder eingeblendet werden. Setzen der Property auf TRUE bewirkt, dass das Element sichtbar und aktiv ist, FALSE bedeutet, das Element ist unsichtbar und deaktiviert.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_FIRSTPAGE_ENABLED

firstpage.Enabled

Boolean

Button „Zur ersten Seite blättern“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv.

FALSE: Button ist unsichtbar und deaktiviert.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_PREVIOUSPAGE_ENABLED

previouspage.Enabled

Boolean

Button „Zur vorigen Seite blättern“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv.

FALSE: Button ist unsichtbar und deaktiviert.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_NEXTPAGE_ENABLED

nextpage.Enabled

Boolean

Button „Zur nächsten Seite blättern“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv.

FALSE: Button ist unsichtbar und deaktiviert.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_LASTPAGE_ENABLED

lastpage.Enabled

Boolean

Button „Zur letzten Seite blättern“ aktivieren oder deaktivieren.

TRUE (default): Button ist sichtbar und aktiv.

FALSE: Button ist unsichtbar und deaktiviert.


Properties zur Konfiguration der Statuszeile

Mit den folgenden Properties können einzelne Elemente der Statuszeile oder die gesamte Statuszeile aus- oder eingeblendet werden. Setzen der Property auf TRUE bewirkt, dass das Element sichtbar und aktiv ist, FALSE bedeutet, das Element ist unsichtbar und deaktiviert.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_SHOWSTATUS_ENABLED

showstatus.Enabled

Boolean

Gesamte Statuszeile aktivieren oder deaktivieren.

TRUE (default): Statuszeile ist sichtbar und aktiv.

FALSE: Statuszeile ist unsichtbar und deaktiviert.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_STATUS_INFO_ENABLED

statusinfo.Enabled

Boolean

Seiten-Info der Statuszeile aktivieren oder deaktivieren.

TRUE (default): Seiten-Info der Statuszeile ist sichtbar und aktiv.

FALSE: Seiten-Info der Statuszeile ist unsichtbar und deaktiviert.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_STATUS_PRINTER_ENABLED

statusprinter.Enabled

Boolean

Drucker-Info der Statuszeile aktivieren oder deaktivieren.

TRUE (default): Drucker-Info der Statuszeile ist sichtbar und aktiv.

FALSE: Drucker-Info der Statuszeile ist unsichtbar und deaktiviert.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_STATUS_FILE_ENABLED

statusfile.Enabled

Boolean

Datei-Info der Statuszeile aktivieren oder deaktivieren.

TRUE (default): Datei-Info der Statuszeile ist sichtbar und aktiv.

FALSE: Datei-Info der Statuszeile ist unsichtbar und deaktiviert.


Properties zur Konfiguration von CIB jView&coSys

Mit den folgenden Properties können die Korrespondenzfunktionen von CIB jView&coSys konfiguriert werden.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_CORRESPONDENCE_STACK_DOCUMENTS_ENABLED

correspondenceStackDocuments.Enabled

Boolean

Legt fest, ob die Funktion „Dokumente stapeln“ aus dem Viewer heraus möglich ist.

TRUE: Das Stapeln von Dokumenten aus dem Viewer heraus ist möglich.
Kommandozeile: -correspondenceStackDocuments.Enabled 1

FALSE (default): Das Stapeln von Dokumenten aus dem Viewer heraus ist nicht möglich.
Kommandozeile: -correspondenceStackDocuments.Enabled 0

Hinweis: Falls die Property aktiviert ist, zeigt der Viewer die neue Schaltfläche „Dokument stapeln“ in seiner Toolbar an und der Benutzer kann das Dokument aus dem Viewer heraus stapeln.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_CORRESPONDENCE_RESTART_WORKFLOW_FOR_EDITABLE_DOCUMENTS

cosys_restart_workflow_for_editable_documents

Boolean

Legt fest, ob die Funktion „Änderungen im Freigabeprozess ermöglichen“ aktiviert ist.

TRUE: Editierbare Dokumente können im Freigabeprozess editiert werden. Die Freitextfelder sind hervorgehoben, das Zusatzmodul CIB jRec2 ist aktiviert. Desweiteren kann der aktuelle Workflow-Prozess vom aktuellen Anwender neu initiiert werden.
Kommandozeile: -cosys_restart_workflow_for_editable_documents 1

FALSE (default): Dokumente können im Workflow nicht editiert werden. Die Freitextfelder sind nicht hervorgehoben und können somit nicht editiert werden. Desweiteren ist es für den aktuell bestätigenden Anwender nicht möglich den Freigabeprozess neu zu initiieren.
Kommandozeile: -cosys_restart_workflow_for_editable_documents 0

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_CORRESPONDENCE_SHOW_INFORMATION_DIALOG_ENABLED

Correspondenceshowinformation
dialog.Enabled

Boolean

Gibt die Möglichkeit einen Informationsdialog für geladene Korrespondenz-Dokumente anzuzeigen. Unter anderem enthält dieser Dialog die aktuelle Vorgangsnummer für das Dokument. Dieser Dialog enthält zudem die Möglichkeit Support-Informationen für das aktuell geladene Dokument in einem verschlüsselten Archiv zu speichern.

TRUE (default): Die Schaltfläche wird in der Toolbar angezeigt.

FALSE: Die Schaltfläche wird in der Toolbar nicht angezeigt.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_CORRESPONDENCE_AUTOMATIC_PRINT

cosys.automatic.print

Boolean

Gibt die Möglichkeit, sofort nach dem Laden von Korrespondenz-Dokumenten den Druckdialog anzuzeigen.

TRUE: Sofort nach dem Laden eines Korrespondenz-Dokuments wird der Druckdialog angezeigt.

FALSE (default): Der Druckdialog wird nicht nach dem Laden eines Korrespondenz-Dokuments angezeigt, sondern erst nach Auslösen der Aktion „Drucken“.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_CORRESPONDENCE_AUTOMATIC_PRINTER

cosys.automatic.printer

String

Gibt die Möglichkeit, den ausgewählten Drucker anzugeben, falls sofort nach dem Laden von Korrespondenz-Dokumenten der Druckdialog angezeigt wird, wenn also die Property PROPERTY_CORRESPONDENCE_AUTOMATIC_PRINT auf TRUE gesetzt wurde.

<String_value>: Gibt den Namen des Druckers an, der im Druckdialog ausgewählt wird.

Falls der Wert nicht gesetzt oder leer ist, wird der zuletzt verwendete Drucker im Druckdialog angezeigt.


Properties zur Konfiguration des CIB jRec Edit-Controls

Die folgende Property zeigt an, ob das CIB jRec Edit-Control innerhalb von JView aktivierbar ist oder nicht.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_REC_ENABLED

rec.Enabled

Boolean

Gibt an, ob das Editieren der eingebetteten Textfelder erlaubt ist oder nicht.

TRUE (default): Editieren ist erlaubt.

FALSE: Editieren ist nicht erlaubt.

Hinweis: Mit dieser Property wird konfiguriert, ob Editfelder aktivierbar sind oder nicht, falls das jRec Edit-Control in einer anderen Anwendung (z.B. CIB jView) eingebettet ist.

Falls diese Property auf TRUE gesetzt ist, kann über die jView-Instanz mit der Methode getRec() eine jRec-Instanz geholt werden. Ob diese Methode eine Instanz von jRec oder jRec2 liefert, hängt davon ab, welche Komponente im Java-Classpath gefunden wird. Dabei wird zuerst nach jRec2 gesucht, dann nach jRec. Falls keine Komponente gefunden wird, sind Editfelder im JView nicht aktivierbar.

  // JRec-Instanz holen ohne zu   starten
  JCibApplication t_CibRec = t_CibView.getRec(false);
  if (t_cibRec instanceof JCibRec) {
    System.out.println("CIB jRec is active.");
  }
  else if (t_cibRec instanceof JCibRec2) {
    System.out.println("CIB jRec2 is active.");
  }

 

Die nächste Property bestimmt das Verhältnis zwischen jView-Fenster und Editbereichs-Fenster.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_SPLITPANE_DIVIDER_PERCENTAGE

splitpane-divider-percentage

Integer

Legt  den prozentualen Anteil des jView-Fensters zum gesamten Anzeigebereich bei geöffnetem Editbereich fest.

Hinweis: Bei geöffnetem Editbereich ist der Anzeigebereich des Anwendungsfensters durch ein Split-Panel in ein JView-Fenster (Viewing-Bereich) und ein jRec-Fenster (=Editbereich) unterteilt. Standardmäßig ist das Verhältnis zwischen JView- und jRec-Fenster 2:1, das jView-Fenster nimmt also 66% des Anzeigebereichs ein.

Diese Property wird beim Aufruf von JView wie die anderen Properties bei der jView-Instanz gesetzt und beim Öffnen des jRec-Fensters ausgewertet.

 

Die folgende Property bestimmt, in welchem Zoom-Modus das Editbereichs-Fenster geöffnet wird.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_REC_TO_PAGEWIDTH_NO_ZOOM_ADJUST

recToPagewidthNoZoomAdjust

Boolean

Legt  fest, in welchem Zoom-Modus das Editbereichs-Fenster geöffnet wird.

TRUE: Das Editbereichs-Fenster wird im Zoom-Modus „Seitenbreite“ geöffnet und passt sich den Zoomänderungen im JView-Fenster nicht an.

FALSE (default): Das Editbereichs-Fenster wird mit demselben Zoomfaktor wie das JView-Fenster geöffnet und passt sich den Zoomänderungen im JView-Fenster an.

 

Die folgende Property bestimmt, ob beim Schließen des Anwendungsfensters, in das der JView eingebettet ist, eine Abfrage erscheint, ob das geänderte Dokument gespeichert werden soll.
Die Property steuert auch eine eventuelle Abfrage, ob die Änderungen übernommen werden sollen, falls gerade ein Rec-Editbereich bearbeitet wird und dann das Anwendungsfenster geschlossen wird.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_ASK_SAVE_CLOSING_WINDOW

askSaveClosingWindow

Boolean

Legt  fest, ob beim Schließen des Anwendungsfensters eine Frage erscheint, ob Änderungen übernommen und gespeichert werden sollen.

TRUE (default): Beim Schließen des Anwendungsfensters erscheint  eine Dialogbox mit der Frage, ob die Änderungen gespeichert werden sollen. Ebenso erscheint, falls ein Rec-Editbereich geöffnet ist, eine Dialogbox mit der Frage, ob die Änderungen übernommen werden sollen.

FALSE: Beim Schließen des Anwendungsfensters erscheint keine Dialogbox mit der Frage, ob die Änderungen gespeichert werden sollen. Ebenso erscheint keine Frage, ob die Änderungen übernommen werden sollen, wenn ein Rec-Editbereich geöffnet ist.

Hinweis: Diese Property dient dazu, ein schnelles Beenden ohne Rückfragen zu ermöglichen.

Hinweis: Diese Property wird nur beim Schließen der Anwendung über das x-Icon rechts oben in der Fenstertitelleiste wirksam, nicht wenn die JView-Anwendung über den Menüeintrag „Beenden“ oder das Toolbar-Icon „Beenden“ geschlossen wird.

 

Die folgenden Properties bestimmen, ob namensgleiche Editbereiche bei Änderung eines Editbereichs mit demselben Inhalt gefüllt werden sollen, und ob ein Warnhinweis angezeigt wird, wenn ein Editbereich geändert wurde und namensgleiche Editbereiche dadurch ebenfalls geändert wurden.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_NAMED_REC_SNIPPETS_ENABLED

namedRecSnippets.Enabled

Boolean

Legt  fest, ob namensgleiche Editbereiche bei Änderung eines Editbereichs mit demselben Inhalt gefüllt werden sollen.

TRUE (default): Bei Änderung eines Editbereichs werden namensgleiche Editbereiche mit demselben Inhalt gefüllt.

FALSE: Bei Änderung eines Editbereichs werden namensgleiche Editbereiche nicht mit demselben Inhalt gefüllt.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_NAMED_REC_SNIPPETS_WARNING_ENABLED

namedRecSnippetsWarning.Enabled

Boolean

Legt  fest, ob ein Warnhinweis angezeigt wird, wenn ein Editbereich geändert wurde und namensgleiche Editbereiche dadurch ebenfalls geändert wurden.

TRUE: Wenn bei Änderung eines Editbereichs namensgleiche Editbereiche mit demselben Inhalt gefüllt werden, wird ein Warnhinweis angezeigt.

FALSE (default): Wenn bei Änderung eines Editbereichs namensgleiche Editbereiche mit demselben Inhalt gefüllt werden, wird kein Warnhinweis angezeigt.

 

Die folgenden Properties bestimmen, ob und mit welcher transparenten Hintergrund­farbe Editbereiche im JView angezeigt werden. Es gibt eine Property, mit der die Anzeige der Hintergrundfarbe aktiviert wird. Außerdem kann die Hintergrundfarbe für die Editbereiche im normalen und im aktivierten Zustand durch zwei weitere Properties getrennt angegeben werden.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_RECAREA_SHOW_BACKGROUND_COLOR

recarea.show.background.color

Boolean

Legt  fest, ob Editbereiche im JView mit einer Hintergrundfarbe dargestellt werden.

TRUE: Editbereiche werden im JView mit einer Hintergrundfarbe angezeigt. Die Hintergrundfarbe für den normalen und aktivierten Zustand kann durch eigene Properties festgelegt werden.

FALSE (default): Editbereiche werden im JView ohne Hintergrundfarbe angezeigt.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_RECAREA_COLOR_NORMAL

recarea.color.normal

String

String Property zur Angabe der Hintergrundfarbe von Editbereichen im jView, wenn sie nicht geöffnet sind, also normal dargestellt werden. Die Property ist nur wirksam, falls die Property PROPERTY_RECAREA_SHOW_BACKGROUND_COLOR aktiviert ist.

Die Farbe wird als RGB-Wert in diesem Format angegeben: "R;G;B;A" (Werte jeweils zwischen 0 und 255), wobei A den Alpha-Wert (Transparenz) angibt.

Default ist Color.lightgray mit Alpha 64 = "192;192;192;64", falls die Property nicht gesetzt ist.

 

Property-Bezeichnung

Property-Text

Typ

PROPERTY_RECAREA_COLOR_ACTIVE

recarea.color.active

String

String Property zur Angabe der Hintergrundfarbe von Editbereichen im jView, wenn sie geöffnet sind, also als aktiviert dargestellt werden. Die Property ist nur wirksam, falls die Property PROPERTY_RECAREA_SHOW_BACKGROUND_COLOR aktiviert ist.

Die Farbe wird als RGB-Wert in diesem Format angegeben: "R;G;B;A" (Werte jeweils zwischen 0 und 255), wobei A den Alpha-Wert (Transparenz) angibt.

Default ist Color.darkgray mit Alpha 64 = "64;64;64;64", falls die Property nicht gesetzt ist.

 

Alle weiteren jRec-Properties müssen direkt bei der jRec-Instanz gesetzt werden. Mit ihnen kann das Verhalten des eingebetteten jRec Edit-Controls gesteuert werden. Dazu muss über die jView-Instanz eine jRec-Instanz geholt werden. Siehe dazu den Beispielcode bei der Beschreibung der Property PROPERTY_JREC_INIFILENAME.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_JREC_INIFILENAME

JREC_INIFILENAME

String

Setzt den Namen der INI-Datei für die eingebettete jRec-Applikation.

Default: „cibjRec.ini“

Hinweis: Mit dieser Property wird der Name der CIB jRec INI-Datei gesetzt. Falls als Wert „null“ gesetzt wird, wird keine INI-Datei verwendet. Diese Property muss direkt bei der jRec-Instanz gesetzt werden, beispielsweise durch folgenden Code:

  // JRec-Instanz
  holen ohne zu starten
  JCibApplication t_CibRec = t_CibView.getRec(false);
  if (t_CibRec != null) {
    // Keine JRec Ini-Datei schreiben
    t_CibRec.setProperty(ICibRecApplication.PROPERTY_JREC_INIFILENAME,
      null);
  }


Properties zur Konfiguration des CIB jScan Controls

Die folgende Property zeigt an, ob das CIB jScan Control innerhalb von jView aktivierbar ist oder nicht.

Property-Bezeichnung

Property-Text

Typ

PROPERTY_SCAN_ENABLED

scan.Enabled

Boolean

Gibt an, ob das Scan-Control aktivierbar ist oder nicht.

TRUE: Das Scan-Control ist aktivierbar.

FALSE (default): Das Scan-Control ist nicht aktivierbar.

Hinweis: Mit dieser Property wird konfiguriert, ob das Scan-Control aktivierbar ist oder nicht, falls CIB jScan in einer anderen Anwendung (z.B. CIB jView) eingebettet ist.

 

Alle weiteren jScan-Properties müssen bei der jView-Instanz gesetzt werden. Dies ist notwendig, da bei jedem Öffnen des Scan-Panels eine Instanz der Scan-Applikation CIB jScan erzeugt wird, an die diese Properties übertragen werden. Mit ihnen kann das Verhalten des eingebetteten jScan-Controls gesteuert werden.

Die Beschreibung aller Properties für CIB jScan finden Sie im Dokument TechnischerLeitfadenCIBjScan.pdf


Properties zur Aktivierung und Konfiguration von CIB jView&form

Die folgende Property legt fest an, ob die Bearbeitung von Formularen innerhalb von jView möglich ist oder nicht.

Property-Bezeichnung

Property-Text

Typ

Default

PROPERTY_FORM_ENABLED

form.Enabled

Boolean

False

Diese Property legt fest, ob die Formular-Komponente aktiviert oder deaktiviert ist.

TRUE: In der Menüleiste erscheint das Menü „Formular“ und in der Toolbarleiste erscheint der Button „Formularfelder de/aktivieren”. Das Formular kann bearbeitet werden, wenn die Formularfelder aktiviert sind.

FALSE: Das Menü „Formular“ und der Toolbar-Button „Formularfelder de/aktivieren” wird nicht angeboten. Das Formular kann nicht bearbeitet werden.

 

Property-Bezeichnung

Property-Text

Typ

Default

PROPERTY_RTF_FORM_ENABLED

rtfForm.Enabled

Boolean

False

Diese Property legt fest, ob die Formular-Komponente für RTF-Formulare aktiviert oder deaktiviert ist.

TRUE: RTF-Formulare können bearbeitet werden. Derzeit werden nur Checkboxen in RTF-Formularen unterstützt.

FALSE: RTF-Formulare können nicht bearbeitet werden.

 

Alle weiteren Form-Properties können ebenfalls bei der JView-Instanz gesetzt werden. Mit ihnen kann das Verhalten der Formular-Komponente gesteuert werden.

Die Beschreibung aller Properties für CIB jView&form finden Sie im Dokument TechnischerLeitfadenCIBjViewform.pdf


Properties zur Aktivierung und Konfiguration von CIB jView&sign

Die folgende Property legt fest an, ob die elektronische Signatur von Formularen innerhalb von JView möglich ist oder nicht.

Property-Bezeichnung

Property-Text

Typ

Default

PROPERTY_SIGN_ENABLED

sign.Enabled

Boolean

False

Diese Property legt fest, ob die Signatur-Komponente aktiviert oder deaktiviert ist.

TRUE: Im Menü erscheint der Menüeintrag „Signatur“ und in der Toolbarleiste erscheinen die Buttons „n Feld(er) zu signieren“ und „Signaturfeld aufziehen”.

FALSE: Der Menüeintrag „Signatur“ und die Toolbar-Buttons „n Feld(er) zu signieren“ und „Signaturfeld aufziehen” werden nicht angeboten.

 

Alle weiteren Sign-Properties können ebenfalls bei der JView-Instanz gesetzt werden. Mit ihnen kann das Verhalten der Signatur-Komponente gesteuert werden.

Die Beschreibung aller Properties für CIB jView&sign finden Sie im Dokument TechnischerLeitfadenCIBjViewsign.pdf


Batch-Dateien zum Starten des Viewers

Nach der Installation des JView-Pakets unter Windows (Auspacken der zip-Datei) stehen im Verzeichnis CibjView die folgenden Batch-Dateien zum Starten des jView zur Verfügung:

  • run.bat                  Startet den jView ohne JComod-IPC
  • run_ipc-bat Startet den jView mit JComod-IPC

 Voraussetzung für die Ablauffähigkeit des jView ist:

  • JRE6 oder JDK6 oder neuere Java-Versionen sind installiert
  • Die System-Umgebungsvariable JAVA_HOME zeigt auf die Java-Installation, etwa
    • JAVA_HOME=C:\Programme\Java\jre6 (unter Windows XP und Vista)
    • JAVA_HOME=C:\Program Files (x86)\Java\jre6 (unter Windows7 - 64bit)
  • Alternativ dazu kann auch ganz oben in der Batch-Datei der Pfad auf das JAVA_HOME Verzeichnis gesetzt werden:
    • set JAVA_HOME=C:\Programme\Java\jre6 (unter Windows XP und Vista)
    • set JAVA_HOME=C:\Program Files (x86)\Java\jre6 (unter Windows7 - 64bit)


Steuerung durch Aufrufparameter

CIB jView kann auch durch Aufrufparameter in der Batch-Datei (run.bat bzw. run.sh) gesteuert werden.

Dabei gilt die übliche Syntax für Kommandozeilenparameter:

-<Parametername-1> <Parameterwert-1> … -<Parametername-n> <Parameterwert-n>

Die Namen der Parameter entsprechen den internen Namen der Properties. Falls nicht bekannt, können sie durch den Support erfragt werden.

Zusätzlich gibt es folgende Aufrufparameter:

<Dateiname>                Name des Dokuments, das beim Start der Applikation geladen werden soll (ohne vorausgehendes Minuszeichen)

-t                                   Aktiviert die Ausgabe von Trace-Informationen in die Konsole

-tracefile <Dateiname> Aktiviert die Ausgabe von Trace-Informationen in die angegebene Datei

-traceLevel <Level>       Setzt das Trace-Level auf den angegebenen Wert
(mögliche Werte sind ERROR | WARN | INFO | DEBUG | DEBUGALL)

Für die Java Virtual Machine (JVM) müssen die folgenden Properties (VM-Parameter) gesetzt werden:

Java Library-Pfad           -Djava.library.path=lib/win32 (bei Windows)
-Djava.library.path=lib/linux32 (bei Linux)

JAI-Bibliotheken            -Dcom.sun.media.jai.disableMediaLib=true (muss = true gesetzt sein)

Jcomod-IPC an/aus        -Dde.cib.jcomod.useIpc=true (optional, Default = false)

 

Hinweis zu JComod-IPC:

Wird JComod-IPC zusammen mit Webstart auf einem Windows Vista System ausgeführt, muss darauf geachtet werden, dass alle für die Applikation notwendigen Dateien in einem Verzeichnis gespeichert werden, welches kein Integrity gesetzt hat. Hintergrund ist der unter Windows Vista verwendete Integrity Mechanismus zur Einschränkung der Rechte für Applikationen.


Benutzereinstellungen speichern und laden

Im JView besteht die Möglichkeit, verschiedene benutzerspezifische Einstellungen nach dem Beenden zu speichern und sie nach dem erneuten Start des JView wieder herzustellen.

Durch die Property ICibApplication.PROPERTY_USER_PREFERENCES_FILE wird der Name der Datei angegeben, in der die Benutzereinstellungen gespeichert werden sollen. Das Setzen dieser Property ist Voraussetzung, dass überhaupt Benutzereinstellungen gespeichert werden.

Die untenstehende Tabelle zeigt, welche Benutzereinstellungen gespeichert werden können. Darüber hinaus kann durch weitere Properties festgelegt werden, ob einzelne Einstellungen gespeichert werden oder nicht.

Benutzereinstellung

Property zum (De-)Aktivieren des Speicherns

Fensterposition und -größe

ICibApplication.PROPERTY_RESTORE_WINDOW_BOUNDS_ENABLED

Toolbar-Position

Wird derzeit immer gespeichert, falls UserPreferences aktiviert

Seitenansicht einblenden

Wird derzeit immer gespeichert, falls UserPreferences aktiviert

Selektierter Reiter in der Seitenansicht

Wird derzeit immer gespeichert, falls UserPreferences aktiviert

Lupen-Position

Wird derzeit immer gespeichert, falls UserPreferences aktiviert

 

Im Folgenden werden drei Code-Beispiele gezeigt, wie die Benutzereinstellungen gespeichert und wieder geladen werden können.

Methode die beim Beenden des Viewers die Einstellungen speichert, sie muss im Exit-Hook des Viewers aufgerufen werden:

       public
static void closeViewer(JCibView viewer) {
             if (viewer == null)
                    return;
 
             // store last frame position and size
             UserPreferences userPrefs = viewer.getUserPreferences();
             Boolean saveFramePos = (Boolean) viewer.getProperty(
             ICibApplication.PROPERTY_RESTORE_WINDOW_BOUNDS_ENABLED);
             if (userPrefs != null && saveFramePos != null &&
                           saveFramePos.booleanValue())
             userPrefs.saveWindowBounds(viewer.getFrame());
            
             // store toolbar location
             if (userPrefs != null) {
                    String loc = viewer.getUI().getToolbarPosition();
                    if (loc != null)
                        userPrefs.saveToolbarLocation(loc);
             }
            
             // store tab pane status
             if (userPrefs != null) {
                    boolean isOpen = viewer.getUI().isToolPanelVisible();
                userPrefs.saveTabPaneStatus(isOpen);
             }
 
             // store selected tab
             if (userPrefs != null) {
                    String selectedTab = viewer.getUI().getSelectedTab();
             userPrefs.saveSelectedTab(selectedTab);
             }
 
             // close magnifier – stores implicitely last magnifier position
             JCibDocumentPane pane = (JCibDocumentPane) viewer
                           .getOutputComponent();
             if (pane != null) {
                    if (pane.getMagnifierController() != null &&
                           pane.getMagnifierController().isActive())
                    pane.getMagnifierController().deactivate();
             }
             viewer.stop();
       }

 

Variablen und Methode zum Laden der bisherigen Einstellungen beim Starten des Viewers:

       // definition of constants and variables
       /** line separator */
       public static final String SEPARATOR = System.getProperty("file.separator");
      
       /** the user home directory */
       public static String user_home = System.getProperty("user.home");
 
       /** the cib specific user directory for ini and property files */
       public static String cib_user_dir;
 
       /** the user specific property file */
       public static String cib_user_file;
 
       // init the user preferences files
       cib_user_dir = user_home+"Anwendungsdaten"+SEPARATOR+"cib"+SEPARATOR;
       File user_dir = new File(cib_user_dir);
       if (!user_dir.exists())
             user_dir.mkdir();
       cib_user_file = cib_user_dir+"CibJView.prefs";
 
       public static void initializeViewer(JCibView viewer) {
             // init user preferences and set the user preferences file
       viewer.setProperty(ICibApplication.PROPERTY_USER_PREFERENCES_FILE,
                    cib_user_file);
             viewer.setProperty(
             ICibApplication.PROPERTY_RESTORE_WINDOW_BOUNDS_ENABLED,
                    Boolean.TRUE);
             viewer.setProperty(
             ICibApplication.PROPERTY_MAGNIFIER_ENABLED,
                    Boolean.TRUE);
 
             // restore toolbar location
              UserPreferences userPrefs = viewer.getUserPreferences();
             int toolbarPos = SwingConstants.TOP; // default
             if (userPrefs != null) {
                    Integer newToolbarPos = userPrefs.getToolbarLocation();
                     if (newToolbarPos != null)
                           toolbarPos = newToolbarPos.intValue();
             }
       viewer.setProperty(ICibApplication.PROPERTY_TOOLBAR_POSITION,                     new Integer(toolbarPos));
 
             // restore tab pane status
             if (userPrefs != null) {
                    String selectedTab = "";
                    Boolean isOpen = userPrefs.getIsTabpaneOpen();
                    if (isOpen == null || isOpen) {
                           isOpen = Boolean.TRUE;
                           selectedTab = userPrefs.getSelectedTabOnStart();
                    }
                    else {
                           isOpen = Boolean.FALSE;
                    }
                    // restore selected tab - if empty no tab is opened
                    viewer.setProperty(
                           ICibApplication.PROPERTY_SHOW_TAB_ON_START,
                                  selectedTab);
             }
 
             // last magnifier position is implicitely restored when
             // magnifier is opened and user preferences are active
       }

 

Methode die beim Erzeugen des Viewer-Frames die bisherigen Einstellungen lädt:

       public static JFrame createViewerFrame(final JCibView viewer) {
             // get the user preferences to restore the main frame position
             UserPreferences userPrefs = viewer.getUserPreferences();
             Boolean restoreFramePosEnabled = (Boolean) viewer.getProperty(
             ICibApplication.PROPERTY_RESTORE_WINDOW_BOUNDS_ENABLED);
 
             // load last frame's position if configured
             Rectangle t_framePos = null;
             if (userPrefs != null && restoreFramePosEnabled != null &&
                    restoreFramePosEnabled.booleanValue())
                    t_framePos = userPrefs.getFrameBounds();
             if (t_framePos == null) {
                    // Set position/size to 0,0 and 75% of screen width/height.
                    Dimension screenSize = Toolkit.getDefaultToolkit()
                           .getScreenSize();               
                    t_framePos = new Rectangle(0, 0,
                           (int) (screenSize.getWidth() * 0.75),
                           (int) (screenSize.getHeight() * 0.75));
             }
              // We need a frame to put the Viewer inside.
             GraphicsConfiguration gc = GraphicsUtilities
             .getGraphicsConfiguration(t_framePos);
             // create the frame on screen according to the frame's last position
             final JFrame t_frame = new JFrame(gc);
             // restore the frame's last position
             t_frame.setLocation(t_framePos.x, t_framePos.y);
             t_frame.setSize(t_framePos.width, t_framePos.height);
             viewer.setFrame(t_frame);
             return t_frame;
}

 

  1. Erzeugen einer Instanz von jCibView -> cibJView = new JCibView();
  2. initializeViewer(cibJView);
  3. createViewerFrame(cibJView);
  4. cibJView.start();
  5. cibJView.load();

 

Code-Beispiel:

import javax.swing.JFrame;
import de.cib.gui.framework.ICibApplication;
import de.cib.view.*;
import com.cib.comod.jobs.*;
 
public class JViewTest {
      public static void main(java.lang.String[] args) {
            JCibView cibJView = new JCibView();
      cibJView.setProperty(ICibApplication.PROPERTY_INPUTFILE, "test.pdf");
            initializeViewer(cibJView);
            JFrame myFrame = createViewerFrame(cibJView);
            myFrame.setTitle("JView Test");
 
            cibJView.start();
            cibJView.load();
 
      myFrame.getContentPane().add(cibJView);
            myFrame.setVisible(true);
      }
}


Einbindung des CIB jView in Java

In den unteren Abschnitten finden Sie kurze Codebeispiele für den Aufruf von CIB jView. Vergewissern Sie sich, dass die CIB office module sich im Library Path der Java Virtual Machine (JVM) und die benötigten JAR-Dateien in einem Classpath-Verzeichnis befinden.

Einbindung in eine HTML-Seite
Einbindung in eine Java Swing-Applikation
     ▸ Integration in Java-Applikation (JFrame) und Anzeige einer PDF-Datei
     ▸ Integration in Java-Applikation (JDialog) und Anzeige einer TIFF-Datei
     ▸ Integration in eine Java-Applikation mit gleichzeitiger Integration eines eigenen Druckdialoges
     ▸ Integration des CIB jView&rec in eine Java-Applikation und Anzeige einer RTF-Datei mit eingebettetem Rec-Edit-Feld
     ▸ Einmischen von RTF-Snippets in ein RTF-Dokument mit CIB merge und Speichern in ein anderes RTF-Dokument
     ▸
Interface CustomCloseDialogInfo zum Austausch von Informationen für den CustomCloseDialogCallback
Einbindung in eine Java SWT-Applikation

Einbindung in eine HTML-Seite

HTML-Seite mit einem integrierten jView-Applet

<html>
      <head>
            <title>CIB JView</title>
      </head>
      <body>
            <applet archive="CibJView.jar, ComodJobs.jar"
            code="de/cib/view/JCibViewApplet.class"                   width="100%" height="100%" ID="Applet1">
            </applet>
      </body>
</html>


Einbindung in eine Java Swing-Applikation

Integration in Java-Applikation (JFrame) und Anzeige einer PDF-Datei

import
javax.swing.JFrame;
import de.cib.gui.framework.ICibApplication;
import de.cib.view.*;
import com.cib.comod.jobs.*;
 
public class JViewFrame {
      public static void main(java.lang.String[] args) {
            JFrame myFrame = new JFrame();
            myFrame.setTitle("Test Frame");
            myFrame.setSize(800, 800);
            JCibView t_CIBView = new JCibView();
            t_CIBView.setFrame(myFrame);
      t_CIBView.setProperty(ICibApplication.PROPERTY_INPUTFILE,
                  "test.pdf");
            // keine Menüleiste anzeigen
      t_CIBView.setProperty(ICibApplication.PROPERTY_MENU_ENABLED,
                  new Boolean(false));
      t_CIBView.setProperty(ICibApplication.PROPERTY_EXPORT_ENABLED,
                  new Boolean(false));
            // keine JView Ini-Datei schreiben
      t_CIBView.setProperty(ICibApplication.PROPERTY_INIFILENAME,
                  null);
      t_CIBView.setProperty(ICibApplication.PROPERTY_TITLE,
                  new String("JCibView!"));
            t_CIBView.start();
            t_CIBView.load();
      myFrame.getContentPane().add(t_CIBView);
            myFrame.setVisible(true);
      }
}

Integration in Java-Applikation (JDialog) und Anzeige einer TIFF-Datei

import javax.swing.JDialog;
import de.cib.gui.framework.ICibApplication;
import de.cib.view.*;
import com.cib.comod.jobs.*;
 
public class JViewDialog {
      public static void main(java.lang.String[] args) {
            JDialog myDialog = new JDialog ();
            myDialog.setTitle("Test Dialog");
            myDialog.setSize(800, 800);
            JCibView t_CIBView = new JCibView();
            t_CIBView.setFrame(myDialog);
      t_CIBView.setProperty(ICibApplication.PROPERTY_INPUTFILE,
                  "example.tif");
            // keine Menüleiste anzeigen
      t_CIBView.setProperty(ICibApplication.PROPERTY_MENU_ENABLED,
                  new Boolean(false));
      t_CIBView.setProperty(ICibApplication.PROPERTY_EXPORT_ENABLED,
                  new Boolean(false));
            // keine JView Ini-Datei schreiben
      t_CIBView.setProperty(ICibApplication.PROPERTY_INIFILENAME,
                  null);
      t_CIBView.setProperty(ICibApplication.PROPERTY_TITLE,
                  new String("JCibView!"));
            t_CIBView.start();
            t_CIBView.load();
      myDialog.getContentPane().add(t_CIBView);
            myDialog.setVisible(true);
      }
}

Integration in eine Java-Applikation mit gleichzeitiger Integration eines eigenen Druckdialoges

Nachfolgendes Codebeispiel zeigt die Möglichkeit, einen selbstprogrammierten Druckdialog in den JView einzuhängen.

Wichtige Hinweise:

Wenn Sie die Klasse JCibPrinterJob erweitern, dann überschreiben Sie bitte die Methode print() nicht, oder wenn dies unvermeidlich ist, stellen Sie sicher, dass Sie die Methode super() aufrufen, sonst kann das Drucken nicht erwartungsgemäß erfolgen.

JCibView geht standardmäßig davon aus, dass die aktuelle Seite gedruckt werden soll. Er setzt intern die CIB Format Property ICibFormatJob.PROPERTY_CURRENTPAGE auf die aktuelle Seitenzahl. Um ein unerwünschtes Drucken nur der aktuellen Seite zu vermeiden, setzen Sie die Property PROPERTY_CURRENTPAGE auf -1.

import javax.swing.JFrame;
import de.cib.view.*;
import com.cib.comod.jobs.*;
import com.cib.comod.tools.print.*;
import java.awt.*;
 
public class JViewFrame {
 
      public static void main(java.lang.String[] args) {
            JFrame myFrame = new JFrame();
            myFrame.setTitle("Test Frame");
            myFrame.setSize(300,300);
            JCibView t_CIBView = new JCibView (myFrame);
 
            // Mein eigener PrinterJob soll benutzt werden
      System.setProperty("com.cib.tools.print.printerjob",
                  "my.package.MyPrinterJob");
      t_CIBView.setProperty(ICibApplication.PROPERTY_INPUTFILE,
                  "test.rtf");
      t_CIBView.setProperty(ICibApplication.PROPERTY_SEARCH_ENABLED,
                  new Boolean(false));
            // keine Menüleiste anzeigen
      t_CIBView.setProperty(ICibApplication.PROPERTY_MENU_ENABLED,
                  new Boolean(false));
      t_CIBView.setProperty(ICibApplication.PROPERTY_EXPORT_ENABLED,
                  new Boolean(false));
      t_CIBView.setProperty(ICibApplication.PROPERTY_TITLE,
                  new String("JCibView!"));
 
            t_CIBView.start();
            t_CIBView.load();
 
      myFrame.getContentPane().add(t_CIBView);
            myFrame.setVisible(true);
      }
}
 
package my.package;
import com.cib.comod.tools.print.*;
 
public class MyPrinterJob extends JCibPrinterJob {
      // Die Methode gibt true zurück, wenn gedruckt werden soll,
      // andernfalls false.
      public boolean printDialog()
      {
            // HHHHHHhhier fügen Sie Ihren Dialog-Code ein.
            .......
      }
}

Integration des CIB jView&rec in eine Java-Applikation und Anzeige einer RTF-Datei mit eingebettetem Rec-Edit-Feld

import java.awt.BorderLayout;
import java.awt.Toolkit;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
 
import javax.swing.JFrame;
import javax.swing.WindowConstants;
 
import de.cib.gui.framework.ICibApplication;
import de.cib.gui.framework.JCibApplication;
import de.cib.jRec.ICibRecApplication;
import de.cib.util.trace.Trace;
 
public class JCibViewTest {
 
      public static final String TEST_FILENAME = "test_rec.rtf";
 
      public static void main(java.lang.String[] args) {
            // We need a frame to put the Viewer inside.
            JFrame t_frame = new JFrame();
           
            // We need a viewer.
            final JCibView t_CIBView = new JCibView();
            t_CIBView.setFrame(t_frame);
           
            // Prepare frame.
        t_frame.setDefaultCloseOperation(
                  WindowConstants.DO_NOTHING_ON_CLOSE);
           
            try {
                  t_frame.addWindowListener(new WindowAdapter() {
                        public void windowClosing(WindowEvent e) {
                              //call stop for clean ups!
                              t_CIBView.stop();
                        }
                  });
            }
            catch (Throwable exception) {
                Trace.trace("Prepare frame " , exception);
            }
            t_frame.setSize(
            (int)(Toolkit.getDefaultToolkit().getScreenSize()
                        .getWidth()) * 0.75),
                  (int) ((Toolkit.getDefaultToolkit()
                        .getScreenSize().getHeight()) * 0.75));
      t_frame.getContentPane().setLayout(new BorderLayout());
           
            // Prepare viewer.
            // Set input file (optional)
      t_CIBView.setProperty(ICibApplication.PROPERTY_INPUTFILE,                               TEST_FILENAME);
            // Enable JCibRec in JCibView (optional).
      t_CIBView.setProperty(ICibRecApplication.PROPERTY_REC_ENABLED,                   Boolean.TRUE);
            JCibApplication t_cibRec = t_CIBView.getRec();
           
            // Set constraints to allowed font list (optional).
            if (t_cibRec != null) {
                  String fontList = "Times New Roman; Arial; Courier New";
                t_CIBView.getRec().setProperty(
                  ICibRecApplication.PROPERTY_ALLOWED_FONT_LIST,
                        fontList);
            }
            // Use native print dialog (optional).
            // Otherwise the Java print dialog is used.
            t_CIBView.setProperty(
                  ICibApplication.PROPERTY_SHOWJPRINTDIALOG,
                        Boolean.FALSE);
           
            t_CIBView.start();           
            t_CIBView.load();
           
      t_frame.getContentPane().add(t_CIBView, BorderLayout.CENTER);
            t_frame.setVisible(true);
    }
}

Einmischen von RTF-Snippets in ein RTF-Dokument mit CIB merge und Speichern in ein anderes RTF-Dokument

import java.io.File;
import java.util.HashMap;
import java.util.Iterator;
 
import com.cib.comod.jobs.ICibMergeJob;
import com.cib.comod.jobs.JCibMergeJob;
 
import de.cib.gui.framework.CibMessageDialog;
import de.cib.gui.util.trace.Trace;
import de.cib.metafile.Messages;
import de.cib.view.modules.jRec.jRecController;
import de.cib.webdesk.utilities.IOUtilities;
 
public class JMergeTestRunner {
 
      /**
       * Mischt zwei RTF-Snippets mit CIB merge in Input-RTF-Datei ein.
       * Das Ergebnis wird in die angegebene Output-Datei gespeichert.
       */
      public static void main(java.lang.String[] args) {
 
            // Set file path to example files - must be adjusted
            String path = "C:/Testfiles/";
           
            // Create RTF document by CIB merge job with merge/recombine.
            File inputFile = new File (path + "merge-Test-In.rtf");
            File outputFile = new File (path + "merge-Test-Out.rtf");
           
            String snippet0 = new String (path + "jRec_snippet_0");
            String snippet1 = new String (path + "jRec_snippet_1");
           
            HashMap<Integer, String> rtfControls =                         new HashMap<Integer, String>();
            rtfControls.put(new Integer(0),                         new String(IOUtilities.readFile(snippet0)));
            rtfControls.put(new Integer(1),                         new String(IOUtilities.readFile(snippet1)));
                       
            try {
                  // Merge-Job initialisieren
                  JCibMergeJob t_mergeJob =  new JCibMergeJob();
                  t_mergeJob.initialize();
                 
                  if (t_mergeJob != null && t_mergeJob.isInitialized()) {
                        File snippetDir = new File(                            jRecController.getSnippetDir());
                        // Merge Error log in Snippet-Verzeichnis speichern
                        File logFile = null;
                        if (snippetDir.exists()) {
                              logFile = new File(jRecController.getSnippetDir()                                      + "merge_recombine.log");
                              if (logFile.exists())
                                    logFile.delete();
                              t_mergeJob.setProperty(                                  ICibMergeJob.PROPERTY_ERRORFILE,                                     logFile.getAbsolutePath());
                              t_mergeJob.setProperty(                                    ICibMergeJob.PROPERTY_VERBOSE,                                     "5+all+source");
                        }
                        t_mergeJob.setProperty(                            ICibMergeJob.PROPERTY_INPUTFILE,                               inputFile.getAbsolutePath());
                        if (outputFile.exists())
                              outputFile.delete();
                        t_mergeJob.setProperty(                           ICibMergeJob.PROPERTY_OUTPUTFILE,                              outputFile.getAbsolutePath());
                        t_mergeJob.setProperty(                         ICibMergeJob.PROPERTY_EXTENDEDREF,                               Boolean.TRUE);
                        t_mergeJob.setProperty(                           ICibMergeJob.PROPERTY_CHARFORMAT, "auto");
                        t_mergeJob.setProperty(                               ICibMergeJob.PROPERTY_KEEP, "unresolved-ref");
                        // Neuer Parameter, um vorhandene Field-Results                         // bei nicht vorhandener Datenversorgung zu erhalten.
                        t_mergeJob.setProperty(
                              "--field-results=", "keepswitch");
                              "--field-results=", "keepswitch");
                        // RTF Snippets, die den Inhalt im RTF ersetzen.                         // Können auch von Platte kommen.
                        if (rtfControls != null) {
                              Integer fieldID;
                              String snippetName;
                              Iterator<Integer> it =                                  rtfControls.keySet().iterator();
                              while (it.hasNext()) {
                                    fieldID = it.next();
                                    String rtfPassage =                                           rtfControls.get(fieldID);
                                    if (rtfPassage != null) {
                                          // Set property value for rtf snippet
                                          snippetName = "cibrec-snippet"                                                 + fieldID.intValue() + ".rtf=";
                                          t_mergeJob.setProperty(                                                 "--directory-set=",                                                 snippetName + rtfPassage);
                                    }
                              }
                        }
                       
                        // Merge-Job ausführen
                        t_mergeJob.execute();
                       
                        // Fehlerbehandlung
                        int t_Error = ((Integer)t_mergeJob.getProperty(
                              ICibMergeJob.PROPERTY_ERROR)).intValue();
                              ICibMergeJob.PROPERTY_ERROR)).intValue();
                        if (t_Error != 0) {
                              // Fehler beim Ausführen des Merge-Jobs
                              String t_Errortext =
                                  (String)t_mergeJob.getProperty(
                                      ICibMergeJob.PROPERTY_ERRORTEXT);
                                  (String)t_mergeJob.getProperty(                                       ICibMergeJob.PROPERTY_ERRORTEXT);
                              Trace.traceln("Error executing merge job: "                                     + t_Error + " " + t_Errortext);
                        }
                  }
            } catch (Exception e) {
                // Fehlerbehandlung
                  Trace.traceln("Save RTF + fields with CIB merge failed.\n"
                        + "Please check the installation of cibmrg32.dll.");
                  e.printStackTrace();
            }
    }
}

Interface CustomCloseDialogInfo zum Austausch von Informationen für den CustomCloseDialogCallback


Die Datenstruktur CustomCloseDialogInfo dient zum Austausch von Informationen für den CustomCloseDialogCallback, sie ist im CIB jView (package de.cib.view.modules) definiert. 

Interface CustomCloseDialogInfo:

package
de.cib.view.modules;
 
/**
 * Interface describing the data structure for custom close dialog
 * with information to form and sign fields.
 *
 */
public interface CustomCloseDialogInfo {
 
      /**
       * Returns whether the form is changed or not
       * @return boolean flag
       */
      boolean isFormChanged();
     
      /**
       * Gets the unsigned mandatory field count
       * @return number of unsigned mandatory fields
       */
      int getUnsignedMandatorySignatureCount();
     
      /**
       * Gets the unsigned optional field count
       * @return number of unsigned optional fields
       */
      int getUnsignedOptionalSignatureCount();
}

 

Das Interface CustomCloseDialogCallback ist im CIB jView (package de.cib.view.modules) definiert und umfasst folgende Methoden.

Interface CustomCloseDialogCallback:

package
de.cib.view.modules;
 
/**
 * Interface defining the callback for custom close dialog
 *
 */
public interface CustomCloseDialogCallback {
           
      /**
       * Method showCustomCloseDialog
       * @param customCloseDialogInfo interface to read form&sign data
       * @return returnCode of CustomCloseDialog
       *  0 - Yes
       *  1 - No
       *  2 - Cancel
       */
      public int showCustomCloseDialog(
CustomCloseDialogInfo customCloseDialogInfo);
 
}

 

Der Aufrufer muss sich dazu bei der JView-Instanz als Listener anmelden, dazu ein Code-Beispiel:

//
register CustomCloseDialogCallback
viewer.setCustomCloseDialogCallback(new CustomCloseDialogCallback() {
      @Override
      public int showCustomCloseDialog(
CustomCloseDialogInfo customCloseDialog) {
            int unsignedMandatoryCount = customCloseDialog
            .getUnsignedMandatorySignatureCount();
            int unsignedOptionalCount = customCloseDialog
.getUnsignedOptionalSignatureCount();
            int unsignedSignatureCount = unsignedMandatoryCount
                  + unsignedOptionalCount;
            String message = "";
            if (customCloseDialog.isFormChanged())
                  message = "Das Dokument enthält Änderungen an Formularfeldern, die noch nicht gespeichert wurden.";
 
            if (unsignedSignatureCount > 0) {
                  if (!message.isEmpty())
                        message += "\n";
                  message += "Das Dokument enthält noch %1 zu signierende(s) Feld(er), %2 Pflicht- und %3 optionale Feld(er).";
                  message = message.replaceFirst("%1",
                  String.valueOf(unsignedSignatureCount));
                  String.valueOf(unsignedSignatureCount));
                  message = message.replaceFirst("%2",                   String.valueOf(unsignedMandatoryCount));
                  message = message.replaceFirst("%3",                   String.valueOf(unsignedOptionalCount));
            }
            if (message.isEmpty())
                  return JCibOptionPane.YES_OPTION;
 
            message += "\nMöchten Sie die Bearbeitung trotzdem beenden?";
            return JCibOptionPane.showYesNoDialog(                   viewer, message,"Rückfrage"));
      }
});

  

Methode zur Abfrage des Rückgabewerts beim Beenden-Dialog:

In der Viewer-Instanz (Klasse JCibView) ist die Methode getCloseAction() verfügbar, die den Rückgabewert des Beenden-Dialogs liefert.

int closeDialogButton = viewer.getCloseAction();

Mögliche Werte (siehe auch CustomCloseDialogCallback):

 0 – Ja
 1 – Nein
 2 – Abbrechen
-1 – Vorbelegung (Dialog wurde nicht geöffnet)

Code-Beispiel für die Abfrage des gedrückten Buttons nach dem Beenden im Exit-Hook:

viewer.setExitHook(new Runnable() {
      public void run() {
            // do post processing here
            viewer.stop();
            // unregister FormFieldCallback Listener
      viewer.setFormFieldCallback(null);
            // Unregister SignFieldCallback Listener
      viewer.setSignFieldCallback(null);
 
            int closeDialogButton = viewer.getCloseAction();
            System.out.println("The following button was pressed in the close dialog: " + closeDialogButton);
      } });


Einbindung in eine Java SWT-Applikation

Um JCibView in eine SWT-Applikation zu integrieren, müssen einige Besonderheiten beachtet werden. JCibView muss in einen AWT-Frame eingebettet werden, der als oberstes Objekt eine Instanz von RootPaneContainer (z.B. JApplet) enthält. In diesen RootPaneContainer werden dann alle weiteren Komponenten eingefügt.

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Frame;
 
import javax.swing.JApplet;
import javax.swing.SwingUtilities;
 
import org.eclipse.swt.SWT;
import org.eclipse.swt.awt.SWT_AWT;
import org.eclipse.swt.layout.FillLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
 
import de.cib.gui.framework.ICibApplication;
import de.cib.view.JCibView;
 
public class JViewInSWT {
 
      public static final String TEST_FILENAME = "c://tmp//testdoc.rtf";
 
      public static void main(String[] args)
      {
            final Display display = new Display();
            final Shell shell = new Shell(display);
            shell.setLayout(new FillLayout());
            shell.setText("Shell for JView integriert in SWT");
            Composite composite = new Composite(shell, SWT.NO_BACKGROUND
                  | SWT.EMBEDDED);
           
            /*
             * Set a Windows specific AWT property that prevents
             * heavyweight components from erasing their background.
             * Note that this is a global property and cannot be scoped.
             * It might not be suitable for your application.
             */
            try {
                System.setProperty("sun.awt.noerasebackground", "true");
            }
            catch (NoSuchMethodError error) {
            }
           
            /* Create and set up frame */
            // Use an embedded frame for SWT/AWT integration
            Frame frame = SWT_AWT.new_Frame(composite);
            final JCibView viewer = new JCibView(frame);
           
            // SWT/AWT needs a RootPaneContainer as intermediate object,
            // for example a JApplet object.
            JApplet applet = new JApplet();
            frame.add(applet);
           
            // Get content pane from the applet
            Container contentPane = applet.getContentPane();
            contentPane.setLayout(new BorderLayout());
      contentPane.add(viewer.getJMenuBar(), BorderLayout.NORTH);
            contentPane.add(viewer, BorderLayout.CENTER);
            contentPane.setVisible(true);
           
            frame.pack();
            frame.setVisible(true);
 
            viewer.setVisible(true);
 
            // Set input file (optional)
      viewer.setProperty(ICibApplication.PROPERTY_INPUTFILE,                               TEST_FILENAME);
      viewer.setProperty(ICibApplication.PROPERTY_TITLE,                   "CIB JView integriert in SWT");
           
            viewer.start();
            viewer.load();
           
            shell.open();
           
            // Grab focus after shell open using invokeLater
           SwingUtilities.invokeLater(new Runnable()
            {
                  public void run()
                  {
                        viewer.grabFocus();
                  }
            });
           
            while (!shell.isDisposed()) {
                  if (!display.readAndDispatch())
                        display.sleep();
            }
           
            display.dispose();
      }
}