| /* |
| * Copyright (c) 2008, 2009 Borland Software Corp. |
| * |
| * 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 |
| */ |
| «IMPORT 'http://www.eclipse.org/gmf/2008/Widget'» |
| |
| «EXTENSION Widgets» |
| |
| «DEFINE Main(compositeVar : String) FOR widget::Layout»«ERROR 'abstract Main FOR Layout'»«ENDDEFINE» |
| |
| «DEFINE Main(compositeVar : String) FOR widget::FormLayout-» |
| «compositeVar».setLayout(new org.eclipse.swt.layout.FormLayout()); |
| org.eclipse.swt.layout.FormData «compositeVar»FD; |
| «FOREACH data AS fd-» |
| «compositeVar»FD = new org.eclipse.swt.layout.FormData(); |
| «IF fd.left <> null»«compositeVar»FD.left = «EXPAND x FOR fd.left»; |
| «ENDIF-» |
| «IF fd.right <> null»«compositeVar»FD.right = «EXPAND x FOR fd.right»; |
| «ENDIF-» |
| «IF fd.top <> null»«compositeVar»FD.top = «EXPAND x FOR fd.top»; |
| «ENDIF-» |
| «IF fd.bottom <> null»«compositeVar»FD.bottom = «EXPAND x FOR fd.bottom»; |
| «ENDIF-» |
| «fieldName(fd.widget)».setLayoutData(«compositeVar»FD); |
| «ENDFOREACH-» |
| «ENDDEFINE» |
| |
| «DEFINE x FOR widget::Attachment-» |
| «IF control = null»new org.eclipse.swt.layout.FormAttachment(0, «offset»)«ELSE»new org.eclipse.swt.layout.FormAttachment(«fieldName(control)», «offset», org.eclipse.swt.SWT.«align»)«ENDIF»«ENDDEFINE» |
| |
| «DEFINE Main(compositeVar : String) FOR widget::GridLayout-» |
| «compositeVar».setLayout(new org.eclipse.swt.layout.GridLayout(«columns», «equalColumns»)); |
| «FOREACH data AS fd-» |
| org.eclipse.jface.layout.GridDataFactory.swtDefaults()«EXPAND align FOR fd»«EXPAND span FOR fd»«EXPAND grab FOR fd».applyTo(«fieldName(fd.widget)»); |
| «ENDFOREACH-» |
| «ENDDEFINE» |
| |
| «DEFINE Main(compositeVar : String) FOR widget::FillLayout-» |
| «compositeVar».setLayout(new org.eclipse.swt.layout.FillLayout(«IF vertical»org.eclipse.swt.SWT.VERTICAL«ENDIF»)); |
| «ENDDEFINE» |
| |
| |
| |
| ///////////////////// |
| // GridData internals |
| // |
| |
| «DEFINE align FOR widget::GridData».align(SWT.«EXPAND alignLiteral FOR hAlign», SWT.«EXPAND alignLiteral FOR vAlign»)«ENDDEFINE» |
| «DEFINE span FOR widget::GridData»«IF hSpan > 1 or vSpan > 1».span(«hSpan», «vSpan»)«ENDIF»«ENDDEFINE» |
| «DEFINE grab FOR widget::GridData»«IF hGrab or vGrab».grab(«hGrab», «vGrab»)«ENDIF»«ENDDEFINE» |
| |
| «DEFINE alignLiteral FOR widget::Alignment»«IF self = widget::Alignment::LEFT»BEGINNING«ELSEIF self = widget::Alignment::RIGHT»END«ELSE»«self»«ENDIF»«ENDDEFINE» |