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 ar...@apache.org on 2001/02/21 02:06:35 UTC
cvs commit: xml-fop/src/org/apache/fop/apps AWTStarter.java
arved 01/02/20 17:06:35
Added: src/org/apache/fop/apps AWTStarter.java
Log:
Updated command line
Revision Changes Path
1.1 xml-fop/src/org/apache/fop/apps/AWTStarter.java
Index: AWTStarter.java
===================================================================
/*
* Copyright (C) 2001 The Apache Software Foundation. All rights reserved.
* For details on use and redistribution please refer to the
* LICENSE file included with these sources."
*/
package org.apache.fop.apps;
/*
originally contributed by
Juergen Verwohlt: Juergen.Verwohlt@jCatalog.com,
Rainer Steinkuhle: Rainer.Steinkuhle@jCatalog.com,
Stanislav Gorkhover: Stanislav.Gorkhover@jCatalog.com
*/
import org.apache.fop.messaging.MessageHandler;
import org.apache.fop.viewer.*;
import org.apache.fop.render.awt.*;
import javax.swing.UIManager;
import java.awt.*;
// 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
*/
public class AWTStarter extends CommandLineStarter {
PreviewDialog frame;
AWTRenderer renderer;
public static String TRANSLATION_PATH = "/org/apache/fop/viewer/resources/";
private Translator resource;
public AWTStarter (CommandLineOptions commandLineOptions) {
super(commandLineOptions);
init();
}
private void init () {
try {
UIManager.setLookAndFeel(
new javax.swing.plaf.metal.MetalLookAndFeel());
} catch (Exception e) {
e.printStackTrace();
}
String language = commandLineOptions.getLanguage();
if (language == null)
language = System.getProperty("user.language");
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);
renderer.setComponent(frame);
MessageHandler.setOutputMethod(MessageHandler.EVENT);
MessageHandler.addListener(frame);
}
public void run () {
Driver driver = new Driver();
if (errorDump) {
driver.setErrorDump(true);
}
//init parser
frame.progress(resource.getString("Init parser") + " ...");
XMLReader parser = inputHandler.getParser();
if (parser == null) {
MessageHandler.errorln("ERROR: Unable to create SAX parser");
System.exit(1);
}
setParserFeatures(parser);
try {
driver.setRenderer(renderer);
// init mappings: time
frame.progress(resource.getString("Init mappings") + " ...");
driver.addElementMapping("org.apache.fop.fo.StandardElementMapping");
driver.addElementMapping("org.apache.fop.svg.SVGElementMapping");
driver.addPropertyList("org.apache.fop.fo.StandardPropertyListMapping");
driver.addPropertyList("org.apache.fop.svg.SVGPropertyListMapping");
// build FO tree: time
frame.progress(resource.getString("Build FO tree") + " ...");
driver.buildFOTree(parser, inputHandler.getInputSource());
// layout FO tree: time
frame.progress(resource.getString("Layout FO tree") + " ...");
driver.format();
// render: time
frame.progress(resource.getString("Render") + " ...");
driver.render();
frame.progress(resource.getString("Show"));
frame.showPage();
} catch (Exception e) {
MessageHandler.errorln("FATAL ERROR: " + e.getMessage());
e.printStackTrace();
System.exit(1);
}
}
protected PreviewDialog createPreviewDialog(AWTRenderer renderer,
Translator res) {
PreviewDialog frame = new PreviewDialog(renderer, res);
frame.validate();
// center window
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = frame.getSize();
if (frameSize.height > screenSize.height)
frameSize.height = screenSize.height;
if (frameSize.width > screenSize.width)
frameSize.width = screenSize.width;
frame.setLocation((screenSize.width - frameSize.width) / 2,
(screenSize.height - frameSize.height) / 2);
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) {
MessageHandler.logln("Can't find URL to: <" + path + "> " +
ex.getMessage());
}
return new SecureResourceBundle(in);
}
}