Skip to main content
aboutsummaryrefslogtreecommitdiffstats
blob: f3ac3a956b893437317d8c3e8eb0645c5122abfb (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/*
 * 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(owningFigureVariable : String) FOR gmfgraph::Layout-»
«owningFigureVariable».setLayoutManager(«EXPAND Runtime::newInstance»);
«ENDDEFINE»

«DEFINE Init(owningFigureVariable : String) FOR gmfgraph::LayoutRef-»
«EXPAND Init(owningFigureVariable) FOR actual-»
«ENDDEFINE»

«DEFINE Init(owningFigureVariable : String) FOR gmfgraph::BorderLayout-»
«LET 'layout' + owningFigureVariable.firstToUpper() 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(owningFigureVariable : String) FOR gmfgraph::GridLayout-»
«LET 'layout' + owningFigureVariable.firstToUpper() 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(owningFigureVariable : String) FOR gmfgraph::FlowLayout-»
«LET 'layout' + owningFigureVariable.firstToUpper() 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(«not vertical»);
«ENDIF»
	«owningFigureVariable».setLayoutManager(«layoutVarName»);
«ENDLET»
«ENDDEFINE»

«DEFINE Init(owningFigureVariable : String) FOR gmfgraph::CustomLayout-»
«LET 'layout' + owningFigureVariable.firstToUpper() AS layoutVarName»
	«EXPAND Runtime::newInstance(layoutVarName)»
«EXPAND attr::CustomClass::Init(layoutVarName)-»
	«owningFigureVariable».setLayoutManager(«layoutVarName»);
«ENDLET»
«ENDDEFINE»

«DEFINE alignment(forceSingleLine : Boolean) FOR gmfgraph::Alignment-»
«IF self = gmfgraph::Alignment::BEGINNING-»
«IF forceSingleLine»ALIGN_TOPLEFT«ELSE»ALIGN_LEFTTOP«ENDIF-»
«ELSEIF self = gmfgraph::Alignment::END-»
«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»

Back to the top