import java.util.Iterator; import org.eclipse.jface.viewers.ArrayContentProvider; import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.ListViewer; import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.List; import com.crystaldecisions.sdk.occa.report.application.DataDefController; import com.crystaldecisions.sdk.occa.report.application.ParameterFieldController; import com.crystaldecisions.sdk.occa.report.data.IField; import com.crystaldecisions.sdk.occa.report.data.IParameterField; import com.crystaldecisions.sdk.occa.report.lib.ReportSDKException;
public class MyReportPage extends EditorPart { private List paramList; private Label paramLabel; private Button paramButton; private ListViewer listViewer; private ICrystalReportsEditor myEditor; ... }
public void createPartControl(Composite parent) { Composite composite = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); layout.numColumns = 4; composite.setLayout(layout);
paramLabel = new Label(composite, SWT.CENTER); paramLabel.setText("Parameter Fields");
paramList = new List(composite, SWT.V_SCROLL | SWT.MULTI | SWT.BORDER | SWT.H_SCROLL);
listViewer = new ListViewer(paramList); listViewer.setContentProvider(new ArrayContentProvider()); listViewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { IField field = (IField) element; return field.getFormulaForm(); } });
listViewer.addSelectionChangedListener(new ISelectionChangedListener () { public void selectionChanged(SelectionChangedEvent event) { ListViewer listViewer = (ListViewer)event.getSource(); StructuredSelection selection = (StructuredSelection)listViewer.getSelection(); if (!selection.isEmpty()) paramButton.setEnabled(true); } });
paramButton = new Button (composite, SWT.PUSH | SWT.CENTER); paramButton.setText("Delete Parameter Field"); paramButton.addSelectionListener (new SelectionAdapter() { public void widgetSelected (SelectionEvent e) { DataDefController controller = null; try { controller = myEditor.getReportClientDocument().getDataDefController(); ParameterFieldController parameterFieldController = controller.getParameterFieldController(); StructuredSelection selection = (StructuredSelection) listViewer.getSelection (); Iterator itr = selection.iterator(); while(itr.hasNext()) parameterFieldController.remove((IParameterField)itr.next()); } catch (ReportSDKException e1) { e1.printStackTrace(); } finally { ((Button) e.getSource()).setEnabled(false); } } }); }
import java.util.Iterator; import org.eclipse.jface.viewers.ArrayContentProvider; import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.jface.viewers.ListViewer; import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.List; import com.crystaldecisions.sdk.occa.report.application.DataDefController; import com.crystaldecisions.sdk.occa.report.application.ParameterFieldController; import com.crystaldecisions.sdk.occa.report.data.IField; import com.crystaldecisions.sdk.occa.report.data.IParameterField; import com.crystaldecisions.sdk.occa.report.lib.ReportSDKException; public class MyReportPage extends EditorPart { private List paramList; private Label paramLabel; private Button paramButton; private ListViewer listViewer; private ICrystalReportsEditor myEditor; ... public void createPartControl(Composite parent) { Composite composite = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); layout.numColumns = 4; composite.setLayout(layout); paramLabel = new Label(composite, SWT.CENTER); paramLabel.setText("Parameter Fields"); paramList = new List(composite, SWT.V_SCROLL | SWT.MULTI | SWT.BORDER | SWT.H_SCROLL); listViewer = new ListViewer(paramList); listViewer.setContentProvider(new ArrayContentProvider()); listViewer.setLabelProvider(new LabelProvider() { public String getText(Object element) { IField field = (IField) element; return field.getFormulaForm(); } }); paramButton = new Button (composite, SWT.PUSH | SWT.CENTER); paramButton.setText("Delete Parameter Field"); paramButton.addSelectionListener (new SelectionAdapter() { public void widgetSelected (SelectionEvent e) { DataDefController controller = null; try { controller = myEditor.getReportClientDocument().getDataDefController(); ParameterFieldController parameterFieldController = controller.getParameterFieldController(); StructuredSelection selection = (StructuredSelection) listViewer.getSelection (); Iterator itr = selection.iterator(); while(itr.hasNext()) parameterFieldController.remove((IParameterField)itr.next()); } catch (ReportSDKException e1) { e1.printStackTrace(); } finally { ((Button) e.getSource()).setEnabled(false); } } }); } }
SAP BusinessObjects http://www.sap.com/sapbusinessobjects/ Support services http://service.sap.com/bosap-support/ Product Documentation on the Web http://help.sap.com/ |