package org.camunda.bpm.modeler.core;

import org.eclipse.graphiti.ui.editor.DiagramEditor;
import org.eclipse.ui.views.properties.tabbed.ITabbedPropertySheetPageContributor;
import org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage;

public class Bpmn2TabbedPropertySheetPage extends TabbedPropertySheetPage {

	DiagramEditor diagramEditor;
	
	public Bpmn2TabbedPropertySheetPage(
			ITabbedPropertySheetPageContributor tabbedPropertySheetPageContributor) {
		super(tabbedPropertySheetPageContributor);
		diagramEditor = (DiagramEditor)tabbedPropertySheetPageContributor;
	}

	public DiagramEditor getDiagramEditor() {
		return diagramEditor;
	}
	
	@Override
	public void resizeScrolledComposite() {
		// TODO FIX SCROLL SPEED
		super.resizeScrolledComposite();
	}
}

@@ -81,24 +81,147 @@
 gramEditor;%0A
+import org.eclipse.jface.viewers.ISelection;%0Aimport org.eclipse.swt.widgets.Display;%0Aimport org.eclipse.ui.IWorkbenchPart;%0A
 import org.e
@@ -788,16 +788,76 @@
 verride%0A
+%09public void refresh() %7B%0A%09%09super.refresh();%0A%09%7D%0A%09%0A%09@Override%0A
 %09public 
@@ -954,10 +954,291 @@
 e();%0A%09%7D%0A
+%09%0A%09@Override%0A%09public void selectionChanged(final IWorkbenchPart part, final ISelection selection) %7B%0A%09%09%0A%09%09Display.getCurrent().asyncExec(new Runnable() %7B%0A%09%09%09%0A%09%09%09@Override%0A%09%09%09public void run() %7B%0A%09%09%09%09Bpmn2TabbedPropertySheetPage.super.selectionChanged(part, selection);%0A%09%09%09%7D%0A%09%09%7D);%0A%09%7D%0A
 %7D%0A

refresh asynchronously