01: /*
02: * Copyright 2006-2007 Pentaho Corporation. All rights reserved.
03: * This software was developed by Pentaho Corporation and is provided under the terms
04: * of the Mozilla Public License, Version 1.1, or any later version. You may not use
05: * this file except in compliance with the license. If you need a copy of the license,
06: * please go to http://www.mozilla.org/MPL/MPL-1.1.txt.
07: *
08: * Software distributed under the Mozilla Public License is distributed on an "AS IS"
09: * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. Please refer to
10: * the license for the specific language governing your rights and limitations.
11: *
12: * Additional Contributor(s): Martin Schmid gridvision engineering GmbH
13: */
14: package org.pentaho.reportdesigner.crm.report.model.layoutmanager;
15:
16: import org.jetbrains.annotations.NotNull;
17: import org.pentaho.reportdesigner.crm.report.model.ReportElement;
18:
19: import java.awt.geom.Rectangle2D;
20: import java.util.ArrayList;
21:
22: /**
23: * User: Martin
24: * Date: 21.02.2006
25: * Time: 09:27:40
26: */
27: public abstract class ReportLayoutManager {
28: public enum Type {
29: @NotNull
30: STACKED, @NotNull
31: NULL
32: }
33:
34: public void layoutReportElement(@NotNull
35: ReportElement reportElement) {
36: }
37:
38: public void temporarilyLayoutReportElement(@NotNull
39: ReportElement reportElement) {
40: }
41:
42: /**
43: * @param band
44: * @return the insertion rect of possibleNewChild in the bands coordinate space
45: */
46: @NotNull
47: public Rectangle2D.Double getDestinationRect(@NotNull
48: ReportElement band, @NotNull
49: ArrayList<ReportElement> elementsToInsert) {
50: return new Rectangle2D.Double(0, 0, band.getMinimumSize()
51: .getWidth(), 10);
52: }
53: }
|