KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > apache > fop > render > rtf > rtflib > testdocs > ListInTable


1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements. See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License. You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */

17
18 /* $Id: ListInTable.java 426576 2006-07-28 15:44:37Z jeremias $ */
19
20
21 /*
22  * This file is part of the RTF library of the FOP project, which was originally
23  * created by Bertrand Delacretaz <bdelacretaz@codeconsult.ch> and by other
24  * contributors to the jfor project (www.jfor.org), who agreed to donate jfor to
25  * the FOP project.
26  */

27
28 package org.apache.fop.render.rtf.rtflib.testdocs;
29
30 import java.io.IOException JavaDoc;
31
32 import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfDocumentArea;
33 import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfSection;
34 import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfList;
35 import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTable;
36 import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTableRow;
37 import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfTableCell;
38 import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfListItem;
39 import org.apache.fop.render.rtf.rtflib.rtfdoc.RtfParagraph;
40
41 /** Generates a simple RTF test document for the jfor rtflib package.
42  */

43
44 class ListInTable extends TestDocument {
45     /** generate the body of the test document */
46     protected void generateDocument(RtfDocumentArea rda, RtfSection sect)
47     throws IOException JavaDoc {
48         sect.newParagraph().newText("There must be a table below where the "
49                 + "second cell contains a bulleted list mixed with normal paragraphs");
50
51         final RtfTable tbl = sect.newTable(new DummyTableColumnsInfo());
52         final RtfTableRow row = tbl.newTableRow();
53         row.newTableCell(RtfTableCell.DEFAULT_CELL_WIDTH).newParagraph().newText("cell A, simple");
54
55         final RtfTableCell c = row.newTableCell(RtfTableCell.DEFAULT_CELL_WIDTH);
56         c.newParagraph().newText("cell B, contains this paragraph followed by "
57                 + "a list and another paragraph");
58         fillList(c.newList(null), 1, 3);
59         c.newParagraph().newText("Normal paragraph, follows the list.");
60
61         row.newTableCell(RtfTableCell.DEFAULT_CELL_WIDTH).newParagraph().newText("cell C, simple");
62     }
63
64     private void fillList(RtfList list, int listIndex, int nItems)
65     throws IOException JavaDoc {
66         for (int i = 0; i < nItems; i++) {
67             final RtfListItem item = list.newListItem();
68             for (int j = 0; j <= i; j++) {
69                 final RtfParagraph para = item.newParagraph();
70                 para.newText("List " + listIndex + ", item " + i + ", paragraph " + j);
71                 if (i == 0 && j == 0) {
72                     final String JavaDoc txt = "This item takes more than one line to check word-wrapping.";
73                     para.newText(". " + "This list must have " + nItems
74                             + " items. " + txt + " " + txt + " " + txt);
75                 }
76             }
77         }
78     }
79 }
Popular Tags