| /* |
| * Copyright (c) 2006, 2008 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: |
| * Artem Tikhomirov (Borland) - initial API and implementation |
| * Michael Golubev (Borland) - GridLayout attributes |
| */ |
| |
| «IMPORT "http://www.eclipse.org/gmf/2006/GraphicalDefinition"» |
| «IMPORT "http://www.eclipse.org/emf/2002/Ecore"» |
| «EXTENSION Util» |
| |
| «DEFINE Init(EString owningFigureVariable) FOR gmfgraph::Layout-» |
| «owningFigureVariable».setLayoutManager(«EXPAND Runtime::newInstance»); |
| «ENDDEFINE» |
| |
| «DEFINE Init(EString owningFigureVariable) FOR gmfgraph::LayoutRef-» |
| «EXPAND Init(owningFigureVariable) FOR actual-» |
| «ENDDEFINE» |
| |
| «DEFINE Init(EString owningFigureVariable) FOR gmfgraph::BorderLayout-» |
| «LET "layout" + owningFigureVariable.toFirstUpper() AS layoutVarName» |
| «EXPAND Runtime::newInstance(layoutVarName)» |
| «IF null != spacing-» |
| «layoutVarName».setHorizontalSpacing(«spacing.dx»);// TODO mapMode? |
| «layoutVarName».setVerticalSpacing(«spacing.dy»); |
| «ENDIF-» |
| «owningFigureVariable».setLayoutManager(«layoutVarName»); |
| «ENDLET» |
| «ENDDEFINE» |
| |
| «DEFINE Init(EString owningFigureVariable) FOR gmfgraph::GridLayout-» |
| «LET "layout" + owningFigureVariable.toFirstUpper() AS layoutVarName» |
| «EXPAND Runtime::newInstance(layoutVarName)» |
| «layoutVarName».numColumns = «numColumns»; |
| «layoutVarName».makeColumnsEqualWidth = «equalWidth»; |
| «IF null != spacing-» |
| «layoutVarName».horizontalSpacing = «spacing.dx»; |
| «layoutVarName».verticalSpacing = «spacing.dy»; |
| «ENDIF-» |
| «IF null != margins-» |
| «layoutVarName».marginWidth = «margins.dx»; |
| «layoutVarName».marginHeight = «margins.dy»; |
| «ENDIF-» |
| «owningFigureVariable».setLayoutManager(«layoutVarName»); |
| «ENDLET» |
| «ENDDEFINE» |
| |
| «DEFINE Init(EString owningFigureVariable) FOR gmfgraph::FlowLayout-» |
| «LET "layout" + owningFigureVariable.toFirstUpper() AS layoutVarName» |
| «EXPAND Runtime::newInstance(layoutVarName)» |
| «layoutVarName».setStretchMinorAxis(«matchMinorSize»); |
| «layoutVarName».setMinorAlignment(«EXPAND Runtime::fqn».«EXPAND alignment(forceSingleLine) FOR minorAlignment»); |
| «IF forceSingleLine» |
| «layoutVarName».setSpacing(«majorSpacing»); |
| «layoutVarName».setVertical(«vertical»); |
| «ELSE» |
| «layoutVarName».setMajorAlignment(«EXPAND Runtime::fqn».«EXPAND alignment(forceSingleLine) FOR majorAlignment»); |
| «layoutVarName».setMajorSpacing(«majorSpacing»); |
| «layoutVarName».setMinorSpacing(«minorSpacing»); |
| «layoutVarName».setHorizontal(«!vertical»); |
| «ENDIF» |
| «owningFigureVariable».setLayoutManager(«layoutVarName»); |
| «ENDLET» |
| «ENDDEFINE» |
| |
| «DEFINE Init(EString owningFigureVariable) FOR gmfgraph::CustomLayout-» |
| «LET "layout" + owningFigureVariable.toFirstUpper() AS layoutVarName» |
| «EXPAND Runtime::newInstance(layoutVarName)» |
| «EXPAND attr::CustomClass::Init(layoutVarName)-» |
| «owningFigureVariable».setLayoutManager(«layoutVarName»); |
| «ENDLET» |
| «ENDDEFINE» |
| |
| «DEFINE alignment(EBoolean forceSingleLine) FOR gmfgraph::Alignment-» |
| «IF value == Alignment::BEGINNING.value-» |
| «IF forceSingleLine»ALIGN_TOPLEFT«ELSE»ALIGN_LEFTTOP«ENDIF-» |
| «ELSEIF value == Alignment::END.value-» |
| «IF forceSingleLine»ALIGN_BOTTOMRIGHT«ELSE»ALIGN_RIGHTBOTTOM«ENDIF-» |
| «ELSE-» |
| ALIGN_CENTER«ENDIF-» |
| «REM»XXX implement as extension |
| switch (value) { |
| case Alignment.BEGINNING : "" |
| default : "" |
| }«ENDREM» |
| «ENDDEFINE» |