KickJava   Java API By Example, From Geeks To Geeks.

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


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  * FormatCommandMoveToLeftMargin.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 import java.awt.Point JavaDoc;
39 import java.util.Iterator JavaDoc;
40 import java.util.Vector JavaDoc;
41
42 /**
43  * Move all elements towards to the left margin over a distance depicted
44  * by the distance of the left most element to the left margin
45  *
46  * From the introduction this command the distance of the first element to the left margin had been taken.
47  * This resulted in unwanted behaviour. If the first element was the most right element, then most elements were shifted
48  * left of the left margin.
49  *
50  * Now this is corrected.
51  */

52 public class FormatCommandMoveToLeftMargin extends FormatCommand {
53     
54     {
55         operationType = OperationType.MOVE_TO_LEFT_MARGIN;
56     }
57     int deltaLeft = 0;
58     
59     void executeDeeper() {
60         
61         Vector JavaDoc bands = getBands(); // bands with selected elements
62
for (Iterator JavaDoc h = bands.iterator(); h.hasNext(); ) {
63             Band b = (Band) h.next();
64             Vector JavaDoc bandElements = getBandElements( b );
65             bandElements = sortXY( bandElements.elements());
66             
67             ReportElement re = (ReportElement) bandElements.elementAt(0);
68             deltaLeft = re.getPosition().x - jrf.getReport().getLeftMargin();
69             
70             processElements(bandElements.elements());
71         }
72         
73     }
74     
75     public void modify() {
76         re.setPosition(new Point JavaDoc(re.getPosition().x + 10 - deltaLeft, re.getPosition().y));
77     }
78     
79 }
80
Popular Tags