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: * FormatCommandCenterInBand.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.OperationType;
36: import it.businesslogic.ireport.crosstab.CrosstabCell;
37: import java.awt.Point;
38:
39: /**
40: *
41: */
42: public class FormatCommandCenterInBand extends FormatCommand {
43:
44: {
45: operationType = OperationType.CENTER_IN_BAND;
46: }
47:
48: int centerx;
49: int centery;
50:
51: void preparation() {
52: //centerx = 10 + jrf.getReport().getWidth()/2;
53: int insideWidth = jrf.getReport().getWidth()
54: - jrf.getReport().getRightMargin()
55: - jrf.getReport().getLeftMargin();
56: centerx = jrf.getReport().getLeftMargin() + 10 + insideWidth
57: / 2;
58: }
59:
60: void modify() {
61:
62: if (re.getBand() == null) // Perform a center in cell...
63: {
64: CrosstabCell cell = re.getCell();
65: if (cell == null)
66: return;
67: centerx = cell.getLeft() + 10 + (cell.getWidth() / 2);
68: centery = cell.getTop() + 10 + (cell.getHeight() / 2);
69:
70: re.setPosition(new Point(centerx - (re.getWidth() / 2),
71: centery - (re.getHeight() / 2)));
72: re.updateRelativePosition();
73: } else {
74: int centery = jrf.getReport()
75: .getBandYLocation(re.getBand())
76: + 10 + re.getBand().getHeight() / 2;
77: re.setPosition(new Point(centerx - (re.getWidth() / 2),
78: centery - (re.getHeight() / 2)));
79: }
80: }
81:
82: }
|