From 77fcccbfb250f8b762302a62bfe5b2b4870f8a6f Mon Sep 17 00:00:00 2001 From: tkellner Date: Wed, 10 Apr 2013 18:55:44 +0000 Subject: Display PDF Document git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@43 174cde9d-5d70-4d2a-aa98-46368bc2aaf7 --- .../gui/composites/PositioningComposite.java | 39 ++++++++++++++++------ .../gui/workflow/states/PositioningState.java | 22 ++++++++++-- 2 files changed, 48 insertions(+), 13 deletions(-) diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/PositioningComposite.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/PositioningComposite.java index da18bb49..559c6b26 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/PositioningComposite.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/PositioningComposite.java @@ -16,12 +16,17 @@ package at.asit.pdfover.gui.composites; // Imports +import java.io.File; +import java.io.IOException; + import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Label; +import org.icepdf.core.exceptions.PDFException; +import org.icepdf.core.exceptions.PDFSecurityException; import at.asit.pdfover.gui.workflow.states.State; import at.asit.pdfover.signator.SignaturePosition; @@ -32,6 +37,22 @@ import at.asit.pdfover.signator.SignaturePosition; */ public class PositioningComposite extends StateComposite { + private PDFViewerComposite viewer = null; + + /** + * Set the PDF Document to display + * @param document document to display + * @throws PDFException Error parsing PDF document + * @throws PDFSecurityException Error decrypting PDF document (not supported) + * @throws IOException I/O Error + */ + public void displayDocument(File document) throws PDFException, PDFSecurityException, IOException { + if (this.viewer == null) + this.viewer = new PDFViewerComposite(this, SWT.EMBEDDED | SWT.NO_BACKGROUND, document); + else + this.viewer.setDocument(document); + } + /** * Selection listener when position was fixed */ @@ -76,16 +97,12 @@ public class PositioningComposite extends StateComposite { */ public PositioningComposite(Composite parent, int style, State state) { super(parent, style, state); - - - Label test = new Label(this, SWT.NATIVE); - test.setBounds(10, 20, 100, 30); - test.setText("POSITIONING ---- TODO!!"); - - Button btn_position = new Button(this, SWT.NATIVE | SWT.RESIZE); - btn_position.setBounds(10, 50, 100, 30); - btn_position.setText("FAKE Position"); - btn_position.addSelectionListener(new PositionSelectedListener()); + this.setLayout(new FillLayout()); + +// Button btn_position = new Button(this, SWT.NATIVE | SWT.RESIZE); +// btn_position.setBounds(10, 50, 100, 30); +// btn_position.setText("FAKE Position"); +// btn_position.addSelectionListener(new PositionSelectedListener()); } @Override diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java index 1d98ae18..1c45b2b5 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/workflow/states/PositioningState.java @@ -16,7 +16,11 @@ package at.asit.pdfover.gui.workflow.states; //Imports +import java.io.IOException; + import org.eclipse.swt.SWT; +import org.icepdf.core.exceptions.PDFException; +import org.icepdf.core.exceptions.PDFSecurityException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -47,10 +51,12 @@ public class PositioningState extends State { private PositioningComposite positionComposite = null; - private PositioningComposite getPositioningComposite() { + private PositioningComposite getPositioningComposite() throws PDFException, PDFSecurityException, IOException { if (this.positionComposite == null) { this.positionComposite = this.stateMachine.getGUIProvider().createComposite(PositioningComposite.class, SWT.RESIZE, this); + log.debug("Displaying " + stateMachine.getStatus().getDocument()); + this.positionComposite.displayDocument(this.stateMachine.getStatus().getDocument()); } return this.positionComposite; @@ -67,7 +73,19 @@ public class PositioningState extends State { if(status.getSignaturePosition() == null) { - PositioningComposite position = this.getPositioningComposite(); + PositioningComposite position = null; + try { + position = this.getPositioningComposite(); + } catch (PDFException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (PDFSecurityException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } catch (IOException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } this.stateMachine.getGUIProvider().display(position); -- cgit v1.2.3