Skip to content
Snippets Groups Projects
Commit 6e67c73c authored by Lukas Ladenberger's avatar Lukas Ladenberger
Browse files

fixed outline view

parent d19aa00c
No related branches found
No related tags found
No related merge requests found
......@@ -100,7 +100,7 @@ public class BMotionOutlinePage extends ContentOutlinePage {
}
private void initializeOutlineViewer() {
// getViewer().setContents(viewPart.getVisualization());
getViewer().setContents(viewPart.getVisualization());
}
/**
......
......@@ -12,6 +12,7 @@ import org.eclipse.ui.IEditorLauncher;
import org.eclipse.ui.IViewReference;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPartSite;
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.PlatformUI;
import com.thoughtworks.xstream.XStream;
......@@ -43,6 +44,7 @@ public class BMotionStudioLauncher implements IEditorLauncher {
if (simulation != null) {
PerspectiveUtil.openPerspective(simulation);
initViews(simulation);
//
// IPerspectiveDescriptor perspective = PlatformUI.getWorkbench()
// .getPerspectiveRegistry()
......@@ -93,10 +95,6 @@ public class BMotionStudioLauncher implements IEditorLauncher {
BMotionEditorPlugin.setAliases(xstream);
Object obj = xstream.fromXML(inputStream);
IWorkbenchPage activePage = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage();
IWorkbenchPartSite site = activePage.getActivePart().getSite();
if (obj instanceof Visualization) {
simulation = new Simulation();
......@@ -120,8 +118,30 @@ public class BMotionStudioLauncher implements IEditorLauncher {
simulation.setProjectFile(file);
System.out.println("Open Perspecitve");
PerspectiveUtil.openPerspective(simulation);
initViews(simulation);
BMotionEditorPlugin.openSimulation(simulation);
}
} catch (CoreException e) {
e.printStackTrace();
} finally {
try {
if (inputStream != null)
inputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
private void initViews(Simulation simulation) {
IWorkbenchPage activePage = PlatformUI.getWorkbench()
.getActiveWorkbenchWindow().getActivePage();
IWorkbenchPartSite site = activePage.getActivePart().getSite();
for (Map.Entry<String, VisualizationView> entry : simulation
.getVisualizationViews().entrySet()) {
......@@ -131,9 +151,9 @@ public class BMotionStudioLauncher implements IEditorLauncher {
Visualization vis = visView.getVisualization();
vis.setProjectFile(file);
// String partName = visView.getPartName();
IViewReference viewReference = site.getPage()
.findViewReference(VisualizationViewPart.ID, secId);
VisualizationViewPart visualizationViewPart;
IViewReference viewReference = site.getPage().findViewReference(
VisualizationViewPart.ID, secId);
VisualizationViewPart visualizationViewPart = null;
// Check if view already exists
if (viewReference != null) {
visualizationViewPart = (VisualizationViewPart) viewReference
......@@ -142,24 +162,27 @@ public class BMotionStudioLauncher implements IEditorLauncher {
+ visualizationViewPart);
} else {
// If not, create a new one
try {
visualizationViewPart = PerspectiveUtil
.createVisualizationViewPart(secId, visView);
} catch (PartInitException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(" ===> Visualization created: "
+ visualizationViewPart);
}
if (visualizationViewPart != null
&& !visualizationViewPart.isInitialized()) {
System.out
.println(" ===> Visualization initialized");
System.out.println(" ===> Visualization initialized");
visualizationViewPart.init(simulation, visView);
}
}
// Close all unused visualization views
for (IViewReference viewReference : site.getPage()
.getViewReferences()) {
for (IViewReference viewReference : site.getPage().getViewReferences()) {
if (viewReference.getId().equals(VisualizationViewPart.ID)) {
if (!simulation.getVisualizationViews().containsKey(
viewReference.getSecondaryId()))
......@@ -167,22 +190,6 @@ public class BMotionStudioLauncher implements IEditorLauncher {
}
}
BMotionEditorPlugin.openSimulation(simulation);
}
} catch (CoreException e) {
e.printStackTrace();
} finally {
try {
if (inputStream != null)
inputStream.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
......@@ -74,6 +74,8 @@ public class VisualizationViewPart extends ViewPart implements
private VisualizationView visualizationView;
private Visualization visualization;
private ActionRegistry actionRegistry;
private BMotionStudioEditor editor;
......@@ -322,6 +324,7 @@ public class VisualizationViewPart extends ViewPart implements
getCommandStack().removeCommandStackListener(this);
if (getActionRegistry() != null)
getActionRegistry().dispose();
setInitialized(false);
}
@Override
......@@ -374,6 +377,8 @@ public class VisualizationViewPart extends ViewPart implements
public void init(Simulation simulation, VisualizationView visualizationView) {
this.simulation = simulation;
this.visualizationView = visualizationView;
this.visualization = visualizationView.getVisualization();
this.graphicalViewer = new ScrollingGraphicalViewer();
this.graphicalViewer.createControl(this.container);
Visualization visualization = visualizationView.getVisualization();
......@@ -539,4 +544,8 @@ public class VisualizationViewPart extends ViewPart implements
this.isInitialized = isInitialized;
}
public Visualization getVisualization() {
return this.visualization;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment