Bug 209154 Enhance Report Model to support view property
The goal of this enhancement is to support a chart view property on crosstab or table report items. The view should follow the several rules: - The view automatically shares its binding with the host item, they can't be modified. - The view can be retrieved through the API only by querying it from the host item, through a getView() method. It is not accessible directly by id - A property should be available to control whether the host or view should be displayed (default is host item). If possible, this should be controllable using report parameters. - The model should return the visibile view to the report engine to ensure that there is no impact on engine code to support this new view. - The host/view combination is a single report item with a unique id Since the chart is an extended item, the model can provide additional properties to indicate which item can be view, and which item can be a host. For 2.3, only table and crosstab can be hosts, and only chart can be a view.
xtab/org.eclipse.birt.report.item.crosstab.core/src/org/eclipse/birt/report/item/crosstab/core/de/CrosstabReportItemHandle.java
import org.eclipse.birt.report.model.api.ExtendedItemHandle;
import org.eclipse.birt.report.model.api.PropertyHandle;
import org.eclipse.birt.report.model.api.ReportItemHandle;
import org.eclipse.birt.report.model.api.activity.SemanticException;
import org.eclipse.birt.report.model.api.metadata.DimensionValue;
import org.eclipse.birt.report.model.api.olap.CubeHandle;
import org.eclipse.birt.report.model.api.olap.DimensionHandle;
import org.eclipse.birt.report.model.api.olap.MeasureHandle;
import org.eclipse.birt.report.model.elements.interfaces.IReportItemModel;
/**
 * CrosstabReportItemHandle.
 */
public class CrosstabReportItemHandle extends AbstractCrosstabItemHandle implements
		ICrosstabReportItemConstants,
		ICrosstabConstants
{
	/**
	 * 
	 * @param handle
	 */
	CrosstabReportItemHandle( DesignElementHandle handle )
	{
		super( handle );
	}
	/**
	 * Gets the dimension value handle for the row where the given cell resides.
	 * 
	 * @param cell
	 *            the cell which the row contains
	 * @return the dimension value handle for the row where the cell resides