Package com.nwalsh.saxon

Source Code of com.nwalsh.saxon.FormatGraphicCallout

package com.nwalsh.saxon;

import org.xml.sax.SAXException;
import org.w3c.dom.*;

import javax.xml.transform.TransformerException;

import com.icl.saxon.om.NamePool;
import com.icl.saxon.output.Emitter;
import com.icl.saxon.tree.AttributeCollection;

import com.nwalsh.saxon.Callout;

/**
* <p>Utility class for the Verbatim extension (ignore this).</p>
*
* <p>$Id: FormatGraphicCallout.java,v 1.1 2001/07/16 21:23:57 nwalsh Exp $</p>
*
* <p>Copyright (C) 2000, 2001 Norman Walsh.</p>
*
* <p><b>Change Log:</b></p>
* <dl>
* <dt>1.0</dt>
* <dd><p>Initial release.</p></dd>
* </dl>
*
* @author Norman Walsh
* <a href="mailto:ndw@nwalsh.com">ndw@nwalsh.com</a>
*
* @see Verbatim
*
* @version $Id: FormatGraphicCallout.java,v 1.1 2001/07/16 21:23:57 nwalsh Exp $
**/

public class FormatGraphicCallout extends FormatCallout {
  String graphicsPath = "";
  String graphicsExt = "";
  int graphicsMax = 0;

  public FormatGraphicCallout(NamePool nPool, String path, String ext, int max, boolean fo) {
    super(nPool, fo);
    graphicsPath = path;
    graphicsExt = ext;
    graphicsMax = max;
  }

  public void formatCallout(Emitter rtfEmitter,
          Callout callout) {
    Element area = callout.getArea();
    int num = callout.getCallout();
    String userLabel = areaLabel(area);
    String label = "(" + num + ")";

    if (userLabel != null) {
      label = userLabel;
    }

    try {
      if (userLabel == null && num <= graphicsMax) {
  int imgName = 0;
  AttributeCollection imgAttr = null;
  int namespaces[] = new int[1];

  if (foStylesheet) {
    imgName = namePool.allocate("fo", foURI, "external-graphic");
    imgAttr = new AttributeCollection(namePool);
    imgAttr.addAttribute("", "", "src", "CDATA",
             graphicsPath + num + graphicsExt);
  } else {
    imgName = namePool.allocate("", "", "img");
    imgAttr = new AttributeCollection(namePool);
    imgAttr.addAttribute("", "", "src", "CDATA",
             graphicsPath + num + graphicsExt);
    imgAttr.addAttribute("", "", "alt", "CDATA", label);
  }

  startSpan(rtfEmitter);
  rtfEmitter.startElement(imgName, imgAttr, namespaces, 0);
  rtfEmitter.endElement(imgName);
  endSpan(rtfEmitter);
      } else {
  formatTextCallout(rtfEmitter, callout);
      }
    } catch (TransformerException e) {
      System.out.println("Transformer Exception in graphic formatCallout");
    }
  }
}
TOP

Related Classes of com.nwalsh.saxon.FormatGraphicCallout

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.