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: * FormatCommandMoveToRightMargin.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.ReportElement;
37: import java.awt.Point;
38: import java.util.Enumeration;
39:
40: /**
41: * Move all elements towards to the right margin over a distance depicted
42: * by the distance of the element with the right most EDGE to the right margin
43: * A distance left of the right margin is considered positive.
44: * Right of the right margin is considered negative.
45: */
46: public class FormatCommandMoveToRightMargin extends FormatCommand {
47: {
48: operationType = OperationType.MOVE_TO_RIGHT_MARGIN;
49: }
50:
51: int deltaRight;
52:
53: public void preparation() {
54: // Find the element width the right most edge
55: ReportElement re = null;
56: ReportElement rightMostRe = (ReportElement) this
57: .getSelectedElements().firstElement();
58:
59: Enumeration enum2 = this .getSelectedElements().elements();
60: while (enum2.hasMoreElements()) {
61: re = (ReportElement) enum2.nextElement();
62: if ((re.getPosition().x + re.getWidth()) > (rightMostRe
63: .getPosition().x + rightMostRe.getWidth())) {
64: rightMostRe = re;
65: }
66: }
67:
68: deltaRight = jrf.getReport().getRightMargin()
69: - rightMostRe.getPosition().x;
70:
71: }
72:
73: public void modify() {
74: re.setPosition(new Point(re.getPosition().x + 10 + deltaRight,
75: re.getPosition().y));
76: }
77:
78: }
|