blob: 4360168cb96e875ccfe998e24b0f4171d89d957c [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2020 Primetals Technologies Austria GmbH
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0.
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Alois Zoitl - initial API and implementation and/or initial documentation
*******************************************************************************/
package org.eclipse.fordiac.ide.subapptypeeditor.editors;
import org.eclipse.core.resources.IMarker;
import org.eclipse.fordiac.ide.application.editors.FBTypePaletteViewerProvider;
import org.eclipse.fordiac.ide.application.editors.SubAppNetworkEditor;
import org.eclipse.fordiac.ide.application.utilities.FbTypeTemplateTransferDropTargetListener;
import org.eclipse.fordiac.ide.fbtypeeditor.FBTypeEditDomain;
import org.eclipse.fordiac.ide.fbtypeeditor.editors.IFBTEditorPart;
import org.eclipse.fordiac.ide.model.Palette.Palette;
import org.eclipse.fordiac.ide.model.libraryElement.AutomationSystem;
import org.eclipse.fordiac.ide.model.typelibrary.TypeLibrary;
import org.eclipse.gef.commands.CommandStack;
import org.eclipse.gef.ui.palette.PaletteViewerProvider;
import org.eclipse.jface.util.TransferDropTargetListener;
import org.eclipse.ui.IEditorInput;
public class UnTypedSubAppNetworkEditor extends SubAppNetworkEditor implements IFBTEditorPart {
private CommandStack commandStack;
private TypeLibrary typeLib;
public void setTypeLib(final TypeLibrary typeLib) {
this.typeLib = typeLib;
}
@Override
public void setCommonCommandStack(final CommandStack commandStack) {
this.commandStack = commandStack;
}
@Override
protected void setModel(final IEditorInput input) {
super.setModel(input);
setEditDomain(new FBTypeEditDomain(this, commandStack));
}
@Override
protected String getPaletteNavigatorID() {
// for subapp types we want to show the same as for applications. If we wouldn't
// provide this here
// we would get the palette of the composite FB type editor
return "org.eclipse.fordiac.ide.fbpaletteviewer"; //$NON-NLS-1$
}
@Override
protected Palette getPalette() {
return typeLib.getBlockTypeLib();
}
@Override
public AutomationSystem getSystem() {
return null;
}
@Override
protected PaletteViewerProvider createPaletteViewerProvider() {
return new FBTypePaletteViewerProvider(typeLib.getProject(), getEditDomain(), getPaletteNavigatorID());
}
@Override
protected TransferDropTargetListener createTransferDropTargetListener() {
return new FbTypeTemplateTransferDropTargetListener(getGraphicalViewer(), getPalette().getProject());
}
@Override
public void gotoMarker(final IMarker marker) {
// TODO Auto-generated method stub
}
@Override
public boolean outlineSelectionChanged(final Object selectedElement) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isMarkerTarget(final IMarker marker) {
// TODO Auto-generated method stub
return false;
}
}