KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > columba > core > print > cHGroup


1 //The contents of this file are subject to the Mozilla Public License Version 1.1
2
//(the "License"); you may not use this file except in compliance with the
3
//License. You may obtain a copy of the License at http://www.mozilla.org/MPL/
4
//
5
//Software distributed under the License is distributed on an "AS IS" basis,
6
//WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
7
//for the specific language governing rights and
8
//limitations under the License.
9
//
10
//The Original Code is "The Columba Project"
11
//
12
//The Initial Developers of the Original Code are Frederik Dietz and Timo Stich.
13
//Portions created by Frederik Dietz and Timo Stich are Copyright (C) 2003.
14
//
15
//All Rights Reserved.
16
package org.columba.core.print;
17
18 import java.awt.Graphics2D JavaDoc;
19 import java.util.Iterator JavaDoc;
20 import java.util.List JavaDoc;
21 import java.util.Vector JavaDoc;
22
23
24 public class cHGroup extends cPrintObject {
25     List JavaDoc members;
26
27     public cHGroup() {
28         members = new Vector JavaDoc();
29     }
30
31     public void add(cPrintObject po) {
32         po.setType(cPrintObject.GROUPMEMBER);
33         members.add(po);
34     }
35
36     public void print(Graphics2D JavaDoc g) {
37         cPrintObject act;
38
39         computePositionAndSize();
40
41         for (Iterator JavaDoc it = members.iterator(); it.hasNext();) {
42             act = (cPrintObject) it.next();
43
44             // for( int i=0; i<members.size(); i++ ) {
45
// act = (cPrintObject) members.get( i );
46
act.setLocation((cPoint) getDrawingOrigin().clone());
47             act.setPage(page);
48             act.print(g);
49         }
50     }
51
52     public cSize getSize(cUnit width) {
53         cUnit maxHeight = new cCmUnit();
54         cSize act;
55
56         for (int i = 0; i < members.size(); i++) {
57             act = ((cPrintObject) members.get(i)).getSize(width);
58
59             if (act.getHeight().getPoints() > maxHeight.getPoints()) {
60                 maxHeight = act.getHeight();
61             }
62         }
63
64         maxHeight.addI(topMargin);
65         maxHeight.addI(bottomMargin);
66
67         return new cSize(new cCmUnit(), maxHeight);
68     }
69 }
70
Popular Tags