X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.template2d.ui%2Fsrc%2Forg%2Fsimantics%2Fmodeling%2Ftemplate2d%2Fui%2Fexport%2FDrawingTemplateExporter.java;h=e3ae930349052d7c66d52df821857c4761486050;hp=2a60f8095b812820e3b59d9f58c793db6c75a50a;hb=60509f4629d5ca644dd9533dd2abc64349aad328;hpb=e88be95edf1f80781646cfdf717ec1b663264179 diff --git a/bundles/org.simantics.modeling.template2d.ui/src/org/simantics/modeling/template2d/ui/export/DrawingTemplateExporter.java b/bundles/org.simantics.modeling.template2d.ui/src/org/simantics/modeling/template2d/ui/export/DrawingTemplateExporter.java index 2a60f8095..e3ae93034 100644 --- a/bundles/org.simantics.modeling.template2d.ui/src/org/simantics/modeling/template2d/ui/export/DrawingTemplateExporter.java +++ b/bundles/org.simantics.modeling.template2d.ui/src/org/simantics/modeling/template2d/ui/export/DrawingTemplateExporter.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Set; import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.SubMonitor; import org.osgi.service.prefs.Preferences; import org.simantics.databoard.binding.mutable.Variant; import org.simantics.databoard.type.RecordType; @@ -61,9 +62,10 @@ public class DrawingTemplateExporter implements ExportClass { ) throws ExportException { final TransferableGraphWriter writer = (TransferableGraphWriter) writer_; - + SubMonitor ss = SubMonitor.convert(monitor, 2); try { List resources = context.session.syncRequest( ExportQueries.toResources2(contents) ); + SubMonitor subMonitor = ss.split(resources.size()); for ( final Resource model : resources ) { // TODO: figure out a way to make the TG go directly into a file // instead of having it all in memory at once. @@ -72,13 +74,15 @@ public class DrawingTemplateExporter implements ExportClass { public SimanticsClipboard perform(ReadGraph graph) throws DatabaseException { CopyHandler ch = graph.adapt( model, CopyHandler.class ); SimanticsClipboardImpl clipboard = new SimanticsClipboardImpl(); - ch.copyToClipboard(graph, clipboard); + ch.copyToClipboard(graph, clipboard, subMonitor.split(1)); return clipboard; } }); + SubMonitor subMonitor2 = ss.split(resources.size()); for (Set object : clipboard.getContents()) { TransferableGraph1 tg = ClipboardUtils.accept(object, SimanticsKeys.KEY_TRANSFERABLE_GRAPH); writer.writeFile(TransferableGraph1.BINDING, tg); + subMonitor2.worked(1); } }