package com.cari.voip.keyboard.soft.editors;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.gef.DefaultEditDomain;
import org.eclipse.gef.GraphicalViewer;
import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
import org.eclipse.gef.ui.actions.ActionRegistry;
import org.eclipse.gef.ui.actions.DeleteAction;
import org.eclipse.gef.ui.actions.PrintAction;
import org.eclipse.gef.ui.actions.RedoAction;
import org.eclipse.gef.ui.actions.SaveAction;
import org.eclipse.gef.ui.actions.SelectAllAction;
import org.eclipse.gef.ui.actions.UndoAction;
import org.eclipse.gef.ui.parts.GraphicalEditor;
import org.eclipse.gef.ui.parts.GraphicalViewerKeyHandler;
import org.eclipse.gef.ui.parts.ScrollingGraphicalViewer;
import org.eclipse.jface.action.IAction;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IEditorSite;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PartInitException;
import com.cari.voip.keyboard.soft.editors.edit.SwitchUserEditPartFactory;
import com.cari.voip.keyboard.soft.editors.graphicalView.SwitchUserGraphicalViewer;
import com.cari.voip.keyboard.soft.editors.input.SwitchUserInput;
import com.cari.voip.keyboard.soft.model.switchUsers.SwitchUsersGroup;
public class SwitchUserGraphicalEditor extends GraphicalEditor {
public static final String ID =
"com.cari.voip.keyboard.soft.editors.SwitchUserGraphicalEditor";
private SwitchUsersGroup diagram;
public SwitchUserGraphicalEditor(){
setEditDomain(new DefaultEditDomain(this));
}
protected void closeEditor(boolean save) {
getSite().getPage().closeEditor(SwitchUserGraphicalEditor.this, save);
}
protected void configureGraphicalViewer() {
super.configureGraphicalViewer();
GraphicalViewer viewer = getGraphicalViewer();
viewer.setEditPartFactory(new SwitchUserEditPartFactory());
viewer.setRootEditPart(new ScalableFreeformRootEditPart());
viewer.setKeyHandler(new GraphicalViewerKeyHandler(viewer));
}
@Override
protected void initializeGraphicalViewer() {
GraphicalViewer viewer = getGraphicalViewer();
((SwitchUserGraphicalViewer) viewer).hookPaintListener();
if(this.diagram != null){
viewer.setContents(this.diagram);
((SwitchUserGraphicalViewer) viewer).applyLayout();
}
}
protected void createGraphicalViewer(Composite parent) {
GraphicalViewer viewer = new SwitchUserGraphicalViewer();
viewer.createControl(parent);
setGraphicalViewer(viewer);
configureGraphicalViewer();
hookGraphicalViewer();
initializeGraphicalViewer();
}
public SwitchUsersGroup getModel(){
return this.diagram;
}
protected void setInput(IEditorInput input) {
super.setInput(input);
if(input != null && input instanceof SwitchUserInput){
this.diagram = ((SwitchUserInput)input).getSwitchUsersGroup();
}
}
public void setName(String partName){
this.setPartName(partName);
}
public boolean isDirty() {
return false;
}
@Override
public void doSave(IProgressMonitor monitor) {
}
}