01: /*
02: * Copyright (C) 2005 - 2008 JasperSoft Corporation. All rights reserved.
03: * http://www.jaspersoft.com.
04: *
05: * Unless you have purchased a commercial license agreement from JasperSoft,
06: * the following license terms apply:
07: *
08: * This program is free software; you can redistribute it and/or modify
09: * 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: * FormatCommandIncreaseSpaceH.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;
39: import java.util.Enumeration;
40: import java.util.Iterator;
41: import java.util.Vector;
42:
43: /**
44: *
45: *
46: */
47: public class FormatCommandIncreaseSpaceH extends FormatCommand {
48: {
49: operationType = OperationType.INCREASE_SPACE_H;
50: }
51:
52: boolean preCondition() {
53: return (this .getSelectedElements().size() > 1);
54: }
55:
56: void executeDeeper() {
57: Vector bands = getBands(); // bands with selected elements
58: for (Iterator h = bands.iterator(); h.hasNext();) {
59: Band b = (Band) h.next();
60: Vector bandElements = getBandElements(b);
61: bandElements = sortXY(bandElements.elements());
62: // first element in each band will not be moved.
63: bandElements.remove(0);
64: processElements(bandElements.elements());
65: }
66: }
67:
68: public void modify() {
69: // first element is the second in the band
70: re
71: .setPosition(new Point(re.getPosition().x + 5
72: * (getCurrentElementPosition() + 1), re
73: .getPosition().y));
74: }
75:
76: }
|