--- /dev/null
+package org.simantics.document.swt.core;\r
+\r
+import org.eclipse.jface.layout.GridLayoutFactory;\r
+import org.eclipse.swt.widgets.Composite;\r
+import org.simantics.db.common.procedure.adapter.ListenerSupport;\r
+import org.simantics.db.common.utils.Logger;\r
+\r
+public class DocumentComposite extends Composite {\r
+ \r
+ private SWTDocumentClient client;\r
+\r
+ public DocumentComposite(Composite parent, int style, String documentUri, String inputUri) {\r
+ super(parent, style);\r
+ \r
+ GridLayoutFactory.fillDefaults().spacing(0, 0).equalWidth(false).numColumns(1).applyTo(this);\r
+ client = new SWTDocumentClient(SWTViews.getMapping(), null, null, this);\r
+\r
+ \r
+ if(inputUri != null) {\r
+ ListenerSupport support = new ListenerSupport() {\r
+\r
+ @Override\r
+ public void exception(Throwable t) {\r
+ Logger.defaultLogError(t);\r
+ }\r
+\r
+ @Override\r
+ public boolean isDisposed() {\r
+ return DocumentComposite.this.isDisposed();\r
+ }\r
+ \r
+ };\r
+ \r
+ client.track(support, documentUri, inputUri);\r
+ layout(true, true);\r
+ }\r
+ \r
+ \r
+ }\r
+\r
+}\r