keiron 2002/11/06 06:30:16 Modified: src/org/apache/fop/apps AWTStarter.java src/org/apache/fop/render/awt AWTRenderer.java src/org/apache/fop/viewer Command.java GoToPageDialog.java PreviewDialog.java PreviewDialogAboutBox.java Translator.java Added: src/org/apache/fop/viewer/Images fop.gif reload.gif src/org/apache/fop/viewer/resources Viewer.properties Viewer_cs.properties Viewer_de.properties Viewer_fi.properties Viewer_fr.properties Viewer_it.properties Viewer_ja.properties Viewer_pl.properties Viewer_ru.properties Removed: src/org/apache/fop/viewer IconToolBar.java LoadableProperties.java MessageException.java MessagesDialog.java ProgressListener.java SecureResourceBundle.java UserMessage.java src/org/apache/fop/viewer/resources messages.de messages.en resources.de resources.en resources.fi resources.fr resources.it resources.pl resources.ru Log: awt viewer improvements uses java PropertyResourceBundle for locale strings cleaned up code and removed old classes other small improvements Submitted by: Oleg Tkachenko <[EMAIL PROTECTED]> Revision Changes Path 1.16 +41 -109 xml-fop/src/org/apache/fop/apps/AWTStarter.java Index: AWTStarter.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/apps/AWTStarter.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- AWTStarter.java 25 Oct 2002 09:29:39 -0000 1.15 +++ AWTStarter.java 6 Nov 2002 14:30:15 -0000 1.16 @@ -6,136 +6,84 @@ */ package org.apache.fop.apps; -/* - * originally contributed by - * Juergen Verwohlt: [EMAIL PROTECTED], - * Rainer Steinkuhle: [EMAIL PROTECTED], - * Stanislav Gorkhover: [EMAIL PROTECTED] - * Modified to use streaming API by Mark Lillywhite, [EMAIL PROTECTED] - */ -import org.apache.fop.viewer.*; -import org.apache.fop.render.awt.*; +//FOP +import org.apache.fop.render.awt.AWTRenderer; +import org.apache.fop.viewer.PreviewDialog; +import org.apache.fop.viewer.Translator; +//Java import javax.swing.UIManager; import java.awt.*; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; +import java.util.Locale; // SAX import org.xml.sax.XMLReader; -import org.xml.sax.InputSource; -import org.xml.sax.SAXException; -import org.xml.sax.SAXParseException; - - - -// Java -import java.io.FileReader; -import java.io.File; -import java.io.FileWriter; -import java.io.PrintWriter; -import java.io.IOException; -import java.io.FileNotFoundException; -import java.io.FileInputStream; -import java.io.InputStream; -import java.net.URL; -import java.util.*; - /** - * initialize AWT previewer + * AWT Viewer starter. + * Originally contributed by: + * Juergen Verwohlt: [EMAIL PROTECTED], + * Rainer Steinkuhle: [EMAIL PROTECTED], + * Stanislav Gorkhover: [EMAIL PROTECTED] + * Modified to use streaming API by Mark Lillywhite, [EMAIL PROTECTED] */ public class AWTStarter extends CommandLineStarter { + private PreviewDialog frame; + private Translator translator; + private Driver driver; + private XMLReader parser; - PreviewDialog frame; - AWTRenderer renderer; - public static String TRANSLATION_PATH = - "/org/apache/fop/viewer/resources/"; - - private Translator resource; - - public AWTStarter(CommandLineOptions commandLineOptions) - throws FOPException { + public AWTStarter(CommandLineOptions commandLineOptions) throws FOPException { super(commandLineOptions); init(); } - private void init() { - try { - UIManager.setLookAndFeel(new javax.swing.plaf.metal.MetalLookAndFeel()); - } catch (Exception e) { - e.printStackTrace(); - } - + private void init() throws FOPException { + //Creates Translator according to the language String language = commandLineOptions.getLanguage(); - - if (language == null) { - try { - language = System.getProperty("user.language"); - } catch(SecurityException se) { - // if this is running in a secure place - } - } - resource = getResourceBundle(TRANSLATION_PATH + "resources." - + language); - - UserMessage.setTranslator(getResourceBundle(TRANSLATION_PATH - + "messages." - + language)); - - resource.setMissingEmphasized(false); - renderer = new AWTRenderer(resource); - frame = createPreviewDialog(renderer, resource); - //renderer.setProgressListener(frame); + if (language == null) + translator = new Translator(Locale.getDefault()); + else + translator = new Translator(new Locale(language, "")); + AWTRenderer renderer = new AWTRenderer(translator); + frame = createPreviewDialog(renderer, translator); renderer.setComponent(frame); - } - - - public void run() throws FOPException { - Driver driver = new Driver(); - setupLogger(driver); - - // init parser - frame.progress(resource.getString("Init parser") + " ..."); - XMLReader parser = inputHandler.getParser(); - + driver = new Driver(); + driver.setRenderer(renderer); + parser = inputHandler.getParser(); if (parser == null) { throw new FOPException("Unable to create SAX parser"); } + } - setParserFeatures(parser); - + /** + * Runs formatting. + */ + public void run() throws FOPException { + driver.reset(); try { - driver.setRenderer(renderer); - - // build FO tree: time - frame.progress(resource.getString("Build FO tree") + " ..."); + frame.setStatus(translator.getString("Status.Build.FO.tree")); driver.render(parser, inputHandler.getInputSource()); - - frame.progress(resource.getString("Show")); + frame.setStatus(translator.getString("Status.Show")); frame.showPage(); - } catch (Exception e) { - if (e instanceof FOPException) { - throw (FOPException)e; - } - throw new FOPException(e); + frame.reportException(e); } - } - protected PreviewDialog createPreviewDialog(AWTRenderer renderer, + private PreviewDialog createPreviewDialog(AWTRenderer renderer, Translator res) { - PreviewDialog frame = new PreviewDialog(renderer, res); - frame.validate(); + PreviewDialog frame = new PreviewDialog(this, renderer, res); frame.addWindowListener(new WindowAdapter() { public void windowClosed(WindowEvent we) { System.exit(0); } }); - // center window + //Centers the window Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Dimension frameSize = frame.getSize(); if (frameSize.height > screenSize.height) { @@ -149,21 +97,5 @@ frame.setVisible(true); return frame; } - - - - private SecureResourceBundle getResourceBundle(String path) { - InputStream in = null; - - try { - URL url = getClass().getResource(path); - in = url.openStream(); - } catch (Exception ex) { - getLogger().error("Can't find URL to: <" + path + "> " - + ex.getMessage(), ex); - } - return new SecureResourceBundle(in); - } - } 1.43 +2 -2 xml-fop/src/org/apache/fop/render/awt/AWTRenderer.java Index: AWTRenderer.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/render/awt/AWTRenderer.java,v retrieving revision 1.42 retrieving revision 1.43 diff -u -r1.42 -r1.43 --- AWTRenderer.java 9 Jul 2002 09:43:14 -0000 1.42 +++ AWTRenderer.java 6 Nov 2002 14:30:15 -0000 1.43 @@ -60,7 +60,7 @@ protected double scaleFactor = 100.0; protected int pageNumber = 0; protected Vector pageList = new Vector(); - protected ProgressListener progressListener = null; + //protected ProgressListener progressListener = null; protected Translator res = null; protected Hashtable fontNames = new Hashtable(); 1.8 +33 -33 xml-fop/src/org/apache/fop/viewer/Command.java Index: Command.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/viewer/Command.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- Command.java 22 Nov 2001 07:11:41 -0000 1.7 +++ Command.java 6 Nov 2002 14:30:15 -0000 1.8 @@ -6,60 +6,60 @@ */ package org.apache.fop.viewer; -/* - * Juergen Verwohlt: [EMAIL PROTECTED], - * Rainer Steinkuhle: [EMAIL PROTECTED], - * Stanislav Gorkhover: [EMAIL PROTECTED] - */ +//Java import java.awt.event.ActionEvent; import javax.swing.AbstractAction; import javax.swing.ImageIcon; -import java.net.*; - +import java.net.URL; /** - * Klasse für UI-Kommandos. Die Kommandos können in das Menüsystem oder - * in eine Toolbar eingefügt werden.<br> - * <code>Commands</code> unterstützen mehrsprachigkeit.<br> - * Durch überschreiben der Methode <code>doit<code> kann die Klasse customisiert werden. - * Über die Methode <code>undoit</code> kann Undo-Funktionalität unterstützt werden.<br> - * - * @author [EMAIL PROTECTED] - * @version 1.0 18.03.99 + * This class represents UI-commands, which can be used as menu or toolbar + * items<br>. + * When the <code>Command</code> object receives action event, that object's + * <code>doit</code> method is invoked. <code>doit</code> method by default + * does nothing and the class customer have to override it to implement + * any action handling logic. + * Originally contributed by: + * Juergen Verwohlt: [EMAIL PROTECTED], + * Rainer Steinkuhle: [EMAIL PROTECTED], + * Stanislav Gorkhover: [EMAIL PROTECTED] */ public class Command extends AbstractAction { - public static String IMAGE_DIR = "/org/apache/fop/viewer/Images/"; + private static String IMAGE_DIR = "Images/"; + /** + * Creates <code>Command</code> object with a given name and + * sets the name as a tooltip text. No associated icon image. + */ public Command(String name) { - this(name, (ImageIcon)null); - } - - public Command(String name, ImageIcon anIcon) { - super(name, anIcon); + super(name); + putValue(SHORT_DESCRIPTION, name); } + /** + * Creates <code>Command</code> object with a given name, the same + * tooltip text and icon image if appropriate image file is found. + */ public Command(String name, String iconName) { super(name); - String path = IMAGE_DIR + iconName + ".gif"; - URL url = getClass().getResource(path); - if (url == null) { - //log.error("Icon not found: " + path); - } else + putValue(SHORT_DESCRIPTION, name); + URL url = getClass().getResource(IMAGE_DIR + iconName + ".gif"); + if (url != null) { putValue(SMALL_ICON, new ImageIcon(url)); + } } public void actionPerformed(ActionEvent e) { doit(); } + /** + * Action handler, have to be overrided by subclasses. + */ public void doit() { - //log.error("Not implemented."); + //Do nothing } - - public void undoit() { - //log.error("Not implemented."); - } - } + 1.4 +40 -46 xml-fop/src/org/apache/fop/viewer/GoToPageDialog.java Index: GoToPageDialog.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/viewer/GoToPageDialog.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- GoToPageDialog.java 22 Nov 2001 07:11:41 -0000 1.3 +++ GoToPageDialog.java 6 Nov 2002 14:30:15 -0000 1.4 @@ -5,62 +5,53 @@ * LICENSE file included with these sources. */ -/* - * originally contributed by - * Juergen Verwohlt: [EMAIL PROTECTED], - * Rainer Steinkuhle: [EMAIL PROTECTED], - * Stanislav Gorkhover: [EMAIL PROTECTED] - */ - package org.apache.fop.viewer; import java.awt.*; import javax.swing.*; -import java.awt.event.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +/** + * Go to Page Dialog. + * Originally contributed by: + * Juergen Verwohlt: [EMAIL PROTECTED], + * Rainer Steinkuhle: [EMAIL PROTECTED], + * Stanislav Gorkhover: [EMAIL PROTECTED] + */ public class GoToPageDialog extends JDialog { - JPanel panel1 = new JPanel(); - GridBagLayout gridBagLayout1 = new GridBagLayout(); - JLabel pgNbLabel = new JLabel(); - JTextField pgNbField = new JTextField(); - JButton okButton = new JButton(); - JButton cancelButton = new JButton(); - - int pageNumber = -1; - - public GoToPageDialog(Frame frame, String title, boolean modal) { - super(frame, title, modal); - try { - jbInit(); - pack(); - } catch (Exception ex) { - //log.error("GoToPageDialog: Konstruktor: " - // + ex.getMessage(), ex); - } - } - - public GoToPageDialog() { - this(null, "", false); - } - - void jbInit() throws Exception { + private JTextField pgNbField; + private int pageNumber = -1; + + /** + * Creates modal dialog with a given title, attached to a given frame. + */ + public GoToPageDialog(Frame frame, String title, Translator translator) { + super(frame, title, true); + jbInit(translator); + pack(); + } + + private void jbInit(Translator translator) { + JPanel panel1 = new JPanel(); + GridBagLayout gridBagLayout1 = new GridBagLayout(); + JLabel pgNbLabel = new JLabel(); + pgNbField = new JTextField(); + JButton okButton = new JButton(); + JButton cancelButton = new JButton(); panel1.setLayout(gridBagLayout1); - pgNbLabel.setText("Page number"); - okButton.setText("Ok"); - okButton.addActionListener(new java.awt.event.ActionListener() { - + pgNbLabel.setText(translator.getString("Label.Page.number")); + okButton.setText(translator.getString("Button.Ok")); + okButton.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { okButton_actionPerformed(e); } - }); - cancelButton.setText("Cancel"); + cancelButton.setText(translator.getString("Button.Cancel")); cancelButton.addActionListener(new java.awt.event.ActionListener() { - public void actionPerformed(ActionEvent e) { cancelButton_actionPerformed(e); } - }); panel1.setMinimumSize(new Dimension(250, 78)); getContentPane().add(panel1); @@ -86,23 +77,26 @@ new Insets(0, 10, 10, 10), 0, 0)); } - void okButton_actionPerformed(ActionEvent e) { + private void okButton_actionPerformed(ActionEvent e) { try { pageNumber = Integer.parseInt(pgNbField.getText()); dispose(); - } catch (Exception ex) { + } catch (NumberFormatException nfe) { pgNbField.setText("???"); } } - void cancelButton_actionPerformed(ActionEvent e) { + private void cancelButton_actionPerformed(ActionEvent e) { pageNumber = -1; dispose(); } + /** + * Returns page number, entered by user. + */ public int getPageNumber() { return pageNumber; } - } + 1.12 +219 -338 xml-fop/src/org/apache/fop/viewer/PreviewDialog.java Index: PreviewDialog.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/viewer/PreviewDialog.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- PreviewDialog.java 20 Feb 2002 10:29:40 -0000 1.11 +++ PreviewDialog.java 6 Nov 2002 14:30:15 -0000 1.12 @@ -4,346 +4,298 @@ * For details on use and redistribution please refer to the * LICENSE file included with these sources. */ - + package org.apache.fop.viewer; - -/* - * originally contributed by - * Juergen Verwohlt: [EMAIL PROTECTED], - * Rainer Steinkuhle: [EMAIL PROTECTED], - * Stanislav Gorkhover: [EMAIL PROTECTED] - * Doro Wiarda ([EMAIL PROTECTED]: - * added MessageListener support and made - * the showing of the progress and error - * messages Swing thread safe. - * This is needed as xml parse errors do not - * necessarily occur in the - * EventDispatchThread. - */ - + +//Java import java.awt.*; -import java.awt.print.*; -import java.awt.event.*; -import java.awt.image.BufferedImage; -import java.util.StringTokenizer; -import java.util.ArrayList; - import javax.swing.*; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.print.PrinterJob; +import java.awt.print.PrinterException; +import java.awt.image.BufferedImage; -import org.apache.fop.layout.*; -import org.apache.fop.render.awt.*; +//FOP +import org.apache.fop.apps.AWTStarter; +import org.apache.fop.apps.FOPException; +import org.apache.fop.render.awt.AWTRenderer; /** - * Frame and User Interface for Preview + * AWT Viewer main window. + * Originally contributed by: + * Juergen Verwohlt: [EMAIL PROTECTED], + * Rainer Steinkuhle: [EMAIL PROTECTED], + * Stanislav Gorkhover: [EMAIL PROTECTED] */ -public class PreviewDialog extends JFrame implements ProgressListener { - - protected Translator res; - - protected int currentPage = 0; - protected int pageCount = 0; - +public class PreviewDialog extends JFrame { + protected Translator translator; protected AWTRenderer renderer; + protected AWTStarter starter; - protected IconToolBar toolBar = new IconToolBar(); + private int currentPage = 0; + private int pageCount = 0; + private Reloader reloader; + private JComboBox scale; + private JLabel processStatus; + private JLabel pageLabel; + private JLabel infoStatus; - protected Command printAction; - protected Command firstPageAction; - protected Command previousPageAction; - protected Command nextPageAction; - protected Command lastPageAction; - - protected JLabel zoomLabel = - new JLabel(); // {public float getAlignmentY() { return 0.0f; }}; - protected JComboBox scale = new JComboBox() { - public float getAlignmentY() { - return 0.5f; - } - - }; - - protected JScrollPane previewArea = new JScrollPane(); - // protected JLabel statusBar = new JLabel(); - protected JPanel statusBar = new JPanel(); - protected GridBagLayout statusBarLayout = new GridBagLayout(); - - protected JLabel statisticsStatus = new JLabel(); - protected JLabel processStatus = new JLabel(); - protected JLabel infoStatus = new JLabel(); - protected JLabel previewImageLabel = new JLabel(); + /** + * Creates a new PreviewDialog that uses the given starter, renderer and translator. + * @param aStarter the to use starter + * @param aRenderer the to use renderer + * @param aRes the to use translator + */ + public PreviewDialog(AWTStarter aStarter, AWTRenderer aRenderer, Translator aRes) { + this(aRenderer, aRes); + starter = aStarter; + } /** - * Create a new PreviewDialog that uses the given renderer and translator. - * + * Creates a new PreviewDialog that uses the given renderer and translator. * @param aRenderer the to use renderer * @param aRes the to use translator */ public PreviewDialog(AWTRenderer aRenderer, Translator aRes) { - res = aRes; + translator = aRes; renderer = aRenderer; - printAction = new Command(res.getString("Print"), "Print") { + //Commands aka Actions + Command printAction = new Command(translator.getString("Menu.Print"), "Print") { public void doit() { print(); } - }; - firstPageAction = new Command(res.getString("First page"), + Command firstPageAction = new Command(translator.getString("Menu.First.page"), "firstpg") { public void doit() { - goToFirstPage(null); + goToFirstPage(); } - }; - previousPageAction = new Command(res.getString("Previous page"), + Command previousPageAction = new Command(translator.getString("Menu.Prev.page"), "prevpg") { public void doit() { - goToPreviousPage(null); + goToPreviousPage(); } - }; - nextPageAction = new Command(res.getString("Next page"), "nextpg") { + Command nextPageAction = new Command(translator.getString("Menu.Next.page"), "nextpg") { public void doit() { - goToNextPage(null); + goToNextPage(); } }; - lastPageAction = new Command(res.getString("Last page"), "lastpg") { + Command lastPageAction = new Command(translator.getString("Menu.Last.page"), "lastpg") { public void doit() { - goToLastPage(null); + goToLastPage(); + } + }; + Command reloadAction = new Command(translator.getString("Menu.Reload"), "reload") { + public void doit() { + reload(); } - }; + setTitle("FOP: AWT-" + translator.getString("Title.Preview")); setDefaultCloseOperation(DISPOSE_ON_CLOSE); - this.setSize(new Dimension(379, 476)); - previewArea.setMinimumSize(new Dimension(50, 50)); - this.setTitle("FOP: AWT-" + res.getString("Preview")); - - scale.addItem("25"); - scale.addItem("50"); - scale.addItem("75"); - scale.addItem("100"); - scale.addItem("150"); - scale.addItem("200"); + //Sets size to be 61%x90% of the screen size + Dimension screen = Toolkit.getDefaultToolkit().getScreenSize(); + //Rather frivolous size - fits A4 page width in 1024x768 screen on my desktop + setSize(screen.width*61/100, screen.height*9/10); + + //Page view stuff + pageLabel = new JLabel(); + JScrollPane previewArea = new JScrollPane(pageLabel); + previewArea.getViewport().setBackground(Color.gray); + previewArea.setMinimumSize(new Dimension(50, 50)); + getContentPane().add(previewArea, BorderLayout.CENTER); + //Scaling combobox + scale = new JComboBox(); + scale.addItem("25%"); + scale.addItem("50%"); + scale.addItem("75%"); + scale.addItem("100%"); + scale.addItem("150%"); + scale.addItem("200%"); scale.setMaximumSize(new Dimension(80, 24)); scale.setPreferredSize(new Dimension(80, 24)); - - scale.addActionListener(new java.awt.event.ActionListener() { + scale.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { scale_actionPerformed(e); } - }); - - scale.setSelectedItem("100"); + scale.setSelectedItem("100%"); renderer.setScaleFactor(100.0); - zoomLabel.setText(res.getString("Zoom")); - - this.setJMenuBar(setupMenue()); - - this.getContentPane().add(toolBar, BorderLayout.NORTH); + //Menu + setJMenuBar(setupMenu()); + //Toolbar + JToolBar toolBar = new JToolBar(); toolBar.add(printAction); + toolBar.add(reloadAction); toolBar.addSeparator(); toolBar.add(firstPageAction); toolBar.add(previousPageAction); toolBar.add(nextPageAction); toolBar.add(lastPageAction); toolBar.addSeparator(); - toolBar.add(zoomLabel, null); + toolBar.add(new JLabel(translator.getString("Menu.Zoom"))); toolBar.addSeparator(); - toolBar.add(scale, null); - - this.getContentPane().add(previewArea, BorderLayout.CENTER); - this.getContentPane().add(statusBar, BorderLayout.SOUTH); + toolBar.add(scale); + getContentPane().add(toolBar, BorderLayout.NORTH); + //Status bar + JPanel statusBar = new JPanel(); + processStatus = new JLabel(); + processStatus.setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createEtchedBorder(), BorderFactory.createEmptyBorder(0,3,0,0))); + infoStatus = new JLabel(); + infoStatus.setBorder(BorderFactory.createCompoundBorder( + BorderFactory.createEtchedBorder(), BorderFactory.createEmptyBorder(0,3,0,0))); - statisticsStatus.setBorder(BorderFactory.createEtchedBorder()); - processStatus.setBorder(BorderFactory.createEtchedBorder()); - infoStatus.setBorder(BorderFactory.createEtchedBorder()); - - statusBar.setLayout(statusBarLayout); + statusBar.setLayout(new GridBagLayout()); processStatus.setPreferredSize(new Dimension(200, 21)); - statisticsStatus.setPreferredSize(new Dimension(100, 21)); - infoStatus.setPreferredSize(new Dimension(100, 21)); processStatus.setMinimumSize(new Dimension(200, 21)); - statisticsStatus.setMinimumSize(new Dimension(100, 21)); + + infoStatus.setPreferredSize(new Dimension(100, 21)); infoStatus.setMinimumSize(new Dimension(100, 21)); statusBar.add(processStatus, - new GridBagConstraints(0, 0, 2, 1, 2.0, 0.0, + new GridBagConstraints(0, 0, 1, 0, 2.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, - new Insets(0, 0, 0, 5), 0, 0)); - statusBar.add(statisticsStatus, - new GridBagConstraints(2, 0, 1, 2, 1.0, 0.0, - GridBagConstraints.CENTER, - GridBagConstraints.HORIZONTAL, - new Insets(0, 0, 0, 5), 0, 0)); + new Insets(0, 0, 0, 3), 0, 0)); statusBar.add(infoStatus, - new GridBagConstraints(3, 0, 1, 1, 1.0, 0.0, + new GridBagConstraints(1, 0, 1, 0, 1.0, 0.0, GridBagConstraints.CENTER, GridBagConstraints.HORIZONTAL, new Insets(0, 0, 0, 0), 0, 0)); - - previewArea.getViewport().add(previewImageLabel); - showPage(); + getContentPane().add(statusBar, BorderLayout.SOUTH); } /** - * Create a new menubar to be shown in this window. - * + * Creates a new menubar to be shown in this window. * @return the newly created menubar */ - private JMenuBar setupMenue() { - JMenuBar menuBar; - JMenuItem menuItem; - JMenu menu; - JMenu subMenu; - - menuBar = new JMenuBar(); - menu = new JMenu(res.getString("File")); - subMenu = new JMenu("OutputFormat"); - subMenu.add(new Command("mHTML")); - subMenu.add(new Command("mPDF")); - subMenu.add(new Command("mRTF")); - subMenu.add(new Command("mTEXT")); - // menu.add(subMenu); - // menu.addSeparator(); - menu.add(new Command(res.getString("Print")) { + private JMenuBar setupMenu() { + JMenuBar menuBar = new JMenuBar(); + JMenu menu = new JMenu(translator.getString("Menu.File")); + + //Adds mostly the same actions, but without icons + menu.add(new Command(translator.getString("Menu.Print")) { public void doit() { print(); } - + }); + menu.add(new Command(translator.getString("Menu.Reload")) { + public void doit() { + reload(); + } }); menu.addSeparator(); - menu.add(new Command(res.getString("Exit")) { + menu.add(new Command(translator.getString("Menu.Exit")) { public void doit() { dispose(); } - }); menuBar.add(menu); - menu = new JMenu(res.getString("View")); - menu.add(new Command(res.getString("First page")) { + menu = new JMenu(translator.getString("Menu.View")); + menu.add(new Command(translator.getString("Menu.First.page")) { public void doit() { - goToFirstPage(null); + goToFirstPage(); } - }); - menu.add(new Command(res.getString("Previous page")) { + menu.add(new Command(translator.getString("Menu.Prev.page")) { public void doit() { - goToPreviousPage(null); + goToPreviousPage(); } - }); - menu.add(new Command(res.getString("Next page")) { + menu.add(new Command(translator.getString("Menu.Next.page")) { public void doit() { - goToNextPage(null); + goToNextPage(); } - }); - menu.add(new Command(res.getString("Last page")) { + menu.add(new Command(translator.getString("Menu.Last.page")) { public void doit() { - goToLastPage(null); + goToLastPage(); } - }); - menu.add(new Command(res.getString("Go to Page") + " ...") { + menu.add(new Command(translator.getString("Menu.Go.to.Page") + " ...") { public void doit() { - goToPage(null); + showGoToPageDialog(); } - }); menu.addSeparator(); - subMenu = new JMenu(res.getString("Zoom")); + JMenu subMenu = new JMenu(translator.getString("Menu.Zoom")); subMenu.add(new Command("25%") { public void doit() { setScale(25.0); } - }); subMenu.add(new Command("50%") { public void doit() { setScale(50.0); } - }); subMenu.add(new Command("75%") { public void doit() { setScale(75.0); } - }); subMenu.add(new Command("100%") { public void doit() { setScale(100.0); } - }); subMenu.add(new Command("150%") { public void doit() { setScale(150.0); } - }); subMenu.add(new Command("200%") { public void doit() { setScale(200.0); } - }); menu.add(subMenu); menu.addSeparator(); - menu.add(new Command(res.getString("Default zoom")) { + menu.add(new Command(translator.getString("Menu.Default.zoom")) { public void doit() { setScale(100.0); } - }); menuBar.add(menu); - menu = new JMenu(res.getString("Help")); - menu.add(new Command(res.getString("Index"))); - menu.addSeparator(); - menu.add(new Command(res.getString("Introduction"))); - menu.addSeparator(); - menu.add(new Command(res.getString("About")) { + menu = new JMenu(translator.getString("Menu.Help")); + menu.add(new Command(translator.getString("Menu.About")) { public void doit() { - startHelpAbout(null); + startHelpAbout(); } - }); menuBar.add(menu); return menuBar; } - // Aktion Hilfe | Info durchgeführt - /** - * Show the About box - * - * @param e a value of type 'ActionEvent' + * Shows the About box */ - public void startHelpAbout(ActionEvent e) { - PreviewDialogAboutBox dlg = new PreviewDialogAboutBox(this); + private void startHelpAbout() { + PreviewDialogAboutBox dlg = new PreviewDialogAboutBox(this, translator); + //Centers the box Dimension dlgSize = dlg.getPreferredSize(); Dimension frmSize = getSize(); Point loc = getLocation(); dlg.setLocation((frmSize.width - dlgSize.width) / 2 + loc.x, (frmSize.height - dlgSize.height) / 2 + loc.y); - dlg.setModal(true); - dlg.show(); + dlg.setVisible(true); } /** - * Change the current visible page - * + * Changes the current visible page * @param number the page number to go to */ - private void goToPage(int number) { + private void goToPage(int number) { currentPage = number; renderer.setPageNumber(number); showPage(); @@ -352,7 +304,7 @@ /** * Shows the previous page. */ - private void goToPreviousPage(ActionEvent e) { + private void goToPreviousPage() { if (currentPage <= 0) return; currentPage--; @@ -363,7 +315,7 @@ /** * Shows the next page. */ - private void goToNextPage(ActionEvent e) { + private void goToNextPage() { if (currentPage >= pageCount - 1) return; currentPage++; @@ -373,52 +325,75 @@ /** * Shows the last page. */ - private void goToLastPage(ActionEvent e) { - + private void goToLastPage() { if (currentPage == pageCount - 1) return; currentPage = pageCount - 1; - goToPage(currentPage); } /** - * Shows a page by number. + * Reloads and reformats document. */ - private void goToPage(ActionEvent e) { + private synchronized void reload() { + if (reloader == null || !reloader.isAlive()) { + reloader = new Reloader(); + reloader.start(); + } + } + /** + * This class is used to reload document in + * a thread safe way. + */ + private class Reloader extends Thread { + public void run() { + pageLabel.setIcon(null); + infoStatus.setText(""); + currentPage = 0; + //Cleans up renderer - to be done + //while (renderer.getPageCount() != 0) + // renderer.removePage(0); + try { + starter.run(); + } catch (FOPException e) { + reportException(e); + } + } + } + + /** + * Shows "go to page" dialog and then goes to the selected page + */ + private void showGoToPageDialog() { GoToPageDialog d = new GoToPageDialog(this, - res.getString("Go to Page"), - true); + translator.getString("Menu.Go.to.Page"), translator); d.setLocation((int)getLocation().getX() + 50, (int)getLocation().getY() + 50); - d.show(); + d.setVisible(true); currentPage = d.getPageNumber(); - if (currentPage < 1 || currentPage > pageCount) return; - currentPage--; - goToPage(currentPage); } /** * Shows the first page. */ - private void goToFirstPage(ActionEvent e) { + private void goToFirstPage() { if (currentPage == 0) return; currentPage = 0; goToPage(currentPage); } + /** + * Prints the document + */ private void print() { PrinterJob pj = PrinterJob.getPrinterJob(); - // Nicht nötig, Pageable get a Printable. - // pj.setPrintable(renderer); pj.setPageable(renderer); - if (pj.printDialog()) { try { pj.print(); @@ -428,8 +403,10 @@ } } - public void setScale(double scaleFactor) { - + /** + * Scales page image + */ + private void setScale(double scaleFactor) { if (scaleFactor == 25.0) scale.setSelectedIndex(0); else if (scaleFactor == 50.0) @@ -442,74 +419,47 @@ scale.setSelectedIndex(4); else if (scaleFactor == 200.0) scale.setSelectedIndex(5); - renderer.setScaleFactor(scaleFactor); showPage(); } - void scale_actionPerformed(ActionEvent e) { - setScale(new Double((String)scale.getSelectedItem()).doubleValue()); - } - - public void progress(int percentage) { - progress(new String(percentage + "%")); - } - - public void progress(int percentage, String message) { - progress(new String(message + " " + percentage + "%")); + private void scale_actionPerformed(ActionEvent e) { + String item = (String)scale.getSelectedItem(); + setScale(Double.parseDouble(item.substring(0, item.indexOf('%')))); } - /** - * Setting the text of a JLabel is not thread save, it - * needs to be done in the EventThread. Here we make sure - * it is done. + * Sets message to be shown in the status bar in a thread safe way. */ - public void progress(String message) { - SwingUtilities.invokeLater(new showProgress(message, false)); + public void setStatus(String message) { + SwingUtilities.invokeLater(new ShowStatus(message)); } - /** - * This class is used to show status and error messages in - * a thread safe way. + * This class is used to show status in a thread safe way. */ - class showProgress implements Runnable { - + private class ShowStatus implements Runnable { /** * The message to display */ - Object message; - + String message; /** - * Is this an errorMessage, i.e. should it be shown in - * an JOptionPane or in the status bar. - */ - boolean isErrorMessage = false; - - /** - * Constructs showProgress thread + * Constructs ShowStatus thread * @param message message to display - * @param isErrorMessage show in status bar or in JOptionPane */ - public showProgress(Object message, boolean isErrorMessage) { + public ShowStatus(String message) { this.message = message; - this.isErrorMessage = isErrorMessage; } - public void run() { - if (isErrorMessage) { - JOptionPane.showMessageDialog(null, message, "Error", - JOptionPane.ERROR_MESSAGE); - } else - processStatus.setText(message.toString()); + processStatus.setText(message.toString()); } - } + /** + * Starts rendering process and shows the current page. + */ public void showPage() { - showPageImage viewer = new showPageImage(); - + ShowPageImage viewer = new ShowPageImage(); if (SwingUtilities.isEventDispatchThread()) { viewer.run(); } else @@ -521,108 +471,39 @@ * This class is used to update the page image * in a thread safe way. */ - class showPageImage implements Runnable { - + private class ShowPageImage implements Runnable { /** - * The run method that does the actuall updating + * The run method that does the actual updating */ public void run() { - BufferedImage pageImage = null; - Graphics graphics = null; - - //renderer.render(currentPage); - pageImage = renderer.getLastRenderedPage(); + //Rendering a page - to be done + /* + renderer.render(currentPage); + BufferedImage pageImage = renderer.getLastRenderedPage(); if (pageImage == null) return; - graphics = pageImage.getGraphics(); - graphics.setColor(Color.black); - graphics.drawRect(0, 0, pageImage.getWidth() - 1, - pageImage.getHeight() - 1); - - previewImageLabel.setIcon(new ImageIcon(pageImage)); - + pageLabel.setIcon(new ImageIcon(pageImage)); pageCount = renderer.getPageCount(); - - statisticsStatus.setText(res.getString("Page") + " " - + (currentPage + 1) + " " - + res.getString("of") + " " + pageCount); + //Updates status bar + infoStatus.setText(translator.getString("Status.Page") + " " + + (currentPage + 1) + " " + + translator.getString("Status.of") + " " + pageCount); + */ } - } - /** - * Called by logger if an error message or a - * log message is received. + * Opens standard Swing error dialog box and reports given exception details. */ - public void processMessage() { -/* String error = event.getMessage(); - String text = processStatus.getText(); - FontMetrics fmt = - processStatus.getFontMetrics(processStatus.getFont()); - int width = processStatus.getWidth() - fmt.stringWidth("..."); - showProgress showIt; - - if (event.getMessageType() == event.LOG) { - if (!text.endsWith("\n")) { - text = text + error; - while (fmt.stringWidth(text) > width) { - text = text.substring(1); - width = processStatus.getWidth() - fmt.stringWidth("..."); - } - } else - text = error; - progress(text); - } else { - error = error.trim(); - if (error.equals(">")) { - text = text + error; - while (fmt.stringWidth(text) > width) { - text = text.substring(1); - width = processStatus.getWidth() - fmt.stringWidth("..."); - } - progress(processStatus.getText() + error); - return; - } - if (error.equals("")) - return; - if (error.length() < 60) { - showIt = new showProgress(error, true); - } else { - StringTokenizer tok = new StringTokenizer(error, " "); - ArrayList labels = new ArrayList(); - StringBuffer buffer = new StringBuffer(); - String tmp, list[]; - - while (tok.hasMoreTokens()) { - tmp = tok.nextToken(); - if ((buffer.length() + tmp.length() + 1) < 60) { - buffer.append(" ").append(tmp); - } else { - labels.add(buffer.toString()); - buffer = new StringBuffer(); - buffer.append(tmp); - } - } - labels.add(buffer.toString()); - list = new String[labels.size()]; - for (int i = 0; i < labels.size(); i++) { - list[i] = labels.get(i).toString(); - } - showIt = new showProgress(list, true); - } - if (SwingUtilities.isEventDispatchThread()) { - showIt.run(); - } else { - try { - SwingUtilities.invokeAndWait(showIt); - } catch (Exception e) { - e.printStackTrace(); - progress(event.getMessage()); - } - } - }*/ + public void reportException(Exception e) { + String msg = translator.getString("Exception.Occured"); + setStatus(msg); + JOptionPane.showMessageDialog( + getContentPane(), + "<html><b>" + msg + ":</b><br>" + + e.getClass().getName() + "<br>" + e.getMessage() + "</html>", translator.getString("Exception.Error"), + JOptionPane.ERROR_MESSAGE + ); } - -} // class PreviewDialog +} 1.4 +46 -62 xml-fop/src/org/apache/fop/viewer/PreviewDialogAboutBox.java Index: PreviewDialogAboutBox.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/viewer/PreviewDialogAboutBox.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- PreviewDialogAboutBox.java 30 Jul 2001 20:29:35 -0000 1.3 +++ PreviewDialogAboutBox.java 6 Nov 2002 14:30:15 -0000 1.4 @@ -7,80 +7,65 @@ package org.apache.fop.viewer; -/* - * originally contributed by - * Juergen Verwohlt: [EMAIL PROTECTED], - * Rainer Steinkuhle: [EMAIL PROTECTED], - * Stanislav Gorkhover: [EMAIL PROTECTED] - */ - - +//Java import java.awt.*; -import java.awt.event.*; import javax.swing.*; -import javax.swing.border.*; +import javax.swing.border.EmptyBorder; +import java.awt.event.ActionListener; +import java.awt.event.WindowEvent; +import java.awt.event.ActionEvent; +//FOP import org.apache.fop.apps.Version; - - +/** + * AWT Viewer's "About" dialog. + * Originally contributed by: + * Juergen Verwohlt: [EMAIL PROTECTED], + * Rainer Steinkuhle: [EMAIL PROTECTED], + * Stanislav Gorkhover: [EMAIL PROTECTED] + */ public class PreviewDialogAboutBox extends Dialog implements ActionListener { + private JButton okButton; - JPanel panel1 = new JPanel(); - JPanel panel2 = new JPanel(); - JPanel insetsPanel1 = new JPanel(); - JPanel insetsPanel2 = new JPanel(); - JPanel insetsPanel3 = new JPanel(); - JButton button1 = new JButton(); - JLabel imageControl1 = new JLabel(); - ImageIcon imageIcon; - JLabel label1 = new JLabel(); - JLabel label2 = new JLabel(); - JLabel label3 = new JLabel(); - JLabel label4 = new JLabel(); - BorderLayout borderLayout1 = new BorderLayout(); - BorderLayout borderLayout2 = new BorderLayout(); - FlowLayout flowLayout1 = new FlowLayout(); - FlowLayout flowLayout2 = new FlowLayout(); - GridLayout gridLayout1 = new GridLayout(); - String product = "FOP AWT-Preview"; - String version = "Version: " + Version.getVersion(); - String copyright = "See xml.apache.org"; - String comments = ""; // "Print Preview"; - - public PreviewDialogAboutBox(Frame parent) { - super(parent); + /** + * Creates modal "About" dialog, attached to a given parent frame. + */ + public PreviewDialogAboutBox(Frame parent, Translator translator) { + super(parent, true); enableEvents(AWTEvent.WINDOW_EVENT_MASK); - - // imageIcon = new ImageIcon(getClass().getResource("Hier der Grafikname")); - this.setTitle("Info"); + setTitle(translator.getString("About.Title")); setResizable(false); - panel1.setLayout(borderLayout1); - panel2.setLayout(borderLayout2); - insetsPanel1.setLayout(flowLayout1); - insetsPanel2.setLayout(flowLayout1); + JPanel panel1 = new JPanel(); + JPanel panel2 = new JPanel(); + JPanel insetsPanel1 = new JPanel(); + JPanel insetsPanel2 = new JPanel(); + JPanel insetsPanel3 = new JPanel(); + okButton = new JButton(); + JLabel imageControl1 = new JLabel(); + imageControl1.setIcon(new ImageIcon(getClass().getResource("Images/fop.gif"))); + JLabel label1 = new JLabel(translator.getString("About.Product")); + JLabel label2 = new JLabel(translator.getString("About.Version") + " " + Version.getVersion()); + JLabel label3 = new JLabel(translator.getString("About.Copyright")); + panel1.setLayout(new BorderLayout()); + panel2.setLayout(new BorderLayout()); + insetsPanel1.setLayout(new FlowLayout()); + insetsPanel2.setLayout(new FlowLayout()); insetsPanel2.setBorder(new EmptyBorder(10, 10, 10, 10)); - gridLayout1.setRows(4); - gridLayout1.setColumns(1); - label1.setText(product); - label2.setText(version); - label3.setText(copyright); - label4.setText(comments); - insetsPanel3.setLayout(gridLayout1); - insetsPanel3.setBorder(new EmptyBorder(10, 60, 10, 10)); - button1.setText("OK"); - button1.addActionListener(this); + insetsPanel3.setLayout(new GridLayout(3, 1)); + insetsPanel3.setBorder(new EmptyBorder(10, 10, 10, 10)); + okButton.setText(translator.getString("Button.Ok")); + okButton.addActionListener(this); insetsPanel2.add(imageControl1, null); panel2.add(insetsPanel2, BorderLayout.WEST); - this.add(panel1, null); - insetsPanel3.add(label1, null); - insetsPanel3.add(label2, null); - insetsPanel3.add(label3, null); - insetsPanel3.add(label4, null); + insetsPanel3.add(label1); + insetsPanel3.add(label2); + insetsPanel3.add(label3); panel2.add(insetsPanel3, BorderLayout.CENTER); - insetsPanel1.add(button1, null); + insetsPanel1.add(okButton); panel1.add(insetsPanel1, BorderLayout.SOUTH); panel1.add(panel2, BorderLayout.NORTH); + add(panel1); pack(); } @@ -96,10 +81,9 @@ } public void actionPerformed(ActionEvent e) { - if (e.getSource() == button1) { + if (e.getSource() == okButton) { cancel(); } } - } 1.4 +29 -23 xml-fop/src/org/apache/fop/viewer/Translator.java Index: Translator.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/viewer/Translator.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Translator.java 30 Jul 2001 20:29:35 -0000 1.3 +++ Translator.java 6 Nov 2002 14:30:15 -0000 1.4 @@ -5,35 +5,41 @@ * LICENSE file included with these sources. */ -package org.apache.fop.viewer; +package org.apache.fop.viewer; - -/** - * Definition für die Übersetzer-Klassen. - * - * @version 03.12.99 - * @author [EMAIL PROTECTED] - * +//Java +import java.util.ResourceBundle; +import java.util.Locale; +import java.util.MissingResourceException; + +/** + * AWT Viewer's localization class, backed up by <code>java.util.ResourceBundle</code>. + * Originally contributed by: + * [EMAIL PROTECTED] */ -public interface Translator { +public class Translator { + private ResourceBundle bundle; + private static String bundleBaseName = "org/apache/fop/viewer/resources/Viewer"; /** - * Übersetzt ein Wort. + * Default constructor, default <code>Locale</code> is used. */ - public String getString(String key); - - /** - * Ein Translator soll die fehlenden keys hervorheben können. + public Translator() { + this(Locale.getDefault()); + } + + /** + * Constructor for a given <code>Locale</code>. */ - public void setMissingEmphasized(boolean b); + public Translator(Locale locale) { + bundle = ResourceBundle.getBundle(bundleBaseName, locale); + } /** - * Gibt an ob die Übersetzungsquelle gefunden ist. + * Returns localized <code>String</code> for a given key. */ - public boolean isSourceFound(); - - /** - * Gibt an ob ein Key in der Übersetzungsquelle vorhanden ist. - */ - public boolean contains(String key); + public String getString(String key) { + return bundle.getString(key); + } } + 1.1 xml-fop/src/org/apache/fop/viewer/Images/fop.gif <<Binary file>> 1.2 +4 -0 xml-fop/src/org/apache/fop/viewer/Images/reload.gif <<Binary file>> 1.1 xml-fop/src/org/apache/fop/viewer/resources/Viewer.properties Index: Viewer.properties =================================================================== ############################################################################# # Copyright (C) The Apache Software Foundation. All rights reserved. # # ------------------------------------------------------------------------- # # This software is published under the terms of the Apache Software License # # version 1.1, a copy of which has been included with this distribution in # # the LICENSE file. # ############################################################################# # # AWT viewer's GUI resources. Default bundle. # Menu.File=File Menu.Exit=Exit Menu.View=View Menu.First.page=First page Menu.Prev.page=Previous page Menu.Next.page=Next page Menu.Last.page=Last page Menu.Go.to.Page=Go to Page Menu.Help=Help Menu.Default.zoom=Default zoom Menu.About=About Menu.Print=Print Menu.Zoom=Zoom Menu.Reload=Reload Title.Preview=Preview Status.Show=Show Status.Page=Page Status.of=of Status.Build.FO.tree=Build FO tree... Exception.Occured=An exception has occured Exception.Error=Fatal error Label.Page.number=Page number Button.Ok=Ok Button.Cancel=Cancel About.Product=FOP AWT Viewer About.Version=Version: About.Copyright=See http://xml.apache.org/fop About.Title=About 1.1 xml-fop/src/org/apache/fop/viewer/resources/Viewer_cs.properties Index: Viewer_cs.properties =================================================================== ############################################################################# # Copyright (C) The Apache Software Foundation. All rights reserved. # # ------------------------------------------------------------------------- # # This software is published under the terms of the Apache Software License # # version 1.1, a copy of which has been included with this distribution in # # the LICENSE file. # ############################################################################# # # AWT viewer's GUI resources. Czech bundle. # Menu.File=Soubor Menu.Print=Tisk Menu.Exit=Konec Menu.View=Zobrazit Menu.First.page=Prvn\u00ed strana Menu.Prev.page=P\u0159edchoz\u00ed strana Menu.Next.page=Dal\u0161\u00ed strana Menu.Last.page=Posledn\u00ed strana Menu.Zoom=Lupa Menu.Default.zoom=Standardn\u00ed lupa Menu.Help=N\u00e1pov\u011bda Menu.About=O aplikaci Menu.Reload=Obnovit Menu.Go.to.Page=Jdi na stranu Title.Preview=N\u00e1hled Status.Show=Zobrazen\u00ed Status.Page=Strana Status.of=z Status.Build.FO.tree=Vytv\u00e1\u0159\u00edm strom FO... Label.Page.number=Strana \u010d\u00edslo Button.Cancel=Zru\u0161it 1.1 xml-fop/src/org/apache/fop/viewer/resources/Viewer_de.properties Index: Viewer_de.properties =================================================================== ############################################################################# # Copyright (C) The Apache Software Foundation. All rights reserved. # # ------------------------------------------------------------------------- # # This software is published under the terms of the Apache Software License # # version 1.1, a copy of which has been included with this distribution in # # the LICENSE file. # ############################################################################# # # AWT viewer's GUI resources. German bundle. # Menu.File=Datei Menu.Exit=Beenden Menu.View=Anzeige Menu.First.page=Erste Seite Menu.Prev.page=Vorherige Seite Menu.Next.page=N\u00e4chste Seite Menu.Last.page=Letzte Seite Menu.Help=Hilfe Menu.Default.zoom=Standardzoom Menu.About=\u00dcber Menu.Print=Drucken Menu.Go.to.Page=Gehe zur Seite Title.Preview=Vorschau Status.Show=Anzeigen Status.Page=Seite Status.of=von Status.Build.FO.tree=Baue FO-Baum Button.Cancel=Abbrechen Label.Page.number=Seitennummer 1.1 xml-fop/src/org/apache/fop/viewer/resources/Viewer_fi.properties Index: Viewer_fi.properties =================================================================== ############################################################################# # Copyright (C) The Apache Software Foundation. All rights reserved. # # ------------------------------------------------------------------------- # # This software is published under the terms of the Apache Software License # # version 1.1, a copy of which has been included with this distribution in # # the LICENSE file. # ############################################################################# # # AWT viewer's GUI resources. Finnish bundle. # Menu.File=Tiedosto Menu.Print=Tulosta Menu.Exit=Poistu Menu.View=N\u00e4yt\u00e4 Menu.First.page=Ensimm\u00e4inen sivu Menu.Prev.page=Edellinen sivu Menu.Next.page=Seuraava sivu Menu.Last.page=Viimeinen sivu Menu.Default.zoom=Normaali zoom Menu.Help=Ohje Menu.About=Tietoja Status.Page=Sivu 1.1 xml-fop/src/org/apache/fop/viewer/resources/Viewer_fr.properties Index: Viewer_fr.properties =================================================================== ############################################################################# # Copyright (C) The Apache Software Foundation. All rights reserved. # # ------------------------------------------------------------------------- # # This software is published under the terms of the Apache Software License # # version 1.1, a copy of which has been included with this distribution in # # the LICENSE file. # ############################################################################# # # AWT viewer's GUI resources. French bundle. # Menu.File=Fichier Menu.Print=Imprimer Menu.Exit=Quitter Menu.View=Affichage Menu.First.page=Premi\u00e8re page Menu.Prev.page=Page pr\u00e9c\u00e9dente Menu.Next.page=Page suivante Menu.Last.page=Derni\u00e8re page Menu.Help=Aide Menu.Default.zoom=Zoom par d\u00e9faut Menu.About=A propos 1.1 xml-fop/src/org/apache/fop/viewer/resources/Viewer_it.properties Index: Viewer_it.properties =================================================================== ############################################################################# # Copyright (C) The Apache Software Foundation. All rights reserved. # # ------------------------------------------------------------------------- # # This software is published under the terms of the Apache Software License # # version 1.1, a copy of which has been included with this distribution in # # the LICENSE file. # ############################################################################# # # AWT viewer's GUI resources. Italian bundle. # Menu.File=File Menu.Exit=Esci Menu.View=Vista Menu.First.page=Prima pagina Menu.Prev.page=Pagina precedente Menu.Next.page=Pagina seguente Menu.Last.page=Ultima pagina Menu.Help=Aiuto Menu.Default.zoom=Zoom di default Menu.About=Riguardo a... Menu.Print=Stampa 1.1 xml-fop/src/org/apache/fop/viewer/resources/Viewer_ja.properties Index: Viewer_ja.properties =================================================================== ############################################################################# # Copyright (C) The Apache Software Foundation. All rights reserved. # # ------------------------------------------------------------------------- # # This software is published under the terms of the Apache Software License # # version 1.1, a copy of which has been included with this distribution in # # the LICENSE file. # ############################################################################# # # AWT viewer's GUI resources. Japanese bundle. # Menu.File=\u30d5\u30a1\u30a4\u30eb Menu.Print=\u5370\u5237 Menu.Exit=\u7d42\u4e86 Menu.View=\u8868\u793a Menu.First.page=\u958b\u59cb\u30da\u30fc\u30b8 Menu.Prev.page=\u524d\u30da\u30fc\u30b8 Menu.Next.page=\u6b21\u30da\u30fc\u30b8 Menu.Last.page=\u6700\u7d42\u30da\u30fc\u30b8 Menu.Go.to.Page=\u30da\u30fc\u30b8\u6307\u5b9a Menu.Zoom=\u30ba\u30fc\u30e0 Menu.Default.zoom=\u30c7\u30d5\u30a9\u30eb\u30c8\u306e\u30ba\u30fc\u30e0 Menu.Help=\u30d8\u30eb\u30d7 Menu.About=\u30d0\u30fc\u30b8\u30e7\u30f3\u60c5\u5831 Status.Page=\u30da\u30fc\u30b8 Status.of=/ Status.Build.FO.tree=FO\u30c4\u30ea\u30fc\u69cb\u7bc9\u4e2d Status.Show=\u5b8c\u4e86 1.1 xml-fop/src/org/apache/fop/viewer/resources/Viewer_pl.properties Index: Viewer_pl.properties =================================================================== ############################################################################# # Copyright (C) The Apache Software Foundation. All rights reserved. # # ------------------------------------------------------------------------- # # This software is published under the terms of the Apache Software License # # version 1.1, a copy of which has been included with this distribution in # # the LICENSE file. # ############################################################################# # # AWT viewer's GUI resources. Polish bundle. # Menu.File=Plik Menu.Print=Drukuj Menu.Exit=Zako\u00f1cz Menu.View=Widok Menu.First.page=Pierwsza strona Menu.Prev.page=Poprzednia strona Menu.Next.page=Nast\u00eapna strona Menu.Last.page=Ostatnia strona Menu.Zoom=Powi\u00eakszenie Menu.Default.zoom=Domy\u00b6lne powiekszenie Menu.Help=Pomoc Menu.About=O programie Status.Page=Strona 1.1 xml-fop/src/org/apache/fop/viewer/resources/Viewer_ru.properties Index: Viewer_ru.properties =================================================================== ############################################################################# # Copyright (C) The Apache Software Foundation. All rights reserved. # # ------------------------------------------------------------------------- # # This software is published under the terms of the Apache Software License # # version 1.1, a copy of which has been included with this distribution in # # the LICENSE file. # ############################################################################# # # AWT viewer's GUI resources. Russain bundle. # Menu.File=\u0424\u0430\u0439\u043b Menu.Exit=\u0412\u044b\u0445\u043e\u0434 Menu.View=\u0412\u0438\u0434 Menu.First.page=\u041f\u0435\u0440\u0432\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 Menu.Prev.page=\u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 Menu.Next.page=\u0421\u043b\u0435\u0434\u0443\u044e\u0449\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 Menu.Last.page=\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 Menu.Go.to.Page=\u041f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 Menu.Help=\u041f\u043e\u043c\u043e\u0449\u044c Menu.Default.zoom=\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 Menu.About=\u041e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0435 Menu.Print=\u041f\u0435\u0447\u0430\u0442\u044c Menu.Zoom=\u0420\u0430\u0437\u043c\u0435\u0440 Menu.Reload=\u041e\u0431\u043d\u043e\u0432\u0438\u0442\u044c Title.Preview=\u041f\u0440\u043e\u0441\u043c\u043e\u0442\u0440 Status.Show=\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435 Status.Page=\u0421\u0442\u0440\u0430\u043d\u0438\u0446\u0430 Status.of=\u0438\u0437 Status.Build.FO.tree=\u041f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u0435 FO \u0434\u0435\u0440\u0435\u0432\u0430... Exception.Occured=\u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 Exception.Error=\u041a\u0440\u0438\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043e\u0448\u0438\u0431\u043a\u0430 Label.Page.number=\u041d\u043e\u043c\u0435\u0440 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b Button.Ok=Ok Button.Cancel=\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c About.Product=FOP AWT Viewer About.Version=\u0412\u0435\u0440\u0441\u0438\u044f: About.Copyright=\u0421\u043c\u043e\u0442\u0440\u0438 http://xml.apache.org/fop About.Title=\u041e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0435
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]