CVS: jfor/src/org/jfor/jfor/rtflib/rtfdoc RtfAfterBeforeBase.java,NONE,1.1 RtfAfter.java,1.1,1.2 RtfBefore.java,1.2,1.3

Bertrand Delacretaz <[email protected]> Tue, 03 Sep 2002 03:29:38 -0700
Newsgroups gmane.text.xml.jfor.cvs
Message-ID <[email protected]>
Update of /cvsroot/jfor/jfor/src/org/jfor/jfor/rtflib/rtfdoc
In directory usw-pr-cvs1:/tmp/cvs-serv17517/src/org/jfor/jfor/rtflib/rtfdoc

Modified Files:
	RtfAfter.java RtfBefore.java 
Added Files:
	RtfAfterBeforeBase.java 
Log Message:
V0.7.2dev-b, supports tables in headers and footers (thanks to Christoph Zahm <[email protected]>)

--- NEW FILE: RtfAfterBeforeBase.java ---
package org.jfor.jfor.rtflib.rtfdoc;

import java.io.Writer;
import java.io.*;
import java.util.*;
import java.io.IOException;
import org.jfor.jfor.interfaces.ITableColumnsInfo;

/*-----------------------------------------------------------------------------
 * jfor - Open-Source XSL-FO to RTF converter - see www.jfor.org
 *
 * ====================================================================
 * jfor Apache-Style Software License.
 * Copyright (c) 2002 by the jfor project. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in
 * the documentation and/or other materials provided with the
 * distribution.
 *
 * 3. The end-user documentation included with the redistribution,
 * if any, must include the following acknowledgment:
 * "This product includes software developed
 * by the jfor project (http://www.jfor.org)."
 * Alternately, this acknowledgment may appear in the software itself,
 * if and wherever such third-party acknowledgments normally appear.
 *
 * 4. The name "jfor" must not be used to endorse
 * or promote products derived from this software without prior written
 * permission.  For written permission, please contact [email protected].
 *
 * 5. Products derived from this software may not be called "jfor",
 * nor may "jfor" appear in their name, without prior written
 * permission of [email protected].
 *
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL THE JFOR PROJECT OR ITS CONTRIBUTORS BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * ====================================================================
 * Contributor(s):
 *  @author Andreas Lambert <[email protected]>
 *  @author Christopher Scott, [email protected]
 *  @author Christoph Zahm <[email protected]> (support for tables in headers/footers)
----------------------------------------------------------------------------*/

//------------------------------------------------------------------------------
// $Id: RtfAfterBeforeBase.java,v 1.1 2002/09/03 10:29:36 bdelacretaz Exp $
// $Log: RtfAfterBeforeBase.java,v $
// Revision 1.1  2002/09/03 10:29:36  bdelacretaz
// V0.7.2dev-b, supports tables in headers and footers (thanks to Christoph Zahm <[email protected]>)
//
// Revision 1.1  2002/07/15 06:44:05  bdelacretaz
// footer code contributed by Andreas Lambert <[email protected]>
//
//------------------------------------------------------------------------------

/** Common code for RtfAfter and RtfBefore */
abstract class RtfAfterBeforeBase
extends RtfContainer
implements IRtfParagraphContainer, IRtfExternalGraphicContainer,IRtfTableContainer {
    protected RtfAttributes m_attrib;
    private RtfParagraph m_para;
    private RtfExternalGraphic m_externalGraphic;
    private RtfTable m_table;
    
    RtfAfterBeforeBase(RtfSection parent, Writer w, RtfAttributes attrs) throws IOException {
        super((RtfContainer)parent,w,attrs);
        m_attrib = attrs;
    }
    
    public RtfParagraph newParagraph() throws IOException {
        closeAll();
        m_para = new RtfParagraph(this,m_writer);
        return m_para;
    }
    
    public RtfParagraph newParagraph(RtfAttributes attrs) throws IOException {
        closeAll();
        m_para = new RtfParagraph(this,m_writer,attrs);
        return m_para;
    }
    
    public RtfExternalGraphic newImage() throws IOException {
        closeAll();
        m_externalGraphic = new RtfExternalGraphic(this,m_writer);
        return m_externalGraphic;
    }
    
    private void closeCurrentParagraph() throws IOException {
        if(m_para!=null) m_para.close();
    }
    
    private void closeCurrentExternalGraphic() throws IOException {
        if(m_externalGraphic!=null) m_externalGraphic.close();
    }
    
    private void closeCurrentTable() throws IOException {
        if(m_table != null) m_table.close();
    }
    
    protected void writeRtfPrefix() throws IOException {
        writeGroupMark(true);
        writeMyAttributes();
    }
    
    /** must be implemented to write the header or footer attributes */
    abstract protected void writeMyAttributes() throws IOException;
    
    protected void writeRtfSuffix() throws IOException {
        writeGroupMark(false);
    }
    
    public RtfAttributes getAttributes(){
        return m_attrib;
    }
    
    public void closeAll() throws IOException {
        closeCurrentParagraph();
        closeCurrentExternalGraphic();
        closeCurrentTable();
    }
    
    /** close current table if any and start a new one
     * @param tc added by Boris Poudérous on july 2002 in order to process number-columns-spanned attribute
     */
    public RtfTable newTable(RtfAttributes attrs, ITableColumnsInfo tc) throws IOException {
        closeAll();
        m_table = new RtfTable(this,m_writer,attrs,tc);
        return m_table;
    }
    
    /** close current table if any and start a new one  */
    public RtfTable newTable(ITableColumnsInfo tc) throws IOException {
        closeAll();
        m_table = new RtfTable(this,m_writer,tc);
        return m_table;
    }
}
Index: RtfAfter.java
===================================================================
RCS file: /cvsroot/jfor/jfor/src/org/jfor/jfor/rtflib/rtfdoc/RtfAfter.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** RtfAfter.java	15 Jul 2002 06:44:05 -0000	1.1
--- RtfAfter.java	3 Sep 2002 10:29:36 -0000	1.2
***************
*** 2,7 ****
  
  import java.io.Writer;
- import java.io.*;
- import java.util.*;
  import java.io.IOException;
  
--- 2,5 ----
***************
*** 53,57 ****
   * ====================================================================
   * Contributor(s):
!  *  @author Andreas Lambert <[email protected]> 
  -----------------------------------------------------------------------------*/
  
--- 51,55 ----
   * ====================================================================
   * Contributor(s):
!  *  @author Andreas Lambert <[email protected]>
  -----------------------------------------------------------------------------*/
  
***************
*** 59,62 ****
--- 57,63 ----
  // $Id$
  // $Log$
+ // Revision 1.2  2002/09/03 10:29:36  bdelacretaz
+ // V0.7.2dev-b, supports tables in headers and footers (thanks to Christoph Zahm <[email protected]>)
+ //
  // Revision 1.1  2002/07/15 06:44:05  bdelacretaz
  // footer code contributed by Andreas Lambert <[email protected]>
***************
*** 65,128 ****
  
  /** RtfContainer that encloses footers */
! public class RtfAfter extends RtfContainer implements IRtfParagraphContainer, IRtfExternalGraphicContainer{
! 	private RtfAttributes m_attrib;
! 	private RtfParagraph m_para;
! 	private RtfExternalGraphic m_externalGraphic;
! 
! 	/**RtfBefore attributes*/
! 	public final static String FOOTER = "footer";
! 	
! 	public final static String[] FOOTER_ATTR = new String[]{
! 		FOOTER
! 	};
! 	
! 	RtfAfter(RtfSection parent, Writer w, RtfAttributes attrs) throws IOException {
! 		super((RtfContainer)parent,w,attrs);
! 		m_attrib = attrs;
! 	}
! 	
! 	public RtfParagraph newParagraph() throws IOException {
! 		closeAll();
! 		m_para = new RtfParagraph(this,m_writer);
! 		return m_para;
! 	}
! 
! 	public RtfParagraph newParagraph(RtfAttributes attrs) throws IOException {
! 		closeAll();
! 		m_para = new RtfParagraph(this,m_writer,attrs);
! 		return m_para;
! 	}
! 
! 	public RtfExternalGraphic newImage() throws IOException {
! 		closeAll();
! 		m_externalGraphic = new RtfExternalGraphic(this,m_writer);
! 		return m_externalGraphic;
! 	}
! 	
! 	private void closeCurrentParagraph() throws IOException {
! 		if(m_para!=null) m_para.close();
! 	}
! 
! 	private void closeCurrentExternalGraphic() throws IOException {
! 		if(m_externalGraphic!=null) m_externalGraphic.close();
! 	}	
! 	
! 	protected void writeRtfPrefix() throws IOException {
! 		writeGroupMark(true);
! 		writeAttributes(m_attrib,FOOTER_ATTR);
! 	}
! 	
! 	protected void writeRtfSuffix() throws IOException {
! 		writeGroupMark(false);
! 	}
! 	
! 	public RtfAttributes getAttributes(){
! 		return m_attrib;
! 	}
! 	
! 	public void closeAll() throws IOException
! 	{
! 		closeCurrentParagraph();
! 		closeCurrentExternalGraphic();
! 	}
  }
--- 66,82 ----
  
  /** RtfContainer that encloses footers */
! public class RtfAfter extends RtfAfterBeforeBase {
!     /**RtfBefore attributes*/
!     public final static String FOOTER = "footer";
!     public final static String[] FOOTER_ATTR = new String[]{
!         FOOTER
!     };
!     
!     RtfAfter(RtfSection parent, Writer w, RtfAttributes attrs) throws IOException {
!         super(parent,w,attrs);
!     }
!     
!     protected void writeMyAttributes() throws IOException {
!         writeAttributes(m_attrib,FOOTER_ATTR);
!     }
  }

Index: RtfBefore.java
===================================================================
RCS file: /cvsroot/jfor/jfor/src/org/jfor/jfor/rtflib/rtfdoc/RtfBefore.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** RtfBefore.java	12 Jul 2002 08:08:31 -0000	1.2
--- RtfBefore.java	3 Sep 2002 10:29:36 -0000	1.3
***************
*** 2,7 ****
  
  import java.io.Writer;
- import java.io.*;
- import java.util.*;
  import java.io.IOException;
  
--- 2,5 ----
***************
*** 53,59 ****
   * ====================================================================
   * Contributor(s):
-  * Christopher Scott, [email protected]
-  * Portions created by Christopher Scott are Coypright (C) 2001
-  * Westinghouse Electric Company. All Rights Reserved.
  -----------------------------------------------------------------------------*/
  
--- 51,54 ----
***************
*** 61,64 ****
--- 56,62 ----
  // $Id$
  // $Log$
+ // Revision 1.3  2002/09/03 10:29:36  bdelacretaz
+ // V0.7.2dev-b, supports tables in headers and footers (thanks to Christoph Zahm <[email protected]>)
+ //
  // Revision 1.2  2002/07/12 08:08:31  bdelacretaz
  // License changed to jfor Apache-style license
***************
*** 69,141 ****
  //------------------------------------------------------------------------------
  
! public class RtfBefore
! extends RtfContainer
! implements IRtfParagraphContainer, IRtfExternalGraphicContainer{
! 	private RtfAttributes m_attrib;
! 	private RtfParagraph m_para;
! 	private RtfExternalGraphic m_externalGraphic;
! 
! 	/**RtfBefore attributes*/
! 	public final static String HEADER = "header";
! 	
! 	public final static String[] HEADER_ATTR = new String[]{
! 		HEADER	
! 	};
! 	
! 	RtfBefore(RtfSection parent, Writer w, RtfAttributes attrs) throws IOException {
! 		super((RtfContainer)parent,w,attrs);
! 		m_attrib = attrs;
! 	}
! 	
! 	public RtfParagraph newParagraph() throws IOException {
! 		closeAll();
! 		m_para = new RtfParagraph(this,m_writer);
! 		return m_para;
! 	}
! 
! 	public RtfParagraph newParagraph(RtfAttributes attrs) throws IOException {
! 		closeAll();
! 		m_para = new RtfParagraph(this,m_writer,attrs);
! 		return m_para;
! 	}
! 
! 	public RtfExternalGraphic newImage() throws IOException {
! 		closeAll();
! 		m_externalGraphic = new RtfExternalGraphic(this,m_writer);
! 		return m_externalGraphic;
! 	}
! 	
! 	private void closeCurrentParagraph() throws IOException {
! 		if(m_para!=null) m_para.close();
! 	}
! 
! 	private void closeCurrentExternalGraphic() throws IOException {
! 		if(m_externalGraphic!=null) m_externalGraphic.close();
! 	}	
! 	
! 	protected void writeRtfPrefix() throws IOException {
! 		writeGroupMark(true);
! 		writeAttributes(m_attrib,HEADER_ATTR);
! 	}
! 	
! 	protected void writeRtfSuffix() throws IOException {
! 		writeGroupMark(false);
! 	}
! 	
! 	public RtfAttributes getAttributes(){
! 		return m_attrib;
! 	}
! 	
! 	/*protected boolean okToWriteRtf()
! 	{
! 		return true;
! 	}*/
! 	
! 	
! 	public void closeAll() throws IOException
! 	{
! 		closeCurrentParagraph();
! 		closeCurrentExternalGraphic();
! 	}
! 	
  }
--- 67,84 ----
  //------------------------------------------------------------------------------
  
! public class RtfBefore extends RtfAfterBeforeBase {
!     /**RtfBefore attributes*/
!     public final static String HEADER = "header";
!     
!     public final static String[] HEADER_ATTR = new String[]{
!         HEADER
!     };
!     
!     RtfBefore(RtfSection parent, Writer w, RtfAttributes attrs) throws IOException {
!         super(parent,w,attrs);
!     }
!     
!     protected void writeMyAttributes() throws IOException {
!         writeAttributes(m_attrib,HEADER_ATTR);
!     }
  }



-------------------------------------------------------
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390