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 2015/09/11 18:01:36 UTC
svn commit: r1702507 -
/pdfbox/trunk/tools/src/main/java/org/apache/pdfbox/tools/PDFDebugger.java
Author: tilman
Date: Fri Sep 11 16:01:35 2015
New Revision: 1702507
URL: http://svn.apache.org/r1702507
Log:
PDFBOX-2941: Keep divider position when replacing right pane
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=1702507&r1=1702506&r2=1702507&view=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 Fri Sep 11 16:01:35 2015
@@ -17,6 +17,7 @@
package org.apache.pdfbox.tools;
import java.awt.BorderLayout;
+import java.awt.Component;
import java.awt.Dimension;
import java.awt.FileDialog;
import java.awt.Toolkit;
@@ -620,7 +621,7 @@ public class PDFDebugger extends JFrame
if (jSplitPane1.getRightComponent() == null
|| !jSplitPane1.getRightComponent().equals(jScrollPane2))
{
- jSplitPane1.setRightComponent(jScrollPane2);
+ replaceRightComponent(jScrollPane2);
}
jTextPane1.setText(convertToString(selectedNode));
}
@@ -759,19 +760,19 @@ public class PDFDebugger extends JFrame
COSName csName = (COSName) arrayEntry;
if (csName.equals(COSName.SEPARATION))
{
- jSplitPane1.setRightComponent(new CSSeparation(array).getPanel());
+ replaceRightComponent(new CSSeparation(array).getPanel());
}
else if (csName.equals(COSName.DEVICEN))
{
- jSplitPane1.setRightComponent(new CSDeviceN(array).getPanel());
+ replaceRightComponent(new CSDeviceN(array).getPanel());
}
else if (csName.equals(COSName.INDEXED))
{
- jSplitPane1.setRightComponent(new CSIndexed(array).getPanel());
+ replaceRightComponent(new CSIndexed(array).getPanel());
}
else if (OTHERCOLORSPACES.contains(csName))
{
- jSplitPane1.setRightComponent(new CSArrayBased(array).getPanel());
+ replaceRightComponent(new CSArrayBased(array).getPanel());
}
}
}
@@ -795,7 +796,7 @@ public class PDFDebugger extends JFrame
if (COSName.PAGE.equals(typeItem))
{
PagePane pagePane = new PagePane(document, page);
- jSplitPane1.setRightComponent(new JScrollPane(pagePane.getPanel()));
+ replaceRightComponent(new JScrollPane(pagePane.getPanel()));
}
}
@@ -807,7 +808,7 @@ public class PDFDebugger extends JFrame
selectedNode = ((MapEntry)selectedNode).getKey();
selectedNode = getUnderneathObject(selectedNode);
FlagBitsPane flagBitsPane = new FlagBitsPane((COSDictionary) parentNode, (COSName) selectedNode);
- jSplitPane1.setRightComponent(flagBitsPane.getPane());
+ replaceRightComponent(flagBitsPane.getPane());
}
}
@@ -854,7 +855,7 @@ public class PDFDebugger extends JFrame
isThumb = true;
}
StreamPane streamPane = new StreamPane(stream, isContentStream, isThumb, resourcesDic);
- jSplitPane1.setRightComponent(streamPane.getPanel());
+ replaceRightComponent(streamPane.getPanel());
}
private void showFont(Object selectedNode, TreePath path)
@@ -867,16 +868,24 @@ public class PDFDebugger extends JFrame
if (pane == null)
{
// unsupported font type
- jSplitPane1.setRightComponent(jScrollPane2);
+ replaceRightComponent(jScrollPane2);
return;
}
+ replaceRightComponent(pane);
+ }
+
+ // replace the right component while keeping divider position
+ private void replaceRightComponent(Component pane)
+ {
+ int div = jSplitPane1.getDividerLocation();
jSplitPane1.setRightComponent(pane);
+ jSplitPane1.setDividerLocation(div);
}
private void showString(Object selectedNode)
{
COSString string = (COSString)getUnderneathObject(selectedNode);
- jSplitPane1.setRightComponent(new StringPane(string).getPane());
+ replaceRightComponent(new StringPane(string).getPane());
}
private COSName getNodeKey(Object selectedNode)