KickJava   Java API By Example, From Geeks To Geeks.

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


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  * FormatCommandDecreaseSpaceV.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.Enumeration JavaDoc;
40 import java.util.Iterator JavaDoc;
41 import java.util.Vector JavaDoc;
42
43
44 /**
45  *
46  *
47  */

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