KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > it > businesslogic > ireport > gui > command > FormatCommandJoinLeft


1 /*
2  * Copyright (C) 2005 - 2006 JasperSoft Corporation. All rights reserved.
3  * http://www.jaspersoft.com.
4  *
5  * Unless you have purchased a commercial license agreement from JasperSoft,
6  * the following license terms apply:
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as published by
10  * the Free Software Foundation.
11  *
12  * This program is distributed WITHOUT ANY WARRANTY; and without the
13  * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
14  * See the GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see http://www.gnu.org/licenses/gpl.txt
18  * or write to:
19  *
20  * Free Software Foundation, Inc.,
21  * 59 Temple Place - Suite 330,
22  * Boston, MA USA 02111-1307
23  *
24  *
25  *
26  *
27  * FormatCommandJoinLeft.java
28  *
29  * Created on 9 mei 2005, 21:36
30  *
31  */

32
33 package it.businesslogic.ireport.gui.command;
34
35 import it.businesslogic.ireport.Band;
36 import it.businesslogic.ireport.OperationType;
37 import it.businesslogic.ireport.ReportElement;
38
39 import java.awt.Point JavaDoc;
40 import java.awt.Rectangle JavaDoc;
41 import java.util.Enumeration JavaDoc;
42 import java.util.Iterator JavaDoc;
43 import java.util.Vector JavaDoc;
44
45 /**
46  *
47  *
48  */

49 public class FormatCommandJoinLeft extends FormatCommand {
50     int actual_x;
51     
52     {
53         operationType = OperationType.JOIN_LEFT;
54     }
55     
56     void executeDeeper() {
57         
58         Vector JavaDoc bands = getBands();
59         
60         if (bands.size() == 0 && getSelectedElements().size() > 0)
61         {
62             // We are working on a crosstab...
63
Vector JavaDoc myElements = (Vector JavaDoc)getSelectedElements().clone();
64             myElements = sortXY( myElements.elements() );
65             actual_x = ((ReportElement) myElements.elementAt( 0 )).getPosition().x;
66             processElements( getSelectedElements().elements() );
67         }
68         else
69         {
70             for (Iterator JavaDoc h = bands.iterator(); h.hasNext(); ) {
71
72                 Band b = (Band) h.next();
73
74                 Vector JavaDoc myElements = getBandElements(b);
75                 myElements = sortXY( myElements.elements());
76
77                 // Repositioning elements...
78
actual_x = ((ReportElement) myElements.elementAt( 0 )).getPosition().x;
79
80                 // use myELements instead of jrf.getElements()
81
processElements( myElements.elements() );
82
83             }
84         }
85         
86     }
87     
88     public void modify() {
89         re.setPosition( new Point JavaDoc(actual_x, re.getPosition().y) );
90         actual_x += re.getWidth();
91         
92     }
93     
94 }
95
Popular Tags