[英]how to create an image of a GEF diagram on a server
我想在服務器端創建Eclipse GEF圖的圖像,而不必加載整個編輯器環境。
該圖是使用設計蝕BPMN2-建模器 ,其基於蝕graphiti其基於GEF 。
這個想法是:
該代碼段應該執行步驟1,加載BPMN模型:
URI modelUri = URI.createFileURI("D:/temp/data.bpmn");
ResourceSet resourceSet = new Bpmn2ModelerResourceSetImpl();
resourceSet.setURIConverter(new ProxyURIConverterImplExtension(modelUri));
Bpmn2ResourceImpl resource = (Bpmn2ResourceImpl) resourceSet.createResource(modelUri, Bpmn2ModelerResourceImpl.BPMN2_CONTENT_TYPE_ID);
ModelHandler modelHandler = ModelHandlerLocator.createModelHandler(modelUri, resource);
生成圖表信息,我發現org.eclipse.bpmn2.modeler.core.di.DIImport
。
這里的問題是,構造函數需要一個org.eclipse.graphiti.ui.editor.DiagramEditor
並且在服務器上我沒有一個,沒有運行中的UI環境。
還有其他一些util或handler可以為我生成圖表嗎?
我看了一下org.eclipse.graphiti.ui.features.DefaultSaveImageFeature
和org.eclipse.graphiti.ui.internal.util.ui.print.AbstractFigureSelectionDialog (initScaledImage())
。
但是我需要先通過第2步問題,然后再對此進行深入研究。
也許我走錯路了,有更簡單的方法嗎?
您可以看看GMF如何在沒有編輯器的情況下生成圖表圖像。 但是,該生成仍然取決於UI,因為您需要SWT和Display線程(可以在無頭Eclipse模式下啟動Display線程)。
這個想法是使用EditPart工廠為模型元素創建editpart,然后在屏幕外的Shell所托管的Canvas上繪制根圖。 GC的圖形上下文是SWT圖像。 有多種方法可以生成圖表的圖像,而無需使用基於AWT的Eclipse UI或生成SVG。 但是,請記住,在涉及文本標簽時,圖形的布局取決於SWT,因此無論哪種方式都需要SWT和Display線程。 圖形的顏色,字體和其他屬性也是SWT對象。
GMF中要查看的類是org.eclipse.gmf.runtime.diagram.ui.OffscreenEditPartFactory
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.