/******************************************************************************* * Copyright (c) 2007, 2009 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 * EclipseSource - ongoing development ******************************************************************************/ package org.eclipse.rap.demo.controls; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CTabFolder; import org.eclipse.swt.events.*; import org.eclipse.swt.layout.*; import org.eclipse.swt.widgets.*; public final class CompositeTab extends ExampleTab { private Composite composite; private boolean addMouseListener; private int backgroundMode; public CompositeTab( final CTabFolder topFolder ) { super( topFolder, "Composite" ); } protected void createStyleControls( final Composite parent ) { createStyleButton( "BORDER", SWT.BORDER ); cteateRoundedBorderGroup(); createVisibilityButton(); createEnablementButton(); createBgColorButton(); createBgGradientButton(); createBgImageButton(); createBackgroundModeControls( parent ); createCursorCombo(); Button cbAddMouseListener = new Button( parent, SWT.CHECK ); cbAddMouseListener.setText( "Attach MouseListener" ); cbAddMouseListener.addSelectionListener( new SelectionAdapter() { public void widgetSelected( SelectionEvent e ) { addMouseListener = !addMouseListener; createNew(); } } ); cbAddMouseListener.setSelection( addMouseListener ); } protected void createExampleControls( final Composite parent ) { parent.setLayout( new FillLayout() ); parent.setBackgroundMode( backgroundMode ); composite = new Composite( parent, getStyle() ); if( addMouseListener ) { MouseListener listener = new MouseListener( ) { public void mouseDoubleClick( MouseEvent e ) { log( "mouseDoubleClick: " + e ); } public void mouseDown( MouseEvent e ) { log( "mouseDown: " + e ); } public void mouseUp( MouseEvent e ) { log( "mouseUp: " + e ); } }; composite.addMouseListener( listener ); } composite.setLayout( new RowLayout( SWT.HORIZONTAL ) ); registerControl( composite ); Label label = new Label( composite, SWT.NONE ); label.setText( "Label" ); Button pushButton = new Button( composite, SWT.PUSH ); pushButton.setText( "Push Button" ); Button radioButton = new Button( composite, SWT.RADIO ); radioButton.setText( "Radio Button" ); Button checkButton = new Button( composite, SWT.CHECK ); checkButton.setText( "Check Box" ); Text text = new Text( composite, SWT.SINGLE | SWT.BORDER ); text.setText( "text" ); Text multiText = new Text( composite, SWT.MULTI | SWT.BORDER ); multiText.setText( "Multiline Text" ); multiText.setLayoutData( new RowData( 80, 60 ) ); Combo combo = new Combo( composite, SWT.NONE ); combo.add( "Item 1" ); combo.add( "Item 2" ); combo.add( "Item 3" ); List list = new List( composite, SWT.BORDER ); list.add( "Item 1" ); list.add( "Item 2" ); list.add( "Item 3" ); Composite composite2 = new Composite( composite, SWT.NONE ); composite2.setBackground( BG_COLOR_GREEN ); Group group = new Group( composite, SWT.NONE ); group.setText( "Group" ); } protected void createBackgroundModeControls( final Composite parent ) { Group group = new Group( parent, SWT.NONE ); group.setText( "Background Mode" ); group.setLayout( new GridLayout() ); final Button noneButton = new Button( group, SWT.RADIO ); noneButton.setText( "SWT.INHERIT_NONE" ); final Button defaultButton = new Button( group, SWT.RADIO ); defaultButton.setText( "SWT.INHERIT_DEFAULT" ); final Button forceButton = new Button( group, SWT.RADIO ); forceButton.setText( "SWT.INHERIT_FORCE" ); SelectionListener selectionAdapter = new SelectionAdapter() { public void widgetSelected( SelectionEvent e ) { if( defaultButton.getSelection() ) { backgroundMode = SWT.INHERIT_DEFAULT; } else if( forceButton.getSelection() ) { backgroundMode = SWT.INHERIT_FORCE; } else { backgroundMode = SWT.INHERIT_NONE; } composite.setBackgroundMode( backgroundMode ); } }; noneButton.addSelectionListener( selectionAdapter ); defaultButton.addSelectionListener( selectionAdapter ); forceButton.addSelectionListener( selectionAdapter ); noneButton.setSelection( true ); } }