/*
 * FormatCommandCenterInBand.java
 *
 * Created on 9 mei 2005, 21:36
 */

package it.businesslogic.ireport.gui.command;

import it.businesslogic.ireport.OperationType;
import it.businesslogic.ireport.crosstab.CrosstabCell;
import java.awt.Point;


/**
 *
 */
public class FormatCommandCenterInBand extends FormatCommand{
    
    {
        operationType = OperationType.CENTER_IN_BAND;
    }
    
    int centerx;
    int centery;
    
    
    void preparation() {
        //centerx = 10 + jrf.getReport().getWidth()/2;
        int insideWidth = jrf.getReport().getWidth() - jrf.getReport().getRightMargin() - jrf.getReport().getLeftMargin() ;
        centerx = jrf.getReport().getLeftMargin() + 10+ insideWidth/2;
    }
    
    void modify() {
        
        if (re.getBand() == null) // Perform a center in cell...
        {
            CrosstabCell cell = re.getCell();
            if (cell == null) return;
            centerx = cell.getLeft() + 10 + (cell.getWidth()/2);
            centery = cell.getTop() + 10 + (cell.getHeight()/2);
         
            re.setPosition(new Point(centerx-(re.getWidth()/2), centery-(re.getHeight()/2)));
            re.updateRelativePosition();
        }
        else
        {
            int centery = jrf.getReport().getBandYLocation(re.getBand()) + 10 + re.getBand().getHeight()/2 ;
            re.setPosition(new Point(centerx-(re.getWidth()/2), centery-(re.getHeight()/2)));
        }
    }
    
}
