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: * FormatCommandElementMaximize.java
28: *
29: * Created on 17 mei 2005, 21:00
30: *
31: */
32:
33: package it.businesslogic.ireport.gui.command;
34:
35: import it.businesslogic.ireport.OperationType;
36: import it.businesslogic.ireport.ReportElement;
37: import it.businesslogic.ireport.TransformationType;
38: import java.awt.Point;
39:
40: /**
41: *
42: */
43: public class FormatCommandElementMaximize extends FormatCommand {
44:
45: {
46: operationType = OperationType.ELEMENT_MAXIMIZE;
47: }
48:
49: void executeDeeper() {
50:
51: resetEnumeration();
52:
53: processElements(); //register all elements once!
54:
55: sleepUndo = true;
56:
57: getCommand(OperationType.ALIGN_TOP_TO_BAND).execute();
58: getCommand(OperationType.ALIGN_TO_LEFT_MARGIN).execute();
59:
60: int height = 0;
61: int insideWidth = jrf.getReport().getWidth()
62: - jrf.getReport().getRightMargin()
63: - jrf.getReport().getLeftMargin();
64:
65: // this is the class processElements and here without the undo registration
66: resetEnumeration();
67: while (e.hasMoreElements()) {
68: re = (ReportElement) e.nextElement();
69:
70: if (re.getBand() != null) {
71: height = re.getBand().getHeight();
72:
73: re.trasform(new Point(insideWidth - re.getWidth(),
74: height - re.getHeight()),
75: TransformationType.TRANSFORMATION_RESIZE_SE);
76: re.updateBounds();
77: } else {
78: re.trasform(new Point(re.getCell().getWidth()
79: - re.getWidth(), re.getCell().getHeight()
80: - re.getHeight()),
81: TransformationType.TRANSFORMATION_RESIZE_SE);
82: re.updateBounds();
83: }
84: }
85:
86: updateElements();
87:
88: sleepUndo = false;
89: }
90:
91: }
|