You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by je...@apache.org on 2006/11/12 16:38:46 UTC
svn commit: r473976 - in /xmlgraphics/fop/trunk:
src/java/org/apache/fop/render/awt/viewer/PreviewDialog.java
src/java/org/apache/fop/render/awt/viewer/PreviewPanel.java status.xml
Author: jeremias
Date: Sun Nov 12 07:38:45 2006
New Revision: 473976
URL: http://svn.apache.org/viewvc?view=rev&rev=473976
Log:
Bugzilla #40813:
1. The PreviewDialog did not display correctly under certain Window managers
(this is actually a bug in Sun's JVM).
2. Keyboard shortcuts are added for PageUp/PageDown (prev/next page), Home
(first page) and End (last page).
3. PreviewPanel.setPage() scrolls to the selected page.
Submitted by: Richard Wheeldon <richardw.at.geoquip-rnd.demon.co.uk>
Modified:
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/awt/viewer/PreviewDialog.java
xmlgraphics/fop/trunk/src/java/org/apache/fop/render/awt/viewer/PreviewPanel.java
xmlgraphics/fop/trunk/status.xml
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/awt/viewer/PreviewDialog.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/awt/viewer/PreviewDialog.java?view=diff&rev=473976&r1=473975&r2=473976
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/awt/viewer/PreviewDialog.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/awt/viewer/PreviewDialog.java Sun Nov 12 07:38:45 2006
@@ -41,17 +41,21 @@
import java.text.DecimalFormat;
+import javax.swing.ActionMap;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
+import javax.swing.InputMap;
import javax.swing.JComboBox;
-import javax.swing.JRadioButtonMenuItem;
+import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
+import javax.swing.JRadioButtonMenuItem;
import javax.swing.JToolBar;
+import javax.swing.KeyStroke;
import javax.swing.SwingUtilities;
import javax.swing.UIManager;
@@ -155,6 +159,8 @@
//Sets size to be 61%x90% of the screen size
Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
+ // Needed due to bug in Sun's JVM 1.5 (6429775)
+ pack();
//Rather frivolous size - fits A4 page width in 1024x768 screen on my desktop
setSize(screen.width * 61 / 100, screen.height * 9 / 10);
@@ -162,6 +168,18 @@
previewPanel = new PreviewPanel(foUserAgent, renderable, renderer);
getContentPane().add(previewPanel, BorderLayout.CENTER);
+ // Keyboard shortcuts - pgup/pgdn
+ InputMap im = previewPanel.getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
+ ActionMap am = previewPanel.getActionMap();
+ im.put(KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_DOWN, 0), "nextPage");
+ im.put(KeyStroke.getKeyStroke(KeyEvent.VK_PAGE_UP, 0), "prevPage");
+ im.put(KeyStroke.getKeyStroke(KeyEvent.VK_HOME, 0), "firstPage");
+ im.put(KeyStroke.getKeyStroke(KeyEvent.VK_END, 0), "lastPage");
+ previewPanel.getActionMap().put("nextPage", nextPageAction);
+ previewPanel.getActionMap().put("prevPage", previousPageAction);
+ previewPanel.getActionMap().put("firstPage", firstPageAction);
+ previewPanel.getActionMap().put("lastPage", lastPageAction);
+
//Scaling combobox
scale = new JComboBox();
scale.addItem(translator.getString("Menu.Fit.Window"));
@@ -510,23 +528,7 @@
/** Scales page image */
public void setScale(double scaleFactor) {
-// if (scaleFactor == 25.0) {
-// scale.setSelectedIndex(0);
-// } else if (scaleFactor == 50.0) {
-// scale.setSelectedIndex(1);
-// } else if (scaleFactor == 75.0) {
-// scale.setSelectedIndex(2);
-// } else if (scaleFactor == 100.0) {
-// scale.setSelectedIndex(3);
-// } else if (scaleFactor == 150.0) {
-// scale.setSelectedIndex(4);
-// } else if (scaleFactor == 200.0) {
-// scale.setSelectedIndex(5);
-// } else if (scaleFactor == 400.0) {
-// scale.setSelectedIndex(6);
-// } else {
scale.setSelectedItem(percentFormat.format(scaleFactor) + "%");
-// }
previewPanel.setScaleFactor(scaleFactor / 100d);
}
Modified: xmlgraphics/fop/trunk/src/java/org/apache/fop/render/awt/viewer/PreviewPanel.java
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/java/org/apache/fop/render/awt/viewer/PreviewPanel.java?view=diff&rev=473976&r1=473975&r2=473976
==============================================================================
--- xmlgraphics/fop/trunk/src/java/org/apache/fop/render/awt/viewer/PreviewPanel.java (original)
+++ xmlgraphics/fop/trunk/src/java/org/apache/fop/render/awt/viewer/PreviewPanel.java Sun Nov 12 07:38:45 2006
@@ -61,11 +61,13 @@
* renderer and add it to your gui:
* </p>
* <pre>
+ * FopFactory fopFactory = FopFactory.newInstance();
* AWTRenderer renderer = new AWTRenderer();
- * FOUserAgent agent = new FOUserAgent();
+ * FOUserAgent agent = fopFactory.newFOUserAgent();
* agent.setRendererOverride(renderer);
* renderer.setPreviewDialogDisplayed(false);
* renderer.setUserAgent(agent);
+ * renderer.setUserAgent(agent);
* previewPanel = new PreviewPanel(agent, null, renderer);
* previewPanel = new PreviewPanel(ua);
* myGui.add(previewPanel);
@@ -183,8 +185,8 @@
*/
public void setPage(int number) {
if (displayMode == CONTINUOUS || displayMode == CONT_FACING) {
- // FIXME Should scroll so page is visible
currentPage = number;
+ gridPanel.scrollRectToVisible(pagePanels[currentPage].getBounds());
} else { // single page mode
currentPage = number;
firstPage = currentPage;
Modified: xmlgraphics/fop/trunk/status.xml
URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/status.xml?view=diff&rev=473976&r1=473975&r2=473976
==============================================================================
--- xmlgraphics/fop/trunk/status.xml (original)
+++ xmlgraphics/fop/trunk/status.xml Sun Nov 12 07:38:45 2006
@@ -28,6 +28,10 @@
<changes>
<release version="FOP Trunk">
+ <action context="Code" dev="JM" type="update" fixes-bug="40813" due-to="Richard Wheeldon">
+ Minor fixes and improvements for the AWT Preview (keyboard shortcuts, scrolling, windows
+ setup).
+ </action>
<action context="Code" dev="JM" type="add" fixes-bug="40849" due-to="Dominic Brügger">
Added support for SVG in fo:instream-foreign objects for RTF output.
</action>
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-commits-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: fop-commits-help@xmlgraphics.apache.org