carbidecpp22devenv/plugins/org.eclipse.gmf.templates.legacy_1.0.0.v20090614-0839/codegen.templates/xpt/navigator/NavigatorLabelProvider.xpt
changeset 422 033392511bf7
equal deleted inserted replaced
421:631a44165bcf 422:033392511bf7
       
     1 /*
       
     2  * Copyright (c) 2006, 2008 Borland Software Corporation
       
     3  * 
       
     4  * All rights reserved. This program and the accompanying materials
       
     5  * are made available under the terms of the Eclipse Public License v1.0
       
     6  * which accompanies this distribution, and is available at
       
     7  * http://www.eclipse.org/legal/epl-v10.html
       
     8  *
       
     9  * Contributors:
       
    10  *    Alexander Shatalin (Borland) - initial API and implementation
       
    11  */
       
    12  
       
    13 «IMPORT "http://www.eclipse.org/gmf/2008/GenModel"»
       
    14 «IMPORT "http://www.eclipse.org/emf/2002/GenModel"»
       
    15 «IMPORT "http://www.eclipse.org/emf/2002/Ecore"»
       
    16 «EXTENSION xpt::navigator::Utils»
       
    17 «EXTENSION xpt::GenModelUtils»
       
    18  
       
    19 «DEFINE NavigatorLabelProvider FOR gmfgen::GenNavigator-»
       
    20 	«EXPAND xpt::Common::copyright FOR editorGen-»
       
    21 package «packageName»;
       
    22 
       
    23 «EXPAND xpt::Common::generatedClassComment»
       
    24 public class «labelProviderClassName» extends org.eclipse.jface.viewers.LabelProvider implements org.eclipse.ui.navigator.ICommonLabelProvider, org.eclipse.jface.viewers.ITreePathLabelProvider {
       
    25 
       
    26 	«EXPAND staticInitializer-»
       
    27 	
       
    28 	«EXPAND updateLabel-»
       
    29 	
       
    30 	«EXPAND getImage-»
       
    31 	
       
    32 	«EXPAND getViewImage-»
       
    33 	
       
    34 	«EXPAND getImageByKey-»
       
    35 	
       
    36 	«EXPAND getText-»
       
    37 	
       
    38 	«EXPAND getViewText-»
       
    39 	
       
    40 	«EXPAND getTextMethod FOREACH getNavigatorContainedNodes(this)-»
       
    41 	
       
    42 	«EXPAND getUnknownElementText-»
       
    43 	
       
    44 	«EXPAND getUnresolvedDomainElementProxyText-»
       
    45 	
       
    46 	«EXPAND init-»
       
    47 
       
    48 	«EXPAND restoreState-»
       
    49 
       
    50 	«EXPAND saveState-»
       
    51 	
       
    52 	«EXPAND getDescription-»
       
    53 	
       
    54 	«EXPAND isOwnView-»
       
    55 
       
    56 	«EXPAND additions-»
       
    57 }
       
    58 «ENDDEFINE»
       
    59 
       
    60 «DEFINE staticInitializer FOR gmfgen::GenNavigator-»
       
    61 	«EXPAND xpt::Common::generatedMemberComment»
       
    62 static {
       
    63 	«editorGen.plugin.getActivatorQualifiedClassName()».getInstance().getImageRegistry().put(«EXPAND unknownElementKey», org.eclipse.jface.resource.ImageDescriptor.getMissingImageDescriptor()); «EXPAND xpt::Common::nonNLS»
       
    64 	«editorGen.plugin.getActivatorQualifiedClassName()».getInstance().getImageRegistry().put(«EXPAND notFoundElementKey», org.eclipse.jface.resource.ImageDescriptor.getMissingImageDescriptor()); «EXPAND xpt::Common::nonNLS»
       
    65 }
       
    66 «ENDDEFINE»
       
    67 
       
    68 «DEFINE updateLabel FOR gmfgen::GenNavigator-»
       
    69 	«EXPAND xpt::Common::generatedMemberComment»
       
    70 public void updateLabel(org.eclipse.jface.viewers.ViewerLabel label, org.eclipse.jface.viewers.TreePath elementPath) {
       
    71 	Object element = elementPath.getLastSegment();
       
    72 	if (element instanceof «getNavigatorItemQualifiedClassName()» && !isOwnView(((«getNavigatorItemQualifiedClassName()») element).getView())) {
       
    73 		return;
       
    74 	}
       
    75 	label.setText(getText(element));
       
    76 	label.setImage(getImage(element));
       
    77 }
       
    78 «ENDDEFINE»
       
    79 
       
    80 «DEFINE getImage FOR gmfgen::GenNavigator-»
       
    81 	«EXPAND xpt::Common::generatedMemberComment»
       
    82 public org.eclipse.swt.graphics.Image getImage(Object element) {
       
    83 	«EXPAND getNavigatorGroupImage-»
       
    84 
       
    85 	«EXPAND getNavigatorItemImage-»
       
    86 
       
    87 	«EXPAND getAdaptableImage-»
       
    88 
       
    89 	«EXPAND getAdditionalInputImage-»
       
    90 	return super.getImage(element);
       
    91 }
       
    92 «ENDDEFINE»
       
    93 
       
    94 «DEFINE getNavigatorGroupImage FOR gmfgen::GenNavigator-»
       
    95 if (element instanceof «getNavigatorGroupQualifiedClassName()») {
       
    96 	«getNavigatorGroupQualifiedClassName()» group = («getNavigatorGroupQualifiedClassName()») element;
       
    97 	return «editorGen.plugin.getActivatorQualifiedClassName()».getInstance().getBundledImage(group.getIcon());
       
    98 }
       
    99 «ENDDEFINE»
       
   100 
       
   101 «DEFINE getNavigatorItemImage FOR gmfgen::GenNavigator-»
       
   102 if (element instanceof «getNavigatorItemQualifiedClassName()») {
       
   103 	«getNavigatorItemQualifiedClassName()» navigatorItem = («getNavigatorItemQualifiedClassName()») element;
       
   104 	if (!isOwnView(navigatorItem.getView())) {
       
   105 		return super.getImage(element);
       
   106 	}
       
   107 	return getImage(navigatorItem.getView());
       
   108 }
       
   109 «ENDDEFINE»
       
   110 
       
   111 «DEFINE getAdaptableImage FOR gmfgen::GenNavigator-»
       
   112 «IF editorGen.diagram.generateShortcutIcon()-»
       
   113 // Due to plugin.xml content will be called only for "own" views
       
   114 if (element instanceof org.eclipse.core.runtime.IAdaptable) {
       
   115 	org.eclipse.gmf.runtime.notation.View view = (org.eclipse.gmf.runtime.notation.View) ((org.eclipse.core.runtime.IAdaptable) element).getAdapter(org.eclipse.gmf.runtime.notation.View.class);
       
   116 	if (view != null && isOwnView(view)) {
       
   117 		return getImage(view);
       
   118 	}
       
   119 }
       
   120 «ENDIF-»
       
   121 «ENDDEFINE»
       
   122 
       
   123 «DEFINE getAdditionalInputImage FOR gmfgen::GenNavigator-»
       
   124 «ENDDEFINE»
       
   125 
       
   126 «DEFINE getViewImage FOR gmfgen::GenNavigator-»
       
   127 	«EXPAND xpt::Common::generatedMemberComment»
       
   128 public org.eclipse.swt.graphics.Image getImage(org.eclipse.gmf.runtime.notation.View view) {
       
   129 	«IF !getNavigatorContainedNodes(this).isEmpty()-»
       
   130 	switch («EXPAND xpt::editor::VisualIDRegistry::getVisualIDMethodCall FOR editorGen.diagram»(view)) {
       
   131 		«EXPAND caseImage FOREACH getNavigatorContainedNodes(this)-»
       
   132 	}
       
   133 	«ENDIF-»
       
   134 	return getImage(«EXPAND unknownElementKey», null); «EXPAND xpt::Common::nonNLS»
       
   135 }
       
   136 «ENDDEFINE»
       
   137 
       
   138 «DEFINE caseImage FOR gmfgen::GenCommonBase-»
       
   139 «EXPAND xpt::Common::caseVisualID»
       
   140 	return getImage("«EXPAND key»", «IF null != elementType»«getDiagram().getElementTypesQualifiedClassName()».«getUniqueIdentifier()»«ELSE»null«ENDIF»); «EXPAND xpt::Common::nonNLS»
       
   141 «ENDDEFINE»
       
   142 
       
   143 «DEFINE getImageByKey FOR gmfgen::GenNavigator-»
       
   144 	«EXPAND xpt::Common::generatedMemberComment»
       
   145 private org.eclipse.swt.graphics.Image getImage(String key, org.eclipse.gmf.runtime.emf.type.core.IElementType elementType) {
       
   146 	org.eclipse.jface.resource.ImageRegistry imageRegistry = «editorGen.plugin.getActivatorQualifiedClassName()».getInstance().getImageRegistry();
       
   147 	org.eclipse.swt.graphics.Image image = imageRegistry.get(key);
       
   148 	if (image == null && elementType != null && «editorGen.diagram.getElementTypesQualifiedClassName()».isKnownElementType(elementType)) {
       
   149 		image = «editorGen.diagram.getElementTypesQualifiedClassName()».getImage(elementType);
       
   150 		imageRegistry.put(key, image);
       
   151 	}
       
   152 			
       
   153 	if (image == null) {
       
   154 		image = imageRegistry.get(«EXPAND notFoundElementKey»); «EXPAND xpt::Common::nonNLS»
       
   155 		imageRegistry.put(key, image);
       
   156 	}
       
   157 	return image;
       
   158 }
       
   159 «ENDDEFINE»
       
   160 
       
   161 «DEFINE getText FOR gmfgen::GenNavigator-»
       
   162 	«EXPAND xpt::Common::generatedMemberComment»
       
   163 public String getText(Object element) {
       
   164 	«EXPAND getNavigatorGroupText-»
       
   165 
       
   166 	«EXPAND getNavigatorItemText-»
       
   167 
       
   168 	«EXPAND getAdaptableText-»
       
   169 
       
   170 	«EXPAND getAdditionalInputText-»
       
   171 	return super.getText(element);
       
   172 }
       
   173 «ENDDEFINE»
       
   174 
       
   175 «DEFINE getNavigatorGroupText FOR gmfgen::GenNavigator-»
       
   176 if (element instanceof «getNavigatorGroupQualifiedClassName()») {
       
   177 	«getNavigatorGroupQualifiedClassName()» group = («getNavigatorGroupQualifiedClassName()») element;
       
   178 	return group.getGroupName();
       
   179 }
       
   180 «ENDDEFINE»
       
   181 
       
   182 «DEFINE getNavigatorItemText FOR gmfgen::GenNavigator-»
       
   183 if (element instanceof «getNavigatorItemQualifiedClassName()») {
       
   184 	«getNavigatorItemQualifiedClassName()» navigatorItem = («getNavigatorItemQualifiedClassName()») element;
       
   185    		if (!isOwnView(navigatorItem.getView())) {
       
   186    			return null;
       
   187    		}
       
   188    		return getText(navigatorItem.getView());
       
   189 	}
       
   190 «ENDDEFINE»
       
   191 
       
   192 «DEFINE getAdaptableText FOR gmfgen::GenNavigator-»
       
   193 «IF editorGen.diagram.generateShortcutIcon()-»
       
   194 // Due to plugin.xml content will be called only for "own" views
       
   195 if (element instanceof org.eclipse.core.runtime.IAdaptable) {
       
   196 	org.eclipse.gmf.runtime.notation.View view = (org.eclipse.gmf.runtime.notation.View) ((org.eclipse.core.runtime.IAdaptable) element).getAdapter(org.eclipse.gmf.runtime.notation.View.class);
       
   197 	if (view != null && isOwnView(view)) {
       
   198 		return getText(view);
       
   199 	}
       
   200 }
       
   201 «ENDIF-»
       
   202 «ENDDEFINE»
       
   203 
       
   204 «DEFINE getAdditionalInputText FOR gmfgen::GenNavigator-»
       
   205 «ENDDEFINE»
       
   206 
       
   207 «DEFINE getViewText FOR gmfgen::GenNavigator-»
       
   208 	«EXPAND xpt::Common::generatedMemberComment»
       
   209 public String getText(org.eclipse.gmf.runtime.notation.View view) {
       
   210 	if (view.getElement() != null && view.getElement().eIsProxy()) {
       
   211 		return getUnresolvedDomainElementProxyText(view);
       
   212 	}
       
   213 	«IF !getNavigatorContainedNodes(this).isEmpty()-»
       
   214 	switch («EXPAND xpt::editor::VisualIDRegistry::getVisualIDMethodCall FOR editorGen.diagram»(view)) {
       
   215 		«EXPAND caseText FOREACH getNavigatorContainedNodes(this)-»
       
   216 	}
       
   217 	«ENDIF-»
       
   218 	return getUnknownElementText(view);
       
   219 }
       
   220 «ENDDEFINE»
       
   221 
       
   222 «DEFINE caseText FOR gmfgen::GenCommonBase-»
       
   223 «EXPAND xpt::Common::caseVisualID»
       
   224 	return «EXPAND getTextMethodName»(view);
       
   225 «ENDDEFINE»
       
   226 
       
   227 «DEFINE getTextMethodName FOR gmfgen::GenCommonBase»get«getUniqueIdentifier()»Text«ENDDEFINE»
       
   228 
       
   229 «DEFINE getTextMethod FOR gmfgen::GenCommonBase-»
       
   230 	«EXPAND xpt::Common::generatedMemberComment»
       
   231 private String «EXPAND getTextMethodName»(org.eclipse.gmf.runtime.notation.View view) {
       
   232 	«EXPAND getText-»
       
   233 }
       
   234 «ENDDEFINE»
       
   235 
       
   236 «DEFINE getText FOR gmfgen::GenCommonBase»«ERROR "Incorrect GenCommonBase: " + this»«ENDDEFINE»
       
   237 
       
   238 «DEFINE getText FOR gmfgen::GenDiagram-»
       
   239 	«EXPAND getLabelFeatureText(domainDiagramElement)-»
       
   240 «ENDDEFINE»
       
   241 
       
   242 «DEFINE getText FOR gmfgen::GenChildLabelNode-»
       
   243 «IF labelModelFacet == null-»
       
   244 	«EXPAND getDiagramLabelTextNoModelFacet(this)-»
       
   245 «ELSE-»
       
   246 	«EXPAND getDiagramLabelText(this, this) FOR labelModelFacet-»
       
   247 «ENDIF-»
       
   248 «ENDDEFINE»
       
   249 
       
   250 «DEFINE getText FOR gmfgen::GenLinkLabel-»
       
   251 	«EXPAND getDiagramLabelText(link, this) FOR modelFacet-»
       
   252 «ENDDEFINE»
       
   253 
       
   254 «DEFINE getText FOR gmfgen::GenNodeLabel-»
       
   255 	«EXPAND getDiagramLabelText(node, this) FOR modelFacet-»
       
   256 «ENDDEFINE»
       
   257 
       
   258 «DEFINE getText FOR gmfgen::GenNode-»
       
   259 	«IF labels.isEmpty()-»
       
   260 		«EXPAND getLabelFeatureText(modelFacet.metaClass)-»
       
   261 	«ELSE-»
       
   262 		«EXPAND getDiagramLabelText(labels)-»
       
   263 	«ENDIF-»
       
   264 «ENDDEFINE»
       
   265 
       
   266 «DEFINE getText FOR gmfgen::GenLink-»
       
   267 	«IF labels.isEmpty()-»
       
   268 		«EXPAND getText(modelFacet)-»
       
   269 	«ELSE-»
       
   270 		«EXPAND getDiagramLabelText(labels)-»
       
   271 	«ENDIF-»
       
   272 «ENDDEFINE»
       
   273 
       
   274 «DEFINE getDiagramLabelText(List[gmfgen::GenLabel] labels) FOR gmfgen::GenCommonBase-»
       
   275 	«IF labels.isEmpty()-»
       
   276 		«ERROR "Empty list of labels passed"-»
       
   277 	«ENDIF-»
       
   278 	«LET (gmfgen::GenLabel) labels.first() AS label-»
       
   279 	«IF label.modelFacet == null-»
       
   280 		«EXPAND getDiagramLabelTextNoModelFacet(label)-»
       
   281 	«ELSE-»
       
   282 		«EXPAND getDiagramLabelText(this, label) FOR label.modelFacet-»
       
   283 	«ENDIF»
       
   284 	«ENDLET-»
       
   285 «ENDDEFINE»
       
   286 
       
   287 «REM»FIXME: Refactor. This is a fast copy of getDiagramLabelText template (below) to fix #193178. Need to reuse parts of TextAware.xpt«ENDREM»
       
   288 «DEFINE getDiagramLabelTextNoModelFacet(gmfgen::GenCommonBase label) FOR gmfgen::GenCommonBase»
       
   289 		org.eclipse.core.runtime.IAdaptable hintAdapter = new «getDiagram().getParserProviderQualifiedClassName()».HintAdapter(
       
   290 			«getDiagram().getElementTypesQualifiedClassName()».«getUniqueIdentifier()», 
       
   291 			(view.getElement() != null ? view.getElement() : view), 
       
   292 			«EXPAND xpt::editor::VisualIDRegistry::getTypeMethodCall FOR label.getDiagram()»(«EXPAND xpt::editor::VisualIDRegistry::visualID FOR label»));
       
   293 		org.eclipse.gmf.runtime.common.ui.services.parser.IParser parser = org.eclipse.gmf.runtime.common.ui.services.parser.ParserService.getInstance().getParser(hintAdapter);
       
   294 		if (parser != null) {
       
   295 			return parser.getPrintString(hintAdapter, org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions.NONE.intValue());
       
   296 		} else {
       
   297 			«EXPAND returnEmptyString-»
       
   298 		}
       
   299 «ENDDEFINE»
       
   300 
       
   301 «DEFINE getText(gmfgen::LinkModelFacet modelFacet) FOR gmfgen::GenLink-»
       
   302 	«EXPAND returnEmptyString-»
       
   303 «ENDDEFINE»
       
   304 
       
   305 «DEFINE getText(gmfgen::TypeLinkModelFacet modelFacet) FOR gmfgen::GenLink-»
       
   306 	«EXPAND getLabelFeatureText(modelFacet.metaClass)-»
       
   307 «ENDDEFINE»
       
   308 
       
   309 «DEFINE getText FOR gmfgen::GenCompartment-»
       
   310 return "«title»"; «EXPAND xpt::Common::nonNLS»
       
   311 «ENDDEFINE»
       
   312 
       
   313 «DEFINE getDiagramLabelText(gmfgen::GenCommonBase elementTypeHolder, gmfgen::GenCommonBase hintHolder) FOR gmfgen::LabelModelFacet-»
       
   314 org.eclipse.core.runtime.IAdaptable hintAdapter = new «elementTypeHolder.getDiagram().getParserProviderQualifiedClassName()».HintAdapter(«elementTypeHolder.getDiagram().getElementTypesQualifiedClassName()».«elementTypeHolder.getUniqueIdentifier()», (view.getElement() != null ? view.getElement() : view), «EXPAND hint(hintHolder)»);
       
   315 org.eclipse.gmf.runtime.common.ui.services.parser.IParser parser = org.eclipse.gmf.runtime.common.ui.services.parser.ParserService.getInstance().getParser(hintAdapter);
       
   316 		
       
   317 if (parser != null) {
       
   318 	return parser.getPrintString(hintAdapter, org.eclipse.gmf.runtime.common.ui.services.parser.ParserOptions.NONE.intValue());
       
   319 } else {
       
   320 	«hintHolder.getDiagram().editorGen.plugin.getActivatorQualifiedClassName()».getInstance().logError("Parser was not found for label " + «hintHolder.visualID»); «EXPAND xpt::Common::nonNLS»
       
   321 	«EXPAND returnEmptyString-»
       
   322 }
       
   323 «ENDDEFINE»
       
   324 
       
   325 «DEFINE hint(gmfgen::GenCommonBase hintHolder) FOR gmfgen::LabelModelFacet»«EXPAND xpt::editor::VisualIDRegistry::getTypeMethodCall FOR hintHolder.getDiagram()»(«EXPAND xpt::editor::VisualIDRegistry::visualID FOR hintHolder»)«ENDDEFINE»
       
   326 
       
   327 «DEFINE hint(gmfgen::GenCommonBase hintHolder) FOR gmfgen::DesignLabelModelFacet»org.eclipse.gmf.runtime.common.ui.services.parser.CommonParserHint.DESCRIPTION«ENDDEFINE»
       
   328 
       
   329 «DEFINE getLabelFeatureText(genmodel::GenClass genClass) FOR gmfgen::GenCommonBase-»
       
   330 	«IF null != genClass && null != genClass.labelFeature-»
       
   331 «EXPAND MetaModel::DeclareAndAssign("domainModelElement", "view.getElement()") FOR genClass»
       
   332 if (domainModelElement != null) {
       
   333 	return «IF !isStringFeature(genClass.labelFeature)»String.valueOf(«ENDIF»«EXPAND MetaModel::getFeatureValue("domainModelElement", genClass) FOR genClass.labelFeature»«IF !isStringFeature(genClass.labelFeature)»)«ENDIF»;
       
   334 } else {
       
   335 	«getDiagram().editorGen.plugin.getActivatorQualifiedClassName()».getInstance().logError("No domain element for view with visualID = " + «visualID»); «EXPAND xpt::Common::nonNLS»
       
   336 		«EXPAND returnEmptyString-»
       
   337 }
       
   338 	«ELSE-»
       
   339 		«EXPAND returnEmptyString-»
       
   340 	«ENDIF-»
       
   341 «ENDDEFINE»
       
   342 
       
   343 «DEFINE returnEmptyString FOR Object-»
       
   344 return ""; «EXPAND xpt::Common::nonNLS»
       
   345 «ENDDEFINE»
       
   346 
       
   347 «DEFINE getUnknownElementText FOR gmfgen::GenNavigator-»
       
   348 	«EXPAND xpt::Common::generatedMemberComment»
       
   349 private String getUnknownElementText(org.eclipse.gmf.runtime.notation.View view) {
       
   350 	return "<UnknownElement Visual_ID = " + view.getType() + ">"; «EXPAND xpt::Common::nonNLS(1)» «EXPAND xpt::Common::nonNLS(2)»
       
   351 }
       
   352 «ENDDEFINE»
       
   353 
       
   354 «DEFINE getUnresolvedDomainElementProxyText FOR gmfgen::GenNavigator-»
       
   355 	«EXPAND xpt::Common::generatedMemberComment»
       
   356 private String getUnresolvedDomainElementProxyText(org.eclipse.gmf.runtime.notation.View view) {
       
   357 	return "<Unresolved domain element Visual_ID = " + view.getType() + ">"; «EXPAND xpt::Common::nonNLS(1)» «EXPAND xpt::Common::nonNLS(2)»
       
   358 }
       
   359 «ENDDEFINE»
       
   360 
       
   361 «DEFINE init FOR gmfgen::GenNavigator-»
       
   362 	«EXPAND xpt::Common::generatedMemberComment»
       
   363 public void init(org.eclipse.ui.navigator.ICommonContentExtensionSite aConfig) {
       
   364 }
       
   365 «ENDDEFINE»
       
   366 
       
   367 «DEFINE restoreState FOR gmfgen::GenNavigator-»
       
   368 	«EXPAND xpt::Common::generatedMemberComment»
       
   369 public void restoreState(org.eclipse.ui.IMemento aMemento) {
       
   370 }
       
   371 «ENDDEFINE»
       
   372 
       
   373 «DEFINE saveState FOR gmfgen::GenNavigator-»
       
   374 	«EXPAND xpt::Common::generatedMemberComment»
       
   375 public void saveState(org.eclipse.ui.IMemento aMemento) {
       
   376 }
       
   377 «ENDDEFINE»
       
   378 	
       
   379 «DEFINE getDescription FOR gmfgen::GenNavigator-»
       
   380 	«EXPAND xpt::Common::generatedMemberComment»
       
   381 public String getDescription(Object anElement) {
       
   382 	return null;
       
   383 }
       
   384 «ENDDEFINE»
       
   385 	
       
   386 «DEFINE isOwnView FOR gmfgen::GenNavigator-»
       
   387 	«EXPAND xpt::Common::generatedMemberComment»
       
   388 private boolean isOwnView(org.eclipse.gmf.runtime.notation.View view) {
       
   389 	return «EXPAND xpt::editor::VisualIDRegistry::modelID FOR editorGen.diagram».equals(«EXPAND xpt::editor::VisualIDRegistry::getModelIDMethodCall FOR editorGen.diagram»(view));
       
   390 }
       
   391 «ENDDEFINE»
       
   392 
       
   393 «DEFINE unknownElementKey FOR Object»"«EXPAND commonKeyPrefix»UnknownElement"«ENDDEFINE»
       
   394 
       
   395 «DEFINE notFoundElementKey FOR Object»"«EXPAND commonKeyPrefix»ImageNotFound"«ENDDEFINE»
       
   396 
       
   397 «DEFINE key FOR gmfgen::GenCommonBase»«ERROR "Incorrect GenCommonBase: " + this»«ENDDEFINE»
       
   398 
       
   399 «DEFINE key FOR gmfgen::GenDiagram»«EXPAND commonKeyPrefix»Diagram?«EXPAND keyFragment FOR domainDiagramElement»«ENDDEFINE»
       
   400 
       
   401 «DEFINE key FOR gmfgen::GenNode»«EXPAND commonKeyPrefix»«EXPAND keyFragment»«IF null != modelFacet»«EXPAND keyFragment FOR modelFacet.metaClass»«ELSE»«EXPAND keyFragment FOR viewmap»«ENDIF»«ENDDEFINE»
       
   402 
       
   403 «DEFINE keyFragment FOR gmfgen::GenNode»Node?«ENDDEFINE»
       
   404 
       
   405 «DEFINE keyFragment FOR gmfgen::GenTopLevelNode»TopLevelNode?«ENDDEFINE»
       
   406 
       
   407 «DEFINE key FOR gmfgen::GenLink»«EXPAND commonKeyPrefix»Link?«IF null != modelFacet»«EXPAND keyFragment FOR modelFacet»«ELSE»«EXPAND keyFragment FOR viewmap»«ENDIF»«ENDDEFINE»
       
   408 
       
   409 «DEFINE keyFragment FOR gmfgen::LinkModelFacet»«ERROR "Incorrect link model facet passed: " + this»«ENDDEFINE»
       
   410 
       
   411 «DEFINE keyFragment FOR gmfgen::TypeLinkModelFacet»«EXPAND keyFragment FOR metaClass»«ENDDEFINE»
       
   412 
       
   413 «DEFINE keyFragment FOR gmfgen::FeatureLinkModelFacet»«EXPAND keyFragment FOR metaFeature»«ENDDEFINE»
       
   414 
       
   415 «DEFINE key FOR gmfgen::GenCompartment»«EXPAND key FOR node»?Compartment?«title»«ENDDEFINE»
       
   416 
       
   417 «DEFINE key FOR gmfgen::GenLabel»«ERROR "Incorrect GenLabel:" + this»«ENDDEFINE»
       
   418 
       
   419 «DEFINE key FOR gmfgen::GenNodeLabel»«EXPAND key FOR node»«EXPAND keyFragment»«ENDDEFINE»
       
   420 
       
   421 «DEFINE key FOR gmfgen::GenLinkLabel»«EXPAND key FOR link»«EXPAND keyFragment»«ENDDEFINE»
       
   422 
       
   423 «DEFINE keyFragment FOR gmfgen::GenLabel»?Label?«EXPAND keyFragment(this) FOR modelFacet»«ENDDEFINE»
       
   424 
       
   425 «DEFINE keyFragment FOR genmodel::GenClass»«genPackage.ecorePackage.nsURI»?«ecoreClass.name»«ENDDEFINE»
       
   426 
       
   427 «DEFINE keyFragment FOR genmodel::GenFeature»«EXPAND keyFragment FOR genClass»?«ecoreFeature.name»«ENDDEFINE»
       
   428 
       
   429 «DEFINE keyFragment FOR gmfgen::Viewmap»«ENDDEFINE»
       
   430 
       
   431 «DEFINE keyFragment FOR gmfgen::FigureViewmap»«figureQualifiedClassName»«ENDDEFINE»
       
   432 
       
   433 «DEFINE keyFragment FOR gmfgen::InnerClassViewmap»«className»«ENDDEFINE»
       
   434 
       
   435 «DEFINE keyFragment FOR gmfgen::ParentAssignedViewmap»«figureQualifiedClassName»«ENDDEFINE»
       
   436 
       
   437 «DEFINE keyFragment(gmfgen::GenLabel label) FOR gmfgen::LabelModelFacet»«ERROR "Incorrect label model facet: " + this»«ENDDEFINE»
       
   438 
       
   439 «DEFINE keyFragment(gmfgen::GenLabel label) FOR gmfgen::FeatureLabelModelFacet»«EXPAND keyFragment FOREACH metaFeatures»«ENDDEFINE»
       
   440 
       
   441 «DEFINE keyFragment(gmfgen::GenLabel label) FOR gmfgen::DesignLabelModelFacet»«EXPAND keyFragment FOR label.viewmap»«ENDDEFINE»
       
   442 
       
   443 «DEFINE commonKeyPrefix FOR Object»Navigator?«ENDDEFINE»
       
   444 
       
   445 «DEFINE additions FOR gmfgen::GenNavigator-»
       
   446 «ENDDEFINE»