KickJava   Java API By Example, From Geeks To Geeks.

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


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  * 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 JavaDoc;
38
39
40 /**
41  *
42  */

43 public class FormatCommandCenterInBand extends FormatCommand{
44     
45     {
46         operationType = OperationType.CENTER_IN_BAND;
47     }
48     
49     int centerx;
50     int centery;
51     
52     
53     void preparation() {
54         //centerx = 10 + jrf.getReport().getWidth()/2;
55
int insideWidth = jrf.getReport().getWidth() - jrf.getReport().getRightMargin() - jrf.getReport().getLeftMargin() ;
56         centerx = jrf.getReport().getLeftMargin() + 10+ insideWidth/2;
57     }
58     
59     void modify() {
60         
61         if (re.getBand() == null) // Perform a center in cell...
62
{
63             CrosstabCell cell = re.getCell();
64             if (cell == null) return;
65             centerx = cell.getLeft() + 10 + (cell.getWidth()/2);
66             centery = cell.getTop() + 10 + (cell.getHeight()/2);
67          
68             re.setPosition(new Point JavaDoc(centerx-(re.getWidth()/2), centery-(re.getHeight()/2)));
69             re.updateRelativePosition();
70         }
71         else
72         {
73             int centery = jrf.getReport().getBandYLocation(re.getBand()) + 10 + re.getBand().getHeight()/2 ;
74             re.setPosition(new Point JavaDoc(centerx-(re.getWidth()/2), centery-(re.getHeight()/2)));
75         }
76     }
77     
78 }
79
Popular Tags