blob: 1590475a16274570d7e5393d5edf130ce5a5b4cc [file] [log] [blame]
/*
* 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».setLayoutManagerEXPAND 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».setHorizontalSpacingspacing.dx»);// TODO mapMode?
«layoutVarName».setVerticalSpacingspacing.dy»);
«ENDIF
«owningFigureVariable».setLayoutManagerlayoutVarName»);
«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».setLayoutManagerlayoutVarName»);
«ENDLET»
«ENDDEFINE»
«DEFINE Init(EString owningFigureVariable) FOR gmfgraph::FlowLayout
«LET "layout" + owningFigureVariable.toFirstUpper() AS layoutVarName»
«EXPAND Runtime::newInstance(layoutVarName
«layoutVarName».setStretchMinorAxismatchMinorSize»);
«layoutVarName».setMinorAlignmentEXPAND Runtime::fqn».«EXPAND alignment(forceSingleLine) FOR minorAlignment»);
«IF forceSingleLine»
«layoutVarName».setSpacingmajorSpacing»);
«layoutVarName».setVerticalvertical»);
«ELSE»
«layoutVarName».setMajorAlignmentEXPAND Runtime::fqn».«EXPAND alignment(forceSingleLine) FOR majorAlignment»);
«layoutVarName».setMajorSpacingmajorSpacing»);
«layoutVarName».setMinorSpacingminorSpacing»);
«layoutVarName».setHorizontal(«!vertical»);
«ENDIF»
«owningFigureVariable».setLayoutManagerlayoutVarName»);
«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».setLayoutManagerlayoutVarName»);
«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»