svn commit: r1693855 - in /pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools: PDFDebugger.java pdfdebugger/streampane/StreamTextView.java pdfdebugger/ui/textsearcher/SearchPanel.java pdfdebugge

2015-08-02 Thread jahewson
Author: jahewson
Date: Mon Aug  3 04:26:52 2015
New Revision: 1693855

URL: http://svn.apache.org/r1693855
Log:
PDFBOX-2530: Clean up Find menu UI

Modified:
pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFDebugger.java

pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane/StreamTextView.java

pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/ui/textsearcher/SearchPanel.java

pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/ui/textsearcher/Searcher.java

Modified: 
pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFDebugger.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFDebugger.java?rev=1693855r1=1693854r2=1693855view=diff
==
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFDebugger.java 
(original)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFDebugger.java 
Mon Aug  3 04:26:52 2015
@@ -25,6 +25,7 @@ import java.awt.datatransfer.Transferabl
 import java.awt.datatransfer.UnsupportedFlavorException;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.InputEvent;
 import java.awt.event.KeyEvent;
 import java.awt.event.WindowEvent;
 import java.io.ByteArrayOutputStream;
@@ -41,6 +42,7 @@ import java.util.Set;
 import javax.swing.AbstractAction;
 import javax.swing.Action;
 import javax.swing.JComponent;
+import javax.swing.JFrame;
 import javax.swing.JMenu;
 import javax.swing.JMenuItem;
 import javax.swing.JOptionPane;
@@ -90,33 +92,69 @@ import org.apache.pdfbox.tools.util.File
 import org.apache.pdfbox.tools.util.RecentFiles;
 
 /**
- *
+ * PDF Debugger.
+ * 
  * @author wurtz
  * @author Ben Litchfield
  */
-public class PDFDebugger extends javax.swing.JFrame
+public class PDFDebugger extends JFrame
 {
-private TreeStatusPane statusPane;
-private RecentFiles recentFiles;
-private boolean isPageMode;
-
-private PDDocument document;
-private String currentFilePath;
-
 private static final SetCOSName SPECIALCOLORSPACES =
-new HashSet(Arrays.asList(COSName.INDEXED, COSName.SEPARATION, 
COSName.DEVICEN));
+new HashSetCOSName(Arrays.asList(COSName.INDEXED, 
COSName.SEPARATION, COSName.DEVICEN));
 
 private static final SetCOSName OTHERCOLORSPACES =
-new HashSet(Arrays.asList(COSName.ICCBASED, COSName.PATTERN, 
COSName.CALGRAY, COSName.CALRGB, COSName.LAB));
+new HashSetCOSName(Arrays.asList(COSName.ICCBASED, 
COSName.PATTERN, COSName.CALGRAY,
+ COSName.CALRGB, COSName.LAB));
 
 private static final String PASSWORD = -password;
 
 private static final int SHORCUT_KEY_MASK =
 Toolkit.getDefaultToolkit().getMenuShortcutKeyMask();
 
+private TreeStatusPane statusPane;
+private RecentFiles recentFiles;
+private boolean isPageMode;
+
+private PDDocument document;
+private String currentFilePath;
+
 private static final String OS_NAME = 
System.getProperty(os.name).toLowerCase();
 private static final boolean IS_MAC_OS = OS_NAME.startsWith(mac os x);
 
+private JScrollPane jScrollPane1;
+private JScrollPane jScrollPane2;
+private javax.swing.JSplitPane jSplitPane1;
+private javax.swing.JTextPane jTextPane1;
+private Tree tree;
+private final JPanel documentPanel = new JPanel();
+private javax.swing.JMenuBar menuBar;
+
+// file menu
+private JMenu fileMenu;
+private JMenuItem openMenuItem;
+private JMenuItem openUrlMenuItem;
+private JMenuItem saveAsMenuItem;
+private JMenuItem saveMenuItem;
+private JMenu recentFilesMenu;
+private JMenuItem exitMenuItem;
+
+// edit menu
+private JMenu editMenu;
+private JMenuItem copyMenuItem;
+private JMenuItem pasteMenuItem;
+private JMenuItem cutMenuItem;
+private JMenuItem deleteMenuItem;
+
+// edit  find meu
+private JMenu findMenu;
+private JMenuItem findMenuItem;
+private JMenuItem findNextMenuItem;
+private JMenuItem findPreviousMenuItem;
+
+// view menu
+private JMenu viewMenu;
+private JMenuItem viewModeItem;
+
 /**
  * Constructor.
  */
@@ -139,26 +177,9 @@ public class PDFDebugger extends javax.s
 jScrollPane2 = new JScrollPane();
 jTextPane1 = new javax.swing.JTextPane();
 menuBar = new javax.swing.JMenuBar();
-fileMenu = new JMenu();
-openMenuItem = new JMenuItem();
-openUrlMenuItem = new JMenuItem();
-saveMenuItem = new JMenuItem();
-saveAsMenuItem = new JMenuItem();
-recentFilesMenu = new JMenu();
-exitMenuItem = new JMenuItem();
-editMenu = new JMenu();
-cutMenuItem = new JMenuItem();
-copyMenuItem = new JMenuItem();
-pasteMenuItem = new JMenuItem();
-  

svn commit: r1693809 - /pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFDebugger.java

2015-08-02 Thread tilman
Author: tilman
Date: Sun Aug  2 12:09:18 2015
New Revision: 1693809

URL: http://svn.apache.org/r1693809
Log:
PDFBOX-2530: add Open URL menu item

Modified:
pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFDebugger.java

Modified: 
pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFDebugger.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFDebugger.java?rev=1693809r1=1693808r2=1693809view=diff
==
--- pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFDebugger.java 
(original)
+++ pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFDebugger.java 
Sun Aug  2 12:09:18 2015
@@ -33,6 +33,7 @@ import java.io.FilenameFilter;
 import java.io.IOException;
 import java.io.InputStream;
 import java.lang.reflect.Method;
+import java.net.URL;
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
@@ -140,6 +141,7 @@ public class PDFDebugger extends javax.s
 menuBar = new javax.swing.JMenuBar();
 fileMenu = new JMenu();
 openMenuItem = new JMenuItem();
+openUrlMenuItem = new JMenuItem();
 saveMenuItem = new JMenuItem();
 saveAsMenuItem = new JMenuItem();
 recentFilesMenu = new JMenu();
@@ -220,6 +222,26 @@ public class PDFDebugger extends javax.s
 });
 
 fileMenu.add(openMenuItem);
+
+openUrlMenuItem.setText(Open URL...);
+openUrlMenuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, 
SHORCUT_KEY_MASK));
+openUrlMenuItem.addActionListener(new ActionListener()
+{
+@Override
+public void actionPerformed(ActionEvent evt)
+{
+String urlString = JOptionPane.showInputDialog(Enter an URL);
+try
+{
+readPDFurl(urlString, );
+}
+catch (IOException e)
+{
+throw new RuntimeException(e);
+}
+}
+});
+fileMenu.add(openUrlMenuItem);
 
 saveMenuItem.setText(Save);
 
@@ -817,7 +839,10 @@ public class PDFDebugger extends javax.s
 try
 {
 document.close();
-recentFiles.addFile(currentFilePath);
+if (!currentFilePath.startsWith(http))
+{
+recentFiles.addFile(currentFilePath);
+}
 recentFiles.close();
 }
 catch( IOException e )
@@ -838,7 +863,10 @@ public class PDFDebugger extends javax.s
 try
 {
 document.close();
-recentFiles.addFile(currentFilePath);
+if (!currentFilePath.startsWith(http))
+{
+recentFiles.addFile(currentFilePath);
+}
 recentFiles.close();
 }
 catch( IOException e )
@@ -925,7 +953,10 @@ public class PDFDebugger extends javax.s
 if( document != null )
 {
 document.close();
-recentFiles.addFile(currentFilePath);
+if (!currentFilePath.startsWith(http))
+{
+recentFiles.addFile(currentFilePath);
+}
 }
 currentFilePath = file.getPath();
 recentFiles.removeFile(file.getPath());
@@ -945,6 +976,33 @@ public class PDFDebugger extends javax.s
 addRecentFileItems();
 }
 
+private void readPDFurl(String urlString, String password) throws 
IOException
+{
+if (document != null)
+{
+document.close();
+if (!currentFilePath.startsWith(http))
+{
+recentFiles.addFile(currentFilePath);
+}
+}
+currentFilePath = urlString;
+URL url = new URL(urlString);
+document = PDDocument.load(url.openStream(), password);
+
+initTree();
+
+if (IS_MAC_OS)
+{
+setTitle(urlString);
+}
+else
+{
+setTitle(PDF Debugger -  + urlString);
+}
+addRecentFileItems();
+}
+
 private void initTree()
 {
 TreeStatus treeStatus = new 
TreeStatus(document.getDocument().getTrailer());
@@ -1046,6 +1104,7 @@ public class PDFDebugger extends javax.s
 private Tree tree;
 private javax.swing.JMenuBar menuBar;
 private JMenuItem openMenuItem;
+private JMenuItem openUrlMenuItem;
 private JMenuItem pasteMenuItem;
 private JMenuItem saveAsMenuItem;
 private JMenuItem saveMenuItem;




svn commit: r1693804 - in /pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/ui: RotationMenu.java ZoomMenu.java

2015-08-02 Thread tilman
Author: tilman
Date: Sun Aug  2 10:59:33 2015
New Revision: 1693804

URL: http://svn.apache.org/r1693804
Log:
PDFBOX-2530: make class final

Modified:

pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/ui/RotationMenu.java

pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/ui/ZoomMenu.java

Modified: 
pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/ui/RotationMenu.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/ui/RotationMenu.java?rev=1693804r1=1693803r2=1693804view=diff
==
--- 
pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/ui/RotationMenu.java
 (original)
+++ 
pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/ui/RotationMenu.java
 Sun Aug  2 10:59:33 2015
@@ -29,7 +29,7 @@ import javax.swing.JRadioButtonMenuItem;
  * To act upon the menu item selection user of the class must add 
ActionListener which will check for
  * the action command and act accordingly.
  */
-public class RotationMenu extends MenuBase
+public final class RotationMenu extends MenuBase
 {
 public static final String ROTATE_0_DEGREES = 0°;
 public static final String ROTATE_90_DEGREES = 90°;

Modified: 
pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/ui/ZoomMenu.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/ui/ZoomMenu.java?rev=1693804r1=1693803r2=1693804view=diff
==
--- 
pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/ui/ZoomMenu.java
 (original)
+++ 
pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/ui/ZoomMenu.java
 Sun Aug  2 10:59:33 2015
@@ -28,7 +28,7 @@ import javax.swing.JRadioButtonMenuItem;
  * To act upon the menu item selection user of the class must add 
ActionListener which will check for
  * the action command and act accordingly.
  */
-public class ZoomMenu extends MenuBase
+public final class ZoomMenu extends MenuBase
 {
 public static final String ZOOM_50_PERCENT = 50%;
 public static final String ZOOM_100_PERCENT = 100%;




svn commit: r1693821 - in /pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane: StreamPane.java StreamTextView.java tooltip/FontToolTip.java

2015-08-02 Thread jahewson
Author: jahewson
Date: Sun Aug  2 18:39:13 2015
New Revision: 1693821

URL: http://svn.apache.org/r1693821
Log:
PDFBOX-2530: Full syntax highlighting and nesting

Modified:

pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane/StreamPane.java

pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane/StreamTextView.java

pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane/tooltip/FontToolTip.java

Modified: 
pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane/StreamPane.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane/StreamPane.java?rev=1693821r1=1693820r2=1693821view=diff
==
--- 
pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane/StreamPane.java
 (original)
+++ 
pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/pdfdebugger/streampane/StreamPane.java
 Sun Aug  2 18:39:13 2015
@@ -17,6 +17,7 @@
 
 package org.apache.pdfbox.tools.pdfdebugger.streampane;
 
+import java.awt.Color;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.io.ByteArrayOutputStream;
@@ -29,19 +30,25 @@ import javax.swing.JPanel;
 import javax.swing.SwingWorker;
 import javax.swing.text.BadLocationException;
 import javax.swing.text.DefaultStyledDocument;
+import javax.swing.text.Style;
+import javax.swing.text.StyleConstants;
+import javax.swing.text.StyleContext;
 import javax.swing.text.StyledDocument;
 import org.apache.pdfbox.contentstream.operator.Operator;
 import org.apache.pdfbox.cos.COSArray;
 import org.apache.pdfbox.cos.COSBase;
 import org.apache.pdfbox.cos.COSBoolean;
 import org.apache.pdfbox.cos.COSDictionary;
+import org.apache.pdfbox.cos.COSFloat;
 import org.apache.pdfbox.cos.COSName;
+import org.apache.pdfbox.cos.COSNumber;
 import org.apache.pdfbox.cos.COSStream;
 import org.apache.pdfbox.cos.COSString;
 import org.apache.pdfbox.io.IOUtils;
 import org.apache.pdfbox.pdfparser.PDFStreamParser;
 import org.apache.pdfbox.pdmodel.PDResources;
 import 
org.apache.pdfbox.tools.pdfdebugger.streampane.tooltip.ToolTipController;
+import org.apache.pdfbox.util.Charsets;
 
 /**
  * @author Khyrul Bashar
@@ -50,6 +57,32 @@ import org.apache.pdfbox.tools.pdfdebugg
  */
 public class StreamPane implements ActionListener
 {
+public static final String BEGIN_TEXT_OBJECT = BT;
+public static final String END_TEXT_OBJECT = ET;
+public static final String SAVE_GRAPHICS_STATE = q;
+public static final String RESTORE_GRAPHICS_STATE = Q;
+public static final String INLINE_IMAGE_BEGIN = BI;
+public static final String IMAGE_DATA = ID;
+public static final String INLINE_IMAGE_END = EI;
+
+private static final StyleContext CONTEXT = 
StyleContext.getDefaultStyleContext();
+private static final Style OPERATOR_STYLE = CONTEXT.addStyle(operator, 
null);
+private static final Style NUMBER_STYLE = CONTEXT.addStyle(number, null);
+private static final Style STRING_STYLE = CONTEXT.addStyle(string, null);
+private static final Style ESCAPE_STYLE = CONTEXT.addStyle(escape, null);
+private static final Style NAME_STYLE = CONTEXT.addStyle(name, null);
+private static final Style INLINE_IMAGE_STYLE = 
CONTEXT.addStyle(inline_image, null);
+
+static
+{
+StyleConstants.setForeground(OPERATOR_STYLE, new Color(25, 55, 156));
+StyleConstants.setForeground(NUMBER_STYLE, new Color(51, 86, 18));
+StyleConstants.setForeground(STRING_STYLE, new Color(128, 35, 32));
+StyleConstants.setForeground(ESCAPE_STYLE, new Color(179, 49, 36));
+StyleConstants.setForeground(NAME_STYLE, new Color(140, 38, 145));
+StyleConstants.setForeground(INLINE_IMAGE_STYLE, new Color(116, 113, 
39));
+}
+
 private final StreamPaneView view;
 private final Stream stream;
 private ToolTipController tTController;
@@ -59,12 +92,13 @@ public class StreamPane implements Actio
 /**
  * Constructor.
  *
- * @param cosStream   COSStream instance.
+ * @param cosStream COSStream instance.
  * @param isContentStream boolean instance. This says if a stream is 
content stream or not.
- * @param isThumb boolean instance. This says if a stream is an thumbnail 
image or not.
- * @param resourcesDicCOSDictionary instance that holds the resource 
dictionary for the stream.
+ * @param isThumb This says if a stream is an thumbnail image or not.
+ * @param resourcesDic COSDictionary instance that holds the resource 
dictionary for the stream.
  */
-public StreamPane(COSStream cosStream, boolean isContentStream, boolean 
isThumb, COSDictionary resourcesDic)
+public StreamPane(COSStream cosStream, boolean isContentStream, boolean 
isThumb,
+  COSDictionary 

svn commit: r1693823 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/Filter.java

2015-08-02 Thread tilman
Author: tilman
Date: Sun Aug  2 20:09:01 2015
New Revision: 1693823

URL: http://svn.apache.org/r1693823
Log:
PDFBOX-2530: javadoc

Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/Filter.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/Filter.java
URL: 
http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/Filter.java?rev=1693823r1=1693822r2=1693823view=diff
==
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/Filter.java 
(original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/filter/Filter.java Sun 
Aug  2 20:09:01 2015
@@ -41,6 +41,9 @@ public abstract class Filter
 {
 private static final Log LOG = LogFactory.getLog(Filter.class);
 
+/**
+ * Constructor.
+ */
 protected Filter()
 {
 }




svn propchange: r1693823 - svn:log

2015-08-02 Thread tilman
Author: tilman
Revision: 1693823
Modified property: svn:log

Modified: svn:log at Sun Aug  2 20:28:46 2015
--
--- svn:log (original)
+++ svn:log Sun Aug  2 20:28:46 2015
@@ -1 +1 @@
-PDFBOX-2530: javadoc
+PDFBOX-2852: javadoc