Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Mirah/SWTSnippets/Snippet6
< Mirah | SWTSnippets
Revision as of 10:06, 27 March 2011 by Nick edgar.ca.ibm.com (Talk | contribs)
/******************************************************************************* * Copyright (c) 2000, 2011 IBM Corporation and others. * 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: * IBM Corporation - initial API and implementation *******************************************************************************/ /* * GridLayout example snippet: insert widgets into a grid layout * * For a list of SWT example snippets ported to Mirah, see * http://wiki.eclipse.org/Mirah/SWTSnippets * * @since 3.1 */ import org.eclipse.swt.* import org.eclipse.swt.layout.* import org.eclipse.swt.widgets.* display = Display.new shell = Shell.new(display) shell.setLayout(GridLayout.new) c = Composite.new(shell, SWT.NONE) layout = GridLayout.new layout.numColumns = 3 c.setLayout(layout) 10.times do |i| b = Button.new(c, SWT.PUSH) b.setText("Button #{i}") end b = Button.new(shell, SWT.PUSH) b.setText("add a new button at row 2 column 1") index = 1 b.addListener(SWT.Selection) do |e| s = Button.new(c, SWT.PUSH) s.setText("Special #{index}") index += 1 children = c.getChildren() s.moveAbove(children[3]) toLayout = Control[1] toLayout[0] = s shell.layout(toLayout) end shell.open while !shell.isDisposed if !display.readAndDispatch display.sleep end end display.dispose