/******************************************************************************* * Copyright (c) 2002, 2007 Innoopract Informationssysteme GmbH. * 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: * Innoopract Informationssysteme GmbH - initial API and implementation ******************************************************************************/ package org.eclipse.rap.demo.controls; import org.eclipse.rwt.graphics.Graphics; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; class NestedLayoutsTab extends ExampleTab { private boolean propPrefSize = false; public NestedLayoutsTab( final CTabFolder folder ) { super( folder, "Nested Layouts" ); } protected void createStyleControls( final Composite parent ) { final Button prefSizeButton = createPropertyButton( "Preferred Size" ); prefSizeButton.addSelectionListener( new SelectionAdapter() { public void widgetSelected( final SelectionEvent event ) { propPrefSize = prefSizeButton.getSelection(); createNew(); } } ); } protected void createExampleControls( final Composite parent ) { parent.setLayout( new GridLayout() ); Composite comp = new Composite( parent, SWT.NONE ); comp.setBackground( BG_COLOR_BROWN ); comp.setLayout( new GridLayout() ); if( propPrefSize ) { comp.setLayoutData( new GridData() ); } else { comp.setLayoutData( new GridData( GridData.FILL_BOTH ) ); } // Image label Label imageLabel = new Label( comp, SWT.NONE ); imageLabel.setImage( Graphics.getImage( "icons/lockkey.gif", this.getClass().getClassLoader() ) ); imageLabel.setLayoutData( new GridData( 32, 32 ) ); // Login data Group loginGroup = new Group( comp, SWT.NONE ); loginGroup.setText( "Login Data" ); loginGroup.setLayout( new GridLayout( 2, false ) ); new Label( loginGroup, SWT.NONE ).setText( "Username:" ); Text userText = new Text( loginGroup, SWT.SINGLE | SWT.BORDER ); userText.setText( "john" ); userText.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) ); new Label( loginGroup, SWT.NONE ).setText( "Password:" ); Text passText = new Text( loginGroup, SWT.PASSWORD | SWT.BORDER ); passText.setLayoutData( new GridData( GridData.FILL_HORIZONTAL ) ); // Button bar Composite buttons = new Composite( comp, SWT.NONE ); RowLayout buttonLayout = new RowLayout( SWT.HORIZONTAL); buttonLayout.marginRight = 0; buttons.setLayout( buttonLayout ); buttons.setLayoutData( new GridData( GridData.HORIZONTAL_ALIGN_END ) ); Button loginButton = new Button( buttons, SWT.PUSH ); loginButton.setText( "Login" ); Button cancelButton = new Button( buttons, SWT.PUSH ); cancelButton.setText( "Cancel" ); comp.layout(); registerControl( comp ); } }