import org.eclipse.swt.dnd.DropTarget; import org.eclipse.swt.graphics.Point; import com.businessobjects.crystalreports.designer.sdk.ICrystalReportsEditorPage import com.crystaldecisions.sdk.occa.report.definition.ISection; import com.crystaldecisions.sdk.occa.report.definition.ITextObject; import com.crystaldecisions.sdk.occa.report.definition.TextObject; import com.crystaldecisions.sdk.occa.report.definition.Paragraphs; import com.crystaldecisions.sdk.occa.report.definition.IParagraph; import com.crystaldecisions.sdk.occa.report.definition.Paragraph; import com.crystaldecisions.sdk.occa.report.definition.IParagraphTextElement; import com.crystaldecisions.sdk.occa.report.definition.ParagraphTextElement; import com.crystaldecisions.sdk.occa.report.application.IReportClientDocument;
DropTarget target = (DropTarget) event.widget; final Point location = target.getControl().toControl(new Point(event.x, event.y));
ITextObject textObj = new TextObject(); Paragraphs paragraphs = textObj.getParagraphs(); IParagraph paragraph = new Paragraph(); paragraphs.add(paragraph); IParagraphTextElement textElement = new ParagraphTextElement(); textElement.setText(message); paragraph.getParagraphElements().add(textElement);
textObj.setLeft(location.x); textObj.setTop(location.y);
import org.eclipse.jface.util.TransferDropTargetListener; import org.eclipse.swt.dnd.DropTarget; import org.eclipse.swt.dnd.DropTargetAdapter; import org.eclipse.swt.dnd.DropTargetEvent; import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.graphics.Point; import com.businessobjects.crystalreports.designer.sdk.ICrystalReportsEditor; import com.businessobjects.crystalreports.designer.sdk.ICrystalReportsEditorPage; import com.businessobjects.crystalreports.designer.sdk.util.DNDHelper; import com.crystaldecisions.sdk.occa.report.application.IReportClientDocument; import com.crystaldecisions.sdk.occa.report.definition.IParagraph; import com.crystaldecisions.sdk.occa.report.definition.IParagraphTextElement; import com.crystaldecisions.sdk.occa.report.definition.ISection; import com.crystaldecisions.sdk.occa.report.definition.ITextObject; import com.crystaldecisions.sdk.occa.report.definition.Paragraph; import com.crystaldecisions.sdk.occa.report.definition.ParagraphTextElement; import com.crystaldecisions.sdk.occa.report.definition.Paragraphs; import com.crystaldecisions.sdk.occa.report.definition.TextObject; import com.crystaldecisions.sdk.occa.report.lib.ReportSDKException; public class MyDndDropHandler extends DropTargetAdapter implements TransferDropTargetListener { public MyDndDropHandler() { } public Transfer getTransfer() { return TextTransfer.getInstance(); } public boolean isEnabled (DropTargetEvent event) { ICrystalReportsEditor editor = DNDHelper.getCrystalReportsEditorAtScreenLocation(event.x, event.y); return (editor != null) && (event.data instanceof String); } public void drop (DropTargetEvent event) { ICrystalReportsEditor editor = DNDHelper.getCrystalReportsEditorAtScreenLocation(event.x, event.y); if (editor == null) return; ICrystalReportsEditorPage page = editor.getActiveEditorPage(); DropTarget target = (DropTarget) event.widget; final Point location = target.getControl().toControl(new Point(event.x, event.y)); final ISection section = DNDHelper.getDropTargetSection(page, location); if (section != null) { String message = (String)event.data; ITextObject textObj = new TextObject(); Paragraphs paragraphs = textObj.getParagraphs(); IParagraph paragraph = new Paragraph(); paragraphs.add(paragraph); IParagraphTextElement textElement = new ParagraphTextElement(); textElement.setText(message); paragraph.getParagraphElements().add(textElement); textObj.setLeft(location.x); textObj.setTop(location.y); try { IReportClientDocument rcd = editor.getReportClientDocument(); rcd.getReportDefController().getReportObjectController().add(textObj, section, -1); } catch (ReportSDKException e) { e.printStackTrace(); } } } }
SAP BusinessObjects http://www.sap.com/sapbusinessobjects/ Support services http://service.sap.com/bosap-support/ Product Documentation on the Web http://help.sap.com/ |