carbidecpp22devenv/plugins/org.eclipse.gmf.templates.legacy_1.0.0.v20090614-0839/codegen.templates/xpt/editor/ShortcutCreationWizard.xpt
/*
* Copyright (c) 2007 Borland Software Corporation
*
* 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:
* Dmitry Stadnik (Borland) - initial API and implementation
*/
«IMPORT "http://www.eclipse.org/gmf/2008/GenModel"»
«IMPORT "http://www.eclipse.org/emf/2002/Ecore"»
«EXTENSION xpt::editor::GenDiagram»
«EXTENSION xpt::editor::Utils»
«DEFINE className FOR gmfgen::GenDiagram»«defaultShortcutCreationWizardClassName()»«ENDDEFINE»
«DEFINE qualifiedClassName FOR gmfgen::GenDiagram»«editorGen.editor.packageName».«EXPAND className»«ENDDEFINE»
«DEFINE ShortcutCreationWizard FOR gmfgen::GenDiagram-»
«EXPAND xpt::Common::copyright FOR editorGen-»
package «editorGen.editor.packageName»;
/**
* Allows to select foreign model element and add shortcut to the diagram.
*
* @generated
*/
public class «EXPAND className» extends org.eclipse.jface.wizard.Wizard {
/**
* @generated
*/
private ReferencedElementSelectionPage referencedElementSelectionPage;
/**
* @generated
*/
private org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain;
/**
* @generated
*/
public «EXPAND className»(org.eclipse.emf.ecore.EObject modelElement, org.eclipse.gmf.runtime.notation.View view,
org.eclipse.emf.transaction.TransactionalEditingDomain editingDomain) {
referencedElementSelectionPage = new ReferencedElementSelectionPage(«EXPAND xpt::Externalizer::accessorCall(i18nKeyForShortcutWizardReferencedElementPage().nameKey()) FOR editorGen», view);
referencedElementSelectionPage.setTitle(«EXPAND xpt::Externalizer::accessorCall(i18nKeyForShortcutWizardReferencedElementPage().titleKey()) FOR editorGen»);
referencedElementSelectionPage.setDescription(«EXPAND xpt::Externalizer::accessorCall(i18nKeyForShortcutWizardReferencedElementPage().descriptionKey()) FOR editorGen»);
referencedElementSelectionPage.setModelElement(modelElement);
this.editingDomain = editingDomain;
}
/**
* @generated
*/
public void addPages() {
addPage(referencedElementSelectionPage);
}
/**
* @generated
*/
public boolean performFinish() {
org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest.ViewDescriptor viewDescriptor =
new org.eclipse.gmf.runtime.diagram.ui.requests.CreateViewRequest.ViewDescriptor(
new org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter(referencedElementSelectionPage.getModelElement()),
org.eclipse.gmf.runtime.notation.Node.class, null,
«editorGen.plugin.getActivatorQualifiedClassName()».DIAGRAM_PREFERENCES_HINT);
org.eclipse.gmf.runtime.common.core.command.ICommand command =
new org.eclipse.gmf.runtime.diagram.ui.commands.CreateCommand(
editingDomain, viewDescriptor, referencedElementSelectionPage.getView());
command = command.compose(new «getCreateShortcutDecorationsCommandQualifiedClassName()»(
editingDomain, referencedElementSelectionPage.getView(), viewDescriptor));
try {
org.eclipse.core.commands.operations.OperationHistoryFactory.getOperationHistory().execute(
command, new org.eclipse.core.runtime.NullProgressMonitor(), null);
} catch (org.eclipse.core.commands.ExecutionException ee) {
«editorGen.plugin.getActivatorQualifiedClassName()».getInstance().logError("Unable to create shortcut", ee); «EXPAND xpt::Common::nonNLS»
}
return true;
}
/**
* @generated
*/
private static class ReferencedElementSelectionPage extends «EXPAND xpt::editor::ModelElementSelectionPage::qualifiedClassName» {
/**
* @generated
*/
private org.eclipse.gmf.runtime.notation.View view;
/**
* @generated
*/
public ReferencedElementSelectionPage(String pageName, org.eclipse.gmf.runtime.notation.View view) {
super(pageName);
this.view = view;
}
/**
* @generated
*/
public org.eclipse.gmf.runtime.notation.View getView() {
return view;
}
/**
* @generated
*/
protected String getSelectionTitle() {
return «EXPAND xpt::Externalizer::accessorCall(i18nKeyForShortcutWizardReferencedElementPage().messageKey()) FOR editorGen»;
}
/**
* @generated
*/
protected boolean validatePage() {
if (selectedModelElement == null) {
setErrorMessage(«EXPAND xpt::Externalizer::accessorCall(i18nKeyForShortcutWizardReferencedElementPageEmptyError()) FOR editorGen»);
return false;
}
boolean result = org.eclipse.gmf.runtime.diagram.core.services.ViewService.getInstance().provides(
org.eclipse.gmf.runtime.notation.Node.class,
new org.eclipse.gmf.runtime.emf.core.util.EObjectAdapter(selectedModelElement),
view, null, org.eclipse.gmf.runtime.diagram.core.util.ViewUtil.APPEND, true,
«editorGen.plugin.getActivatorQualifiedClassName()».DIAGRAM_PREFERENCES_HINT);
setErrorMessage(result ? null : «EXPAND xpt::Externalizer::accessorCall(i18nKeyForShortcutWizardReferencedElementPageInvalidError()) FOR editorGen»);
return result;
}
}
}
«ENDDEFINE»
«DEFINE i18nValues FOR gmfgen::GenDiagram-»
«IF null != editorGen.application-»
«EXPAND xpt::Externalizer::messageEntry(i18nKeyForShortcutWizardReferencedElementPage().nameKey(), "Select referenced element")-»
«EXPAND xpt::Externalizer::messageEntry(i18nKeyForShortcutWizardReferencedElementPage().titleKey(), "Referenced element")-»
«EXPAND xpt::Externalizer::messageEntry(i18nKeyForShortcutWizardReferencedElementPage().descriptionKey(), "Select element that the new shortcut will refer to.")-»
«EXPAND xpt::Externalizer::messageEntry(i18nKeyForShortcutWizardReferencedElementPage().messageKey(), "Select referenced element:")-»
«EXPAND xpt::Externalizer::messageEntry(i18nKeyForShortcutWizardReferencedElementPageEmptyError(), "Referenced element is not selected")-»
«EXPAND xpt::Externalizer::messageEntry(i18nKeyForShortcutWizardReferencedElementPageInvalidError(), "Invalid referenced element is selected")-»
«ENDIF-»
«ENDDEFINE»
«DEFINE i18nAccessors FOR gmfgen::GenDiagram-»
«IF null != editorGen.application-»
«EXPAND xpt::Externalizer::accessorField(i18nKeyForShortcutWizardReferencedElementPage().nameKey())-»
«EXPAND xpt::Externalizer::accessorField(i18nKeyForShortcutWizardReferencedElementPage().titleKey())-»
«EXPAND xpt::Externalizer::accessorField(i18nKeyForShortcutWizardReferencedElementPage().descriptionKey())-»
«EXPAND xpt::Externalizer::accessorField(i18nKeyForShortcutWizardReferencedElementPage().messageKey())-»
«EXPAND xpt::Externalizer::accessorField(i18nKeyForShortcutWizardReferencedElementPageEmptyError())-»
«EXPAND xpt::Externalizer::accessorField(i18nKeyForShortcutWizardReferencedElementPageInvalidError())-»
«ENDIF-»
«ENDDEFINE»