2015-10-22 00:05:29 +02:00
|
|
|
/*******************************************************************************
|
2015-10-22 00:25:12 +02:00
|
|
|
* Copyright (c) 2015 MINRES Technologies GmbH and others.
|
2015-10-22 00:05:29 +02:00
|
|
|
* All rights reserved. This program and the accompanying materials
|
|
|
|
* are made available under the terms of the Eclipse Public License v1.0
|
|
|
|
* which accompanies this distribution, and is available at
|
|
|
|
* http://www.eclipse.org/legal/epl-v10.html
|
|
|
|
*
|
|
|
|
* Contributors:
|
2015-10-22 00:25:12 +02:00
|
|
|
* MINRES Technologies GmbH - initial API and implementation
|
2015-10-22 00:05:29 +02:00
|
|
|
*******************************************************************************/
|
|
|
|
package com.minres.scviewer.e4.application.handlers;
|
|
|
|
|
|
|
|
import java.io.File;
|
|
|
|
|
|
|
|
import org.eclipse.e4.core.contexts.IEclipseContext;
|
|
|
|
import org.eclipse.e4.core.di.annotations.Execute;
|
|
|
|
import org.eclipse.e4.ui.model.application.MApplication;
|
|
|
|
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
|
|
|
|
import org.eclipse.e4.ui.model.application.ui.basic.MPartStack;
|
|
|
|
import org.eclipse.e4.ui.workbench.modeling.EModelService;
|
|
|
|
import org.eclipse.e4.ui.workbench.modeling.EPartService;
|
|
|
|
import org.eclipse.e4.ui.workbench.modeling.EPartService.PartState;
|
|
|
|
import org.eclipse.swt.SWT;
|
|
|
|
import org.eclipse.swt.widgets.FileDialog;
|
|
|
|
import org.eclipse.swt.widgets.Shell;
|
2017-01-23 22:53:14 +01:00
|
|
|
|
|
|
|
import com.minres.scviewer.e4.application.Messages;
|
2015-10-22 00:05:29 +02:00
|
|
|
public class OpenHandler {
|
|
|
|
|
|
|
|
@Execute
|
|
|
|
public void execute(Shell shell, MApplication app, EModelService modelService, EPartService partService){
|
2015-11-30 22:16:29 +01:00
|
|
|
FileDialog dialog = new FileDialog(shell, SWT.OPEN | SWT.MULTI);
|
2017-01-23 22:53:14 +01:00
|
|
|
dialog.setFilterExtensions (new String []{Messages.OpenHandler_0});
|
2015-10-22 00:05:29 +02:00
|
|
|
dialog.open();
|
|
|
|
String path = dialog.getFilterPath();
|
|
|
|
for(String fileName: dialog.getFileNames()){
|
|
|
|
File file = new File(path+File.separator+fileName);
|
|
|
|
if(file.exists()){
|
2017-01-23 22:53:14 +01:00
|
|
|
MPart part = partService .createPart("com.minres.scviewer.e4.application.partdescriptor.waveformviewer"); //$NON-NLS-1$
|
2015-11-03 22:29:42 +01:00
|
|
|
part.setLabel(file.getName());
|
2017-01-23 22:53:14 +01:00
|
|
|
MPartStack partStack = (MPartStack)modelService.find("org.eclipse.editorss", app); //$NON-NLS-1$
|
2015-10-22 00:05:29 +02:00
|
|
|
partStack.getChildren().add(part);
|
|
|
|
partService.showPart(part, PartState.ACTIVATE);
|
|
|
|
IEclipseContext ctx=part.getContext();
|
2017-01-23 22:53:14 +01:00
|
|
|
ctx.modify("input", file); //$NON-NLS-1$
|
2018-10-15 09:13:41 +02:00
|
|
|
ctx.modify("config", ""); //$NON-NLS-1$
|
2015-10-22 00:05:29 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|