use of org.eclipse.vorto.core.ui.model.IModelElement in project vorto by eclipse.
the class ModelDropListener method performDrop.
@SuppressWarnings("unchecked")
public boolean performDrop(Object data) {
Object target = getTarget();
if (data instanceof IStructuredSelection) {
Object droppedResource = ((IStructuredSelection) data).getFirstElement();
IModelElement result = null;
for (DropSourceValidatorAndAction dropActor : dropActors) {
if (dropActor.validator.allow(target, droppedResource)) {
result = dropActor.action.performDrop(target, droppedResource);
break;
}
}
if (target != null) {
ModelProjectTreeViewer viewer = (ModelProjectTreeViewer) this.getViewer();
viewer.getLocalModelWorkspace().refreshCurrent();
if (target instanceof IModelElement) {
IModelElement targetModelElement = findTarget((IModelElement) target, (Collection<IModelElement>) viewer.getInput());
if (targetModelElement != null) {
viewer.expandToLevel(targetModelElement, 1);
}
}
return true;
}
}
return false;
}
use of org.eclipse.vorto.core.ui.model.IModelElement in project vorto by eclipse.
the class ShareModelAction method run.
@Override
public void run() {
IModelElement modelElement = getSelectedElement();
try {
UploadResult uploadResult = modelRepo.upload(modelElement.getModelFile().getName(), ByteStreams.toByteArray(modelElement.getModelFile().getContents()));
ModelUploadDialog uploadDialog = new ModelUploadDialog(getViewer().getControl().getShell(), uploadResult);
uploadDialog.create();
int result = uploadDialog.open();
if (uploadResult.statusOk() && result == Window.OK) {
modelRepo.commit(uploadResult.getHandleId());
MessageDisplayFactory.getMessageDisplay().displaySuccess("Model " + modelElement.getModelFile().getName() + " saved to repository.");
}
} catch (Exception e) {
ExceptionHandlerFactory.getHandler().handle(e);
}
}
use of org.eclipse.vorto.core.ui.model.IModelElement in project vorto by eclipse.
the class DatatypeTreeViewer method initContextMenu.
protected void initContextMenu() {
final MenuManager menuMgr = new MenuManager("#PopupMenuDt");
Menu menu = menuMgr.createContextMenu(treeViewer.getControl());
menuMgr.addMenuListener(new IMenuListener() {
public void menuAboutToShow(IMenuManager manager) {
if (!treeViewer.getStructuredSelection().isEmpty()) {
final IModelElement model = (IModelElement) treeViewer.getStructuredSelection().getFirstElement();
if (model.getId().getModelType() == ModelType.Datatype) {
menuMgr.add(ShareModelAction.newInstance(treeViewer, model));
menuMgr.add(DeleteModelAction.newInstance(localModelWorkspace, treeViewer, model));
menuMgr.add(new ProjectAction("New Mapping Model", ImageUtil.getImage("add_obj.gif"), treeViewer.getLocalModelWorkspace()) {
@Override
public void doAction() {
IModelElement firstElement = (IModelElement) treeViewer.getStructuredSelection().getFirstElement();
ModelId modelId = firstElement.getId();
WizardDialog dialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), new MappingModelWizard(treeViewer.getLocalModelWorkspace().getProjectBrowser().getSelectedProject(), modelId));
dialog.create();
dialog.open();
}
});
}
}
manager.add(new ProjectAction("New Entity", ImageUtil.getImage("add_obj.gif"), treeViewer.getLocalModelWorkspace()) {
@Override
public void doAction() {
WizardDialog wizardDialog = new WizardDialog(treeViewer.getControl().getShell(), new EntityWizard(treeViewer.getLocalModelWorkspace().getProjectBrowser().getSelectedProject()));
if (wizardDialog.open() == Window.OK) {
populate(treeViewer.getLocalModelWorkspace().getProjectBrowser().getSelectedProject().getModelElementsByType(ModelType.Datatype));
}
}
});
manager.add(new ProjectAction("New Enum", ImageUtil.getImage("add_obj.gif"), treeViewer.getLocalModelWorkspace()) {
@Override
public void doAction() {
WizardDialog wizardDialog = new WizardDialog(treeViewer.getControl().getShell(), new EnumWizard(treeViewer.getLocalModelWorkspace().getProjectBrowser().getSelectedProject()));
if (wizardDialog.open() == Window.OK) {
populate(treeViewer.getLocalModelWorkspace().getProjectBrowser().getSelectedProject().getModelElementsByType(ModelType.Datatype));
}
}
});
}
});
menuMgr.setRemoveAllWhenShown(true);
this.treeViewer.getControl().setMenu(menu);
}
use of org.eclipse.vorto.core.ui.model.IModelElement in project vorto by eclipse.
the class FunctionblockTreeViewer method initContextMenu.
protected void initContextMenu() {
final MenuManager menuMgr = new MenuManager("#PopupMenuFb");
Menu menu = menuMgr.createContextMenu(treeViewer.getControl());
menuMgr.addMenuListener(new IMenuListener() {
public void menuAboutToShow(IMenuManager manager) {
if (!treeViewer.getStructuredSelection().isEmpty()) {
final IModelElement model = (IModelElement) treeViewer.getStructuredSelection().getFirstElement();
if (model.getId().getModelType() == ModelType.Functionblock) {
MenuManager generatorMenuMgr = new MenuManager("Generate Code");
generatorMenuMgr.add(new PopulateGeneratorsMenu());
menuMgr.add(generatorMenuMgr);
menuMgr.add(ShareModelAction.newInstance(treeViewer, model));
menuMgr.add(DeleteModelAction.newInstance(localModelWorkspace, treeViewer, model));
menuMgr.add(new ProjectAction("New Mapping Model", ImageUtil.getImage("add_obj.gif"), treeViewer.getLocalModelWorkspace()) {
@Override
public void doAction() {
IModelElement firstElement = (IModelElement) treeViewer.getStructuredSelection().getFirstElement();
ModelId modelId = firstElement.getId();
WizardDialog dialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), new MappingModelWizard(treeViewer.getLocalModelWorkspace().getProjectBrowser().getSelectedProject(), modelId));
dialog.create();
dialog.open();
}
});
}
}
manager.add(new ProjectAction("New Functionblock", ImageUtil.getImage("add_obj.gif"), treeViewer.getLocalModelWorkspace()) {
@Override
public void doAction() {
WizardDialog wizardDialog = new WizardDialog(treeViewer.getControl().getShell(), new FunctionBlockWizard(treeViewer.getLocalModelWorkspace().getProjectBrowser().getSelectedProject()));
if (wizardDialog.open() == Window.OK) {
populate(treeViewer.getLocalModelWorkspace().getProjectBrowser().getSelectedProject().getModelElementsByType(ModelType.Functionblock));
}
}
});
}
});
menuMgr.setRemoveAllWhenShown(true);
this.treeViewer.getControl().setMenu(menu);
}
use of org.eclipse.vorto.core.ui.model.IModelElement in project vorto by eclipse.
the class InfomodelTreeViewer method initContextMenu.
protected void initContextMenu() {
final MenuManager menuMgr = new MenuManager("#PopupMenuIM");
Menu menu = menuMgr.createContextMenu(treeViewer.getControl());
menuMgr.addMenuListener(new IMenuListener() {
public void menuAboutToShow(IMenuManager manager) {
if (!treeViewer.getStructuredSelection().isEmpty()) {
final IModelElement model = (IModelElement) treeViewer.getStructuredSelection().getFirstElement();
if (model.getId().getModelType() == ModelType.InformationModel) {
MenuManager generatorMenuMgr = new MenuManager("Generate Code");
generatorMenuMgr.add(new PopulateGeneratorsMenu());
menuMgr.add(generatorMenuMgr);
menuMgr.add(ShareModelAction.newInstance(treeViewer, model));
menuMgr.add(DeleteModelAction.newInstance(localModelWorkspace, treeViewer, model));
menuMgr.add(new ProjectAction("New Mapping Model", ImageUtil.getImage("add_obj.gif"), treeViewer.getLocalModelWorkspace()) {
@Override
public void doAction() {
IModelElement firstElement = (IModelElement) treeViewer.getStructuredSelection().getFirstElement();
ModelId modelId = firstElement.getId();
WizardDialog dialog = new WizardDialog(PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), new MappingModelWizard(treeViewer.getLocalModelWorkspace().getProjectBrowser().getSelectedProject(), modelId));
dialog.create();
dialog.open();
}
});
}
}
manager.add(new ProjectAction("New Information Model", ImageUtil.getImage("add_obj.gif"), treeViewer.getLocalModelWorkspace()) {
@Override
public void doAction() {
WizardDialog wizardDialog = new WizardDialog(treeViewer.getControl().getShell(), new InfomodelWizard(localModelWorkspace.getProjectBrowser().getSelectedProject()));
if (wizardDialog.open() == Window.OK) {
populate(localModelWorkspace.getProjectBrowser().getSelectedProject().getModelElementsByType(ModelType.InformationModel));
}
}
});
}
});
menuMgr.setRemoveAllWhenShown(true);
this.treeViewer.getControl().setMenu(menu);
}
Aggregations