You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2016/07/22 18:13:10 UTC

svn commit: r1753825 - in /pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger: PDFDebugger.java pagepane/PagePane.java ui/ReaderBottomPanel.java

Author: tilman
Date: Fri Jul 22 18:13:10 2016
New Revision: 1753825

URL: http://svn.apache.org/viewvc?rev=1753825&view=rev
Log:
PDFBOX-2941: add status bar

Modified:
    pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
    pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java
    pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/ReaderBottomPanel.java

Modified: pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java?rev=1753825&r1=1753824&r2=1753825&view=diff
==============================================================================
--- pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java (original)
+++ pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/PDFDebugger.java Fri Jul 22 18:13:10 2016
@@ -95,6 +95,7 @@ import org.apache.pdfbox.debugger.ui.OSX
 import org.apache.pdfbox.debugger.ui.PDFTreeCellRenderer;
 import org.apache.pdfbox.debugger.ui.PDFTreeModel;
 import org.apache.pdfbox.debugger.ui.PageEntry;
+import org.apache.pdfbox.debugger.ui.ReaderBottomPanel;
 import org.apache.pdfbox.debugger.ui.RecentFiles;
 import org.apache.pdfbox.debugger.ui.RotationMenu;
 import org.apache.pdfbox.debugger.ui.Tree;
@@ -139,6 +140,7 @@ public class PDFDebugger extends JFrame
     private JScrollPane jScrollPane2;
     private javax.swing.JSplitPane jSplitPane1;
     private javax.swing.JTextPane jTextPane1;
+    private ReaderBottomPanel statusBar;
     private Tree tree;
     private final JPanel documentPanel = new JPanel();
     
@@ -237,6 +239,9 @@ public class PDFDebugger extends JFrame
 
         getContentPane().add(jSplitPane1, BorderLayout.CENTER);
 
+        statusBar = new ReaderBottomPanel();
+        getContentPane().add(statusBar, BorderLayout.SOUTH);
+
         // create menus
         JMenuBar menuBar = new JMenuBar();
         menuBar.add(createFileMenu());
@@ -603,6 +608,8 @@ public class PDFDebugger extends JFrame
             {
                 Object selectedNode = path.getLastPathComponent();
                 
+                statusBar.getStatusLabel().setText("");
+                
                 if (isPage(selectedNode))
                 {
                     showPage(selectedNode);
@@ -826,7 +833,7 @@ public class PDFDebugger extends JFrame
         COSBase typeItem = page.getItem(COSName.TYPE);
         if (COSName.PAGE.equals(typeItem))
         {
-            PagePane pagePane = new PagePane(document, page);
+            PagePane pagePane = new PagePane(document, page, statusBar.getStatusLabel());
             replaceRightComponent(new JScrollPane(pagePane.getPanel()));
         }
     }

Modified: pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java?rev=1753825&r1=1753824&r2=1753825&view=diff
==============================================================================
--- pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java (original)
+++ pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/pagepane/PagePane.java Fri Jul 22 18:13:10 2016
@@ -53,12 +53,14 @@ public class PagePane implements ActionL
     private JLabel label;
     private ZoomMenu zoomMenu;
     private RotationMenu rotationMenu;
+    private final JLabel statuslabel;
 
-    public PagePane(PDDocument document, COSDictionary page)
+    public PagePane(PDDocument document, COSDictionary page, JLabel statuslabel)
     {
         PDPage pdPage = new PDPage(page);
         pageIndex = document.getPages().indexOf(pdPage);
         this.document = document;
+        this.statuslabel = statuslabel;
         initUI();
     }
 
@@ -151,9 +153,13 @@ public class PagePane implements ActionL
         protected BufferedImage doInBackground() throws IOException
         {
             label.setIcon(null);
-            label.setText("Loading...");
+            label.setText("Rendering...");
             PDFRenderer renderer = new PDFRenderer(document);
+            long t0 = System.currentTimeMillis();
+            statuslabel.setText("Rendering...");
             BufferedImage bim = renderer.renderImage(pageIndex, scale);
+            float t = ((System.currentTimeMillis() - t0) / 1000f);
+            statuslabel.setText("Rendered in " + t + " second" + (t > 1 ? "s" : ""));
             return ImageUtil.getRotatedImage(bim, rotation);
         }
 

Modified: pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/ReaderBottomPanel.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/ReaderBottomPanel.java?rev=1753825&r1=1753824&r2=1753825&view=diff
==============================================================================
--- pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/ReaderBottomPanel.java (original)
+++ pdfbox/trunk/debugger/src/main/java/org/apache/pdfbox/debugger/ui/ReaderBottomPanel.java Fri Jul 22 18:13:10 2016
@@ -40,7 +40,7 @@ public class ReaderBottomPanel extends J
         FlowLayout flowLayout = new FlowLayout();
         this.setLayout(flowLayout);
         this.setComponentOrientation(java.awt.ComponentOrientation.LEFT_TO_RIGHT);
-        this.setPreferredSize(new Dimension(1000, 20));
+        this.setPreferredSize(new Dimension(1000, 24));
         flowLayout.setAlignment(FlowLayout.LEFT);
         statusLabel = new JLabel();
         statusLabel.setText("Ready");