carbidecpp22devenv/plugins/org.eclipse.gmf.templates.legacy_1.0.0.v20090614-0839/codegen.lite.templates/xpt/commands/Common.xpt
changeset 422 033392511bf7
equal deleted inserted replaced
421:631a44165bcf 422:033392511bf7
       
     1 /*
       
     2  * Copyright (c) 2007, 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  *    bblajer (Borland) - initial API and implementation
       
    11  */
       
    12 
       
    13 «IMPORT "http://www.eclipse.org/gmf/2008/GenModel"»
       
    14 «IMPORT "http://www.eclipse.org/emf/2002/Ecore"»
       
    15 «IMPORT "http://www.eclipse.org/emf/2002/GenModel"»
       
    16 «EXTENSION xpt::diagram::ViewmapAttributesUtils»
       
    17 
       
    18 «DEFINE getRelationshipContainer FOR gmfgen::LinkModelFacet»«ENDDEFINE»
       
    19 
       
    20 «DEFINE getRelationshipContainer FOR gmfgen::TypeLinkModelFacet-»
       
    21 		«EXPAND xpt::Common::generatedMemberComment("Finds container element for the relationship of the specified type.\n" + 
       
    22 		  "Default implementation goes up by containment hierarchy starting from\n" + 
       
    23 		  "the specified element and returns the first element that is instance of\n" + 
       
    24 		  "the specified container class.")»
       
    25 		protected org.eclipse.emf.ecore.EObject getRelationshipContainer(org.eclipse.emf.ecore.EObject element, org.eclipse.emf.ecore.EClass containerClass) {
       
    26 			for (; element != null; element = element.eContainer()) {
       
    27 				if (containerClass.isSuperTypeOf(element.eClass())) {
       
    28 					return element;
       
    29 				}
       
    30 			}
       
    31 			return null;
       
    32 		}
       
    33 «ENDDEFINE»
       
    34 
       
    35 «DEFINE featureMultiplicityComparator(String ownerVar, genmodel::GenClass ownerClass) FOR genmodel::GenFeature-»
       
    36 «IF ecoreFeature.upperBound == 1»«EXPAND MetaModel::getFeatureValue(ownerVar, ownerClass, false)» != null«ELSE-»
       
    37 «EXPAND MetaModel::MetaFeature».getUpperBound() > 1 && «EXPAND MetaModel::getFeatureValue(ownerVar, ownerClass, true)».size() >= «EXPAND MetaModel::MetaFeature».getUpperBound()«ENDIF-»
       
    38 «ENDDEFINE»
       
    39 
       
    40 «DEFINE checkLinkConstraints(String sourceVar, String targetVar) FOR gmfgen::GenLinkConstraints-»
       
    41 	if(!«EXPAND xpt::providers::DomainElementInitializer::qualifiedClassName FOR link.getDiagram()».«link.diagram.getLinkCreationConstraintsClassName()».canExist«link.getUniqueIdentifier()»(«sourceVar», «targetVar»)) {
       
    42 		return false;
       
    43 	}
       
    44 «ENDDEFINE»
       
    45 
       
    46 «DEFINE plugFeatureCommand(String domainVar, String containerVar, String elementVar) FOR genmodel::GenFeature-»
       
    47 «IF ecoreFeature.many»org.eclipse.emf.edit.command.AddCommand«ELSE»org.eclipse.emf.edit.command.SetCommand«ENDIF».create(«domainVar», «containerVar», «EXPAND MetaModel::MetaFeature», «elementVar»)«-»
       
    48 «ENDDEFINE»
       
    49 
       
    50 «DEFINE unplugFeatureCommand(String domainVar, String containerVar, String elementVar) FOR genmodel::GenFeature-»
       
    51 «IF ecoreFeature.many-»
       
    52 org.eclipse.emf.edit.command.RemoveCommand.create(«domainVar», «containerVar», «EXPAND MetaModel::MetaFeature», «elementVar»)«-»
       
    53 «ELSE-»
       
    54 org.eclipse.emf.edit.command.SetCommand.create(«domainVar», «containerVar», «EXPAND MetaModel::MetaFeature», org.eclipse.emf.edit.command.SetCommand.UNSET_VALUE)«-»
       
    55 «ENDIF-»
       
    56 «ENDDEFINE»
       
    57 
       
    58 «DEFINE adjustConstraint FOR gmfgen::GenNode-»
       
    59 «LET getResizeConstraints(viewmap) AS rc-»
       
    60 «LET rc == null || rc.resizeHandleNames.select(e| e=="EAST" || e=="WEST").size() > 0 AS resizableWidth-»
       
    61 «LET rc == null || rc.resizeHandleNames.select(e| e=="NORTH" || e=="SOUTH").size() > 0 AS resizableHeight-»
       
    62 		if (constraint != null) {
       
    63 	«IF resizableWidth || resizableHeight-»
       
    64 			constraint.union(new org.eclipse.draw2d.geometry.Dimension(«EXPAND defaultWidth», «EXPAND defaultHeight»));
       
    65 	«ENDIF-»
       
    66 	«IF !resizableWidth-»
       
    67 			constraint.width = «EXPAND defaultWidth»;
       
    68 	«ENDIF-»
       
    69 	«IF !resizableHeight-»
       
    70 			constraint.height = «EXPAND defaultHeight»;
       
    71 	«ENDIF-»
       
    72 		}
       
    73 «ENDLET-»
       
    74 «ENDLET-»
       
    75 «ENDLET-»
       
    76 «ENDDEFINE»
       
    77 
       
    78 «DEFINE defaultWidth FOR gmfgen::GenNode»«defaultSizeWidth(viewmap, 40)»«ENDDEFINE»
       
    79 «DEFINE defaultHeight FOR gmfgen::GenNode»«defaultSizeHeight(viewmap, 40)»«ENDDEFINE»
       
    80 
       
    81 «DEFINE commandNameInfix FOR gmfgen::GenNode-»
       
    82 «EXPAND commandNameInfix FOR modelFacet.metaClass»«visualID-»
       
    83 «ENDDEFINE»
       
    84 
       
    85 «DEFINE commandNameInfix FOR gmfgen::GenLink-»
       
    86 «EXPAND commandNameInfix FOR modelFacet»«visualID-»
       
    87 «ENDDEFINE»
       
    88 
       
    89 «DEFINE commandNameInfix FOR gmfgen::LinkModelFacet»«ENDDEFINE»
       
    90 
       
    91 «DEFINE commandNameInfix FOR gmfgen::TypeLinkModelFacet»«EXPAND commandNameInfix FOR metaClass»«ENDDEFINE»
       
    92 
       
    93 «DEFINE commandNameInfix FOR genmodel::GenClass»«ecoreClass.name»«ENDDEFINE»
       
    94 
       
    95 «DEFINE commandNameInfix FOR gmfgen::FeatureLinkModelFacet»«metaFeature.genClass.ecoreClass.name + "_" + metaFeature.ecoreFeature.name.toFirstUpper()»«ENDDEFINE»
       
    96 
       
    97 «DEFINE getPhantomContainmentResource FOR String»«this».getDiagram().getElement().eResource()«ENDDEFINE»