diff options
author | tkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7> | 2013-04-10 19:04:33 +0000 |
---|---|---|
committer | tkellner <tkellner@174cde9d-5d70-4d2a-aa98-46368bc2aaf7> | 2013-04-10 19:04:33 +0000 |
commit | 127ce4575f2b36c64b3ae0c223f9061c038644e4 (patch) | |
tree | e9bdfcc28f004c75b00e03e9ef56aa2c16cde319 | |
parent | 8a8d34e06e6792e04d05828e74dac1f9aef746c1 (diff) | |
download | pdf-over-127ce4575f2b36c64b3ae0c223f9061c038644e4.tar.gz pdf-over-127ce4575f2b36c64b3ae0c223f9061c038644e4.tar.bz2 pdf-over-127ce4575f2b36c64b3ae0c223f9061c038644e4.zip |
Add scrollbar to pdf preview
git-svn-id: https://joinup.ec.europa.eu/svn/pdf-over/trunk@114 174cde9d-5d70-4d2a-aa98-46368bc2aaf7
-rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/PositioningComposite.java | 30 |
1 files changed, 27 insertions, 3 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 7d461772..9528dd1e 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 @@ -31,7 +31,12 @@ import org.eclipse.swt.awt.SWT_AWT; import org.eclipse.swt.events.KeyAdapter; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.KeyListener; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent; +import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Display; +import org.eclipse.swt.widgets.ScrollBar; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -57,12 +62,14 @@ public class PositioningComposite extends StateComposite { private Frame frame = null; - int currentPage; + int currentPage = 0; - int numPages; + int numPages = 0; private SignaturePosition position = null; + ScrollBar scrollbar = null; + /** * Set the PDF Document to display * @param document document to display @@ -84,6 +91,7 @@ public class PositioningComposite extends StateComposite { else this.viewer.setDocument(this.pdf); this.numPages = this.pdf.getNumPages(); + this.scrollbar.setValues(1, 1, this.numPages + 1, 1, 1, 1); showPage(this.numPages); } @@ -94,11 +102,14 @@ public class PositioningComposite extends StateComposite { * @param state */ public PositioningComposite(Composite parent, int style, State state) { - super(parent, style | SWT.EMBEDDED, state); + super(parent, style | SWT.EMBEDDED | SWT.V_SCROLL, state); //this.setLayout(null); + this.setBounds(0, 0, 10, 10); + this.scrollbar = this.getVerticalBar(); this.frame = SWT_AWT.new_Frame(this); this.addKeyListener(this.keyListener); this.frame.addMouseWheelListener(this.mouseListener); + this.scrollbar.addSelectionListener(this.selectionListener); } private KeyListener keyListener = new KeyAdapter() { @@ -158,8 +169,21 @@ public class PositioningComposite extends StateComposite { } }; + private SelectionListener selectionListener = new SelectionAdapter() { + @Override + public void widgetSelected(SelectionEvent e) { + PositioningComposite.this.showPage(PositioningComposite.this.scrollbar.getSelection()); + } + }; + void showPage(int page) { this.currentPage = page; + Display.getDefault().syncExec(new Runnable() { + @Override + public void run() { + PositioningComposite.this.scrollbar.setSelection(PositioningComposite.this.currentPage); + } + }); this.viewer.showPage(page); } |