KickJava   Java API By Example, From Geeks To Geeks.

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


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  * FormatCommandDecreaseSpaceH.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 /**
44  *
45  *
46  */

47 public class FormatCommandDecreaseSpaceH extends FormatCommand {
48     Vector JavaDoc bandElements = null;
49     
50     {
51         operationType = OperationType.DECREASE_SPACE_H;
52     }
53     
54     boolean preCondition(){
55         return ( this.getSelectedElements().size() > 1);
56     }
57     
58     void executeDeeper(){
59         Vector JavaDoc bands = getBands(); // bands with selected elements
60
Band b = null;
61         for (Iterator JavaDoc h = bands.iterator(); h.hasNext(); ) {
62             b = (Band) h.next();
63             bandElements = getBandElements( b );
64             bandElements = sortXY( bandElements.elements());
65             // first element in each band will not be moved.
66
//bandElements.remove(0);
67
processElements(bandElements.elements());
68         }
69     }
70     
71     public void modify() {
72         
73         if (getCurrentElementPosition() > 0 ) {
74             re.setPosition( new Point JavaDoc(
75                     Math.max( re.getPosition().x - (5 * (getCurrentElementPosition())),
76                     ((ReportElement) bandElements.elementAt(getCurrentElementPosition()-1)).getPosition().x ) , re.getPosition().y ));
77         }
78         // Remark of rl: referring to the bandElements variable straight away is perhaps not very nice
79
}
80     
81     
82 }
83
Popular Tags