/*******************************************************************************
* Copyright (c) 2012 EclipseSource 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:
* EclipseSource - initial API and implementation
******************************************************************************/
package com.eclipsesource.tabris.widgets.enhancement;
import static com.eclipsesource.tabris.internal.WidgetsUtil.checkComponent;
import org.eclipse.swt.custom.ScrolledComposite;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.List;
import org.eclipse.swt.widgets.ProgressBar;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.TabFolder;
import org.eclipse.swt.widgets.TabItem;
import org.eclipse.swt.widgets.Text;
import org.eclipse.swt.widgets.ToolItem;
import org.eclipse.swt.widgets.Tree;
import org.eclipse.swt.widgets.Widget;
import com.eclipsesource.tabris.widgets.ScrollingComposite;
/**
* <p>
* The <code>Widgets</code> class provides static methods to enhance Widgets with features limited to mobile devices
* like a number keyboard on <code>Text</code> widgets and so on.
* </p>
*
* @since 0.8
*/
public class Widgets {
public static WidgetDecorator<WidgetDecorator> onWidget( Widget widget ) {
checkComponent( widget );
return new WidgetDecorator<WidgetDecorator>( widget );
}
/**
* @since 0.10
*/
public static CompositeDecorator onComposite( Composite composite ) {
checkComponent( composite );
return new CompositeDecorator( composite );
}
public static TextDecorator onText( Text text ) {
checkComponent( text );
return new TextDecorator( text );
}
public static ToolItemDecorator onToolItem( ToolItem toolItem ) {
checkComponent( toolItem );
return new ToolItemDecorator( toolItem );
}
public static TreeDecorator onTree( Tree tree ) {
checkComponent( tree );
return new TreeDecorator( tree );
}
public static ScrolledCompositeDecorator onScrolledComposite( ScrolledComposite composite ) {
checkComponent( composite );
return new ScrolledCompositeDecorator( composite );
}
/**
* @since 1.0
*/
public static ScrollingCompositeDecorator onScrollingComposite( ScrollingComposite composite ) {
checkComponent( composite );
return new ScrollingCompositeDecorator( composite );
}
public static LabelDecorator onLabel( Label label ) {
checkComponent( label );
return new LabelDecorator( label );
}
public static ListDecorator onList( List list ) {
checkComponent( list );
return new ListDecorator( list );
}
/**
* @since 1.1
*/
public static TabFolderDecorator onTabFolder( TabFolder tabFolder ) {
checkComponent( tabFolder );
return new TabFolderDecorator( tabFolder );
}
/**
* @since 1.2
*/
public static TabItemDecorator onTabItem( TabItem tabItem ) {
checkComponent( tabItem );
return new TabItemDecorator( tabItem );
}
/**
* @since 1.2
*/
public static ShellDecorator onShell( Shell shell ) {
checkComponent( shell );
return new ShellDecorator( shell );
}
/**
* @since 1.4
*/
public static ProgressBarDecorator onProgressBar( ProgressBar progressBar ) {
checkComponent( progressBar );
return new ProgressBarDecorator( progressBar );
}
private Widgets() {
// prevent instantiation
}
}