Revise DropDownDemo
Remove all ClientScripting based examples (AutoSuggest is preferred)
Remove theming example (RAP 2.2 should provide alternatives)
Use layout from AutoSuggestSnippet
Fix replacement text
Restore userText when selection is -1
Move data to own package
diff --git a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/AutoSuggestDemo.java b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/AutoSuggestDemo.java
index d14e565..44bdef2 100644
--- a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/AutoSuggestDemo.java
+++ b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/AutoSuggestDemo.java
@@ -16,6 +16,7 @@
import org.eclipse.rap.addons.autosuggest.DataProvider;
import org.eclipse.rap.addons.autosuggest.DataSource;
import org.eclipse.rap.addons.autosuggest.SuggestionSelectedListener;
+import org.eclipse.rap.addons.dropdown.demo.data.KFZ;
import org.eclipse.rap.rwt.RWT;
import org.eclipse.rap.rwt.application.AbstractEntryPoint;
import org.eclipse.rap.rwt.internal.client.WidgetDataWhiteList;
@@ -157,6 +158,7 @@
button.setText( "Dispose!" );
button.addListener( SWT.Selection, new Listener() {
public void handleEvent( Event event ) {
+ autoSuggest.setDataSource( at );
text.dispose();
}
} );
diff --git a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/AutoSuggestSnippet.java b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/AutoSuggestSnippet.java
index 2879bd2..9e3e602 100644
--- a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/AutoSuggestSnippet.java
+++ b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/AutoSuggestSnippet.java
@@ -18,6 +18,8 @@
import org.eclipse.rap.addons.autosuggest.ColumnTemplate;
import org.eclipse.rap.addons.autosuggest.DataSource;
import org.eclipse.rap.addons.autosuggest.SuggestionSelectedListener;
+import org.eclipse.rap.addons.dropdown.demo.data.KFZ;
+import org.eclipse.rap.addons.dropdown.demo.data.Movies;
import org.eclipse.rap.rwt.application.AbstractEntryPoint;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.FormAttachment;
diff --git a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/ButtonEventHandler.js b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/ButtonEventHandler.js
deleted file mode 100644
index df8d4bc..0000000
--- a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/ButtonEventHandler.js
+++ /dev/null
@@ -1,21 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 EclipseSource.
- * 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
- ******************************************************************************/
-
-function handleEvent( event ) {
- var widget = event.widget;
- var dropdown = rap.getObject( widget.getData( "dropdown" ) );
- // TODO : should not autoamtically hide if programmatically shown
- dropdown.setVisible( !dropdown.getVisible() );
- if( dropdown.getVisible() ) {
- // TODO : set focus to text or list, currently neither is possible
- dropdown.setItems( rap.getObject( dropdown.getData( "data" ) ) );
- }
-}
diff --git a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/DropDownApplicationConfiguration.java b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/DropDownApplicationConfiguration.java
deleted file mode 100644
index c71f28f..0000000
--- a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/DropDownApplicationConfiguration.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 EclipseSource.
- * 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 org.eclipse.rap.addons.dropdown.demo;
-
-import org.eclipse.rap.rwt.RWT;
-import org.eclipse.rap.rwt.application.Application;
-import org.eclipse.rap.rwt.application.ApplicationConfiguration;
-
-
-public class DropDownApplicationConfiguration implements ApplicationConfiguration {
-
- public void configure( Application application ) {
- application.addStyleSheet( RWT.DEFAULT_THEME_ID, "theme/theme.css" );
- application.addEntryPoint( "/dropdown", DropDownDemo.class, null );
- }
-
-}
diff --git a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/DropDownDemo.java b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/DropDownDemo.java
index ce5232f..aa93248 100644
--- a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/DropDownDemo.java
+++ b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/DropDownDemo.java
@@ -14,168 +14,81 @@
import java.util.List;
import org.eclipse.rap.addons.dropdown.DropDown;
-import org.eclipse.rap.clientscripting.ClientListener;
+import org.eclipse.rap.addons.dropdown.demo.data.Movies;
import org.eclipse.rap.rwt.RWT;
import org.eclipse.rap.rwt.application.AbstractEntryPoint;
-import org.eclipse.rap.rwt.client.service.JavaScriptLoader;
-import org.eclipse.rap.rwt.internal.client.WidgetDataWhiteList;
-import org.eclipse.rap.rwt.internal.client.WidgetDataWhiteListImpl;
-import org.eclipse.rap.rwt.lifecycle.WidgetUtil;
-import org.eclipse.rap.rwt.remote.RemoteObject;
-import org.eclipse.rap.rwt.service.ResourceManager;
import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.layout.FormAttachment;
+import org.eclipse.swt.layout.FormData;
+import org.eclipse.swt.layout.FormLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
-import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.Text;
-@SuppressWarnings("restriction")
public class DropDownDemo extends AbstractEntryPoint {
- private final String PATH_PREFIX = "/org/eclipse/rap/addons/dropdown/demo/";
+ private String[] currentTexts = new String[ 0 ] ;
+ private String userText = "";
@Override
protected void createContents( Composite parent ) {
- getShell().setLayout( new GridLayout( 1, false ) );
- WidgetDataWhiteListImpl list
- = ( WidgetDataWhiteListImpl )RWT.getClient().getService( WidgetDataWhiteList.class );
- list.setKeys( new String[]{ "dropdown", "text", "data" } );
- createNationsExample( parent );
- create90sMoviesExample( parent );
- create80sMoviesExample( parent );
- }
-
- private void createNationsExample( Composite parent ) {
- // TODO : Use CSS Theming on textBox / open button
- Group group = new Group( parent, SWT.NONE );
- group.setText( "DropDown + client expand button, 192 entries cached" );
- group.setLayout( new GridLayout( 1, true ) );
- Composite textBox = new Composite( group, SWT.BORDER );
- GridLayout layout = new GridLayout( 2, false );
- layout.marginHeight = 0;
- layout.marginWidth = 0;
- textBox.setLayout( layout );
- Text text = createText( textBox, SWT.NONE );
- text.setMessage( "Nations" );
- Button open = new Button( textBox, SWT.ARROW | SWT.DOWN );
- open.setLayoutData( new GridData( SWT.RIGHT, SWT.FILL, false, true ) );
- addButtonClientListener( open );
- final DropDown dropdown = createDropDown( text );
- open.setData( "dropdown", WidgetUtil.getId( dropdown ) );
- dropdown.setVisibleItemCount( 3 );
- dropdown.setData( "data", getClientData( "Nations" ) );
- }
-
- private void create90sMoviesExample( Composite parent ) {
- Group group = new Group( parent, SWT.NONE );
- group.setText( "DropDown only, 1157 entries cached" );
- group.setLayout( new GridLayout( 1, true ) );
- Text text = createText( group, SWT.BORDER );
- text.setMessage( "90's Movies" );
- DropDown dropdown = createDropDown( text );
- dropdown.setData( "data", getClientData( "Movies" ) );
- }
-
- private static void create80sMoviesExample( Composite parent ) {
- Group group = new Group( parent, SWT.NONE );
- group.setText( "DropDown only, 760 entries, no ClientScripting, markup" );
- group.setLayout( new GridLayout( 1, true ) );
- final Text text = new Text( group, SWT.BORDER );
- GridData gridData = new GridData( 200, 23 );
- gridData.verticalAlignment = SWT.TOP;
- text.setLayoutData( gridData );
+ parent.setLayout( new FormLayout() );
+ final Text text = new Text( parent, SWT.BORDER );
+ text.setLayoutData( createLayoutData() );
text.setMessage( "80's Movies" );
final DropDown dropdown = new DropDown( text );
dropdown.setData( RWT.MARKUP_ENABLED, Boolean.TRUE );
+ addModifyListener( text, dropdown );
+ addSelectionListener( text, dropdown );
+ addDefaultSelectionListener( text, dropdown );
+ dropdown.setData( "columns", new int[] { 300, 60 } ); // provisional API!
+ }
+
+ public void addModifyListener( final Text text, final DropDown dropdown ) {
text.addListener( SWT.Modify, new Listener() {
public void handleEvent( Event event ) {
if( text.getData( "selecting" ) != Boolean.TRUE ) {
- if( text.getText().length() >= 2 ) {
+ userText = text.getText();
+ if( userText.length() >= 2 ) {
dropdown.show();
- dropdown.setItems( filter( Movies.VALUES, text.getText().toLowerCase(), 10 ) );
+ String searchStr = userText.toLowerCase();
+ currentTexts = filter( Movies.VALUES, searchStr, 10 );
+ dropdown.setItems( format( currentTexts, searchStr ) );
} else {
dropdown.hide();
}
}
}
} );
+ }
+
+ public void addSelectionListener( final Text text, final DropDown dropdown ) {
dropdown.addListener( SWT.Selection, new Listener() {
public void handleEvent( Event event ) {
- if( event.text.length() > 0 ) {
+ if( event.index != -1 ) {
text.setData( "selecting", Boolean.TRUE );
- text.setText( event.text );
+ text.setText( currentTexts[ event.index ] );
text.setData( "selecting", Boolean.FALSE );
text.selectAll();
+ } else {
+ text.setText( userText );
+ text.setSelection( userText.length(), userText.length() );
+ text.setFocus();
}
}
} );
+ }
+
+ public void addDefaultSelectionListener( final Text text, final DropDown dropdown ) {
dropdown.addListener( SWT.DefaultSelection, new Listener() {
public void handleEvent( Event event ) {
- text.setText( event.text );
+ text.setText( currentTexts[ event.index ] );
text.setSelection( event.text.length() );
dropdown.hide();
}
} );
- dropdown.setData( "columns", new int[] { 300, 60 } );
- }
-
- private Text createText( Composite parent, int style ) {
- Text text = new Text( parent, style );
- GridData gridData = new GridData( 200, 23 );
- gridData.verticalAlignment = SWT.TOP;
- text.setLayoutData( gridData );
- addTextClientListener( text );
- return text;
- }
-
- private DropDown createDropDown( Text text ) {
- DropDown dropdown = new DropDown( text );
- dropdown.setData( "text", WidgetUtil.getId( text ) );
- text.setData( "dropdown", WidgetUtil.getId( dropdown ) );
- addDropDownClientListener( dropdown );
- return dropdown;
- }
-
- private void addDropDownClientListener( DropDown dropdown ) {
- String script = ResourceLoaderUtil.readTextContent( PATH_PREFIX + "DropDownEventHandler.js" );
- ClientListener listener = new ClientListener( script );
- dropdown.addListener( SWT.Selection, listener );
- dropdown.addListener( SWT.DefaultSelection, listener );
- }
-
- private void addButtonClientListener( Button button ) {
- String script = ResourceLoaderUtil.readTextContent( PATH_PREFIX + "ButtonEventHandler.js" );
- ClientListener listener = new ClientListener( script );
- button.addListener( SWT.MouseDown, listener );
- }
-
- private void addTextClientListener( Text text ) {
- String script = ResourceLoaderUtil.readTextContent( PATH_PREFIX + "TextEventHandler.js" );
- // TODO: should take inputStream or loader + path
- ClientListener listener = new ClientListener( script );
- text.addListener( SWT.Modify, listener );
- text.addListener( SWT.Verify, listener );
- text.addListener( SWT.KeyDown, listener );
- }
-
- // Experimental: Uses internal API, but allows to use cacheable data without polluting the
- // public namespace.
- private String getClientData( String type ) {
- ResourceManager manager = RWT.getResourceManager();
- String registerFilename = "clientData/" + type + ".js";
- if( !manager.isRegistered( registerFilename ) ) {
- manager.register( registerFilename, getClass().getResourceAsStream( type + ".js" ) );
- }
- JavaScriptLoader jsl = RWT.getClient().getService( JavaScriptLoader.class );
- jsl.require( manager.getLocation( registerFilename ) );
- RemoteObject remoteObject
- = RWT.getUISession().getConnection().createRemoteObject( "clientData." + type );
- return remoteObject.getId();
}
private static String[] filter( String[] values, String text, int limit ) {
@@ -183,14 +96,34 @@
for( int i = 0; result.size() < limit && i < values.length; i++ ) {
String item = values[ i ];
if( item.toLowerCase().startsWith( text ) ) {
- int length = text.length();
- int rating = ( int )( Math.random() * 10 );
- result.add(
- "<b>" + item.substring( 0, length ) + "</b>" + item.substring( length ) + "\t" + rating + "/10"
- );
+ result.add( item );
}
}
return result.toArray( new String[ result.size() ] );
}
+ private static String[] format( String[] values, String text ) {
+ String[] result = new String[ values.length ];
+ for( int i = 0; i < values.length; i++ ) {
+ String item = values[ i ];
+ int length = text.length();
+ int rating = ( int )( Math.random() * 10 );
+ result[ i ] = "<b>"
+ + item.substring( 0, length )
+ + "</b>"
+ + item.substring( length )
+ + "\t"
+ + rating
+ + "/10";
+ }
+ return result;
+ }
+
+ private static FormData createLayoutData() {
+ FormData formData = new FormData();
+ formData.top = new FormAttachment( 0, 100 );
+ formData.left = new FormAttachment( 50, -150 );
+ formData.right = new FormAttachment( 50, 150 );
+ return formData;
+ }
}
diff --git a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/DropDownEventHandler.js b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/DropDownEventHandler.js
deleted file mode 100644
index 0490311..0000000
--- a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/DropDownEventHandler.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 EclipseSource.
- * 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
- ******************************************************************************/
-
-function handleEvent( event ) {
- switch( event.type ) {
- case SWT.Selection:
- handleSelection( event );
- break;
- case SWT.DefaultSelection:
- handleDefaultSelection( event );
- break;
-// case SWT.KeyDown:
-// handleKeyDown( event ); // not supported (yet?)
-// break;
- }
-}
-
-function handleSelection( event ) {
- if( event.text.length > 0 ) {
- var dropdown = event.widget;
- var text = rap.getObject( dropdown.getData( "text" ) );
- text.setData( "selecting", true );
- text.setText( event.text );
- text.setSelection( [ 0, event.text.length ] );
- }
-}
-
-function handleDefaultSelection( event ) {
- var dropdown = event.widget;
- dropdown.setSelectionIndex( -1 ); // should this happen automatically?
-// var text = rap.getObject( dropdown.getData( "text" ) );
-// text.forceFocus(); // TODO : currently not possible
-}
-
-function handleKeyDown( event ) {
- if( event.keyCode === SWT.ESC ) { // make default behavior? (Only effective when focused)
- event.widget.hide();
- }
-}
diff --git a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/Movies.js b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/Movies.js
deleted file mode 100644
index 866ef8d..0000000
--- a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/Movies.js
+++ /dev/null
@@ -1,1171 +0,0 @@
-(function() {
-
- rap.registerTypeHandler( "clientData.Movies", {
-
- factory : function() {
- return movies;
- }
-
- } );
-
-var movies = [
- "Above the Rim",
- "A Bug's Life",
- "Ace Ventura series:",
- "Ace Ventura: Pet Detective",
- "Ace Ventura: When Nature Calls",
- "Addams Family series:",
- "The Addams Family",
- "Addams Family Values",
- "Addicted to Love",
- "Adventures in Dinosaur City",
- "The Adventures of Elmo in Grouchland",
- "The Adventures of Ford Fairlane",
- "The Adventures of Huck Finn",
- "The Adventures of Priscilla: Queen of the Desert",
- "Affliction",
- "After Life",
- "The Age of Innocence",
- "Aimée and Jaguar",
- "Air Bud series:",
- "Air Bud",
- "Air Bud: Golden Receiver",
- "Air Force One",
- "Airborne",
- "Airheads",
- "Aladdin series:",
- "Aladdin",
- "Aladdin: The Return of Jafar",
- "Aladdin and the King of Thieves",
- "An Alan Smithee Film: Burn Hollywood Burn",
- "Alien 3",
- "Alien Resurrection",
- "Alive",
- "All Dogs Go to Heaven 2",
- "All Over Me",
- "Almost Heroes",
- "American Beauty",
- "American History X",
- "American Me",
- "American Movie",
- "American Pie",
- "The American President",
- "An American Tail: Fievel Goes West",
- "An American Tail: The Treasure of Manhattan Island",
- "Anaconda",
- "Analyze This",
- "Anastasia",
- "Andre",
- "Angela's Ashes",
- "Angels & Insects",
- "Angels in the Outfield",
- "Anglo-Saxon Attitudes",
- "Angus",
- "Animal Farm",
- "Another 48 Hours",
- "Another Stakeout",
- "Another Woman",
- "Antz",
- "Apollo 13",
- "Apt Pupil",
- "Arachnophobia",
- "Arcade",
- "Arizona Dream",
- "Armageddon",
- "Army of Darkness",
- "Art Museum by the Zoo",
- "As Good as It Gets",
- "Ashes of Time",
- "Assassins",
- "The Astronaut's Wife",
- "Austin Powers: International Man of Mystery",
- "Austin Powers: The Spy Who Shagged Me",
- "The Avengers",
- "Awakenings",
- "Babe",
- "Babe: Pig in the City",
- "Baby Geniuses",
- "Baby's Day Out",
- "The Bachelor",
- "Backbeat",
- "Backdraft",
- "Back to the Future Part III",
- "Bad Boys",
- "Bad Moon",
- "Balto",
- "Baraka",
- "Barb Wire",
- "Bartok the Magnificent",
- "Barton Fink",
- "BASEketball",
- "Basic Instinct",
- "Basquiat",
- "The Basketball Diaries",
- "Batman & Robin",
- "Batman Forever",
- "Batman: Mask of the Phantasm",
- "Batman Returns",
- "Bean",
- "The Beast",
- "The Beautician and the Beast",
- "Beauty and the Beast series:",
- "Beauty and the Beast",
- "Beauty and the Beast: The Enchanted Christmas",
- "Beauty and the Beast: Belle's Magical World",
- "Beauty and the Beast",
- "Beavis and Butt-head Do America",
- "Before Sunrise",
- "Being Human",
- "Benny & Joon",
- "Betsy's Wedding",
- "Better Than Chocolate",
- "The Beverly Hillbillies",
- "Beverly Hills Ninja",
- "Bicentennial Man",
- "Big Bully",
- "Big Daddy",
- "The Big Green",
- "The Big Lebowski",
- "Bill & Ted's Bogus Journey",
- "Billboard Dad",
- "Billy Madison",
- "Bio-Dome",
- "Bitter Moon",
- "Bird on a Wire",
- "The Birdcage",
- "The Birds II: Land's End",
- "Black Sheep",
- "Blade",
- "The Blair Witch Project",
- "Blank Check",
- "Blankman",
- "Blast from the Past",
- "Blue Chips",
- "Blue Streak",
- "The Bodyguard",
- "Body of Evidence",
- "Boiling Point",
- "The Bonfire of the Vanities",
- "Bongwater",
- "Boogie Nights",
- "The Boondock Saints",
- "Booty Call",
- "Bordello of Blood",
- "Born Yesterday",
- "Bottle Rocket",
- "Bound",
- "Bowfinger",
- "Boxing Helena",
- "Boys Don't Cry",
- "Boys on the Side",
- "Boyz n the Hood",
- "The Brady Bunch Movie",
- "Brain Candy",
- "Braindead",
- "Bram Stoker's Dracula",
- "Brassed Off",
- "The Brave",
- "Braveheart",
- "Bride of Re-Animator",
- "Bride of Chucky",
- "The Bridges of Madison County",
- "Bringing Out the Dead",
- "Brokedown Palace",
- "Broken Arrow",
- "A Bucket of Blood",
- "Bugged!",
- "Bugsy",
- "A Bug's Life",
- "Bulletproof",
- "Bullets Over Broadway",
- "Bulworth",
- "But I'm a Cheerleader",
- "Butch Camp",
- "Cabin Boy",
- "The Cable Guy",
- "Cadillac Man",
- "Camp Nowhere",
- "Camping Cosmos",
- "Cannibal! The Musical",
- "Cape Fear",
- "Captain America",
- "Carlito's Way",
- "Casino",
- "Carpool",
- "Casper series:",
- "Casper",
- "Casper: A Spirited Beginning",
- "Casper Meets Wendy",
- "Chain Reaction",
- "Chaplin",
- "Chasing Amy",
- "Child's Play 2",
- "Child's Play 3",
- "Chopper Chicks in Zombietown",
- "Christopher Columbus: The Discovery",
- "Chungking Express",
- "The Cider House Rules",
- "City Hall",
- "City of Angels",
- "City Slickers",
- "City Slickers 2: The Legend of Curly's Gold",
- "Class Act",
- "Class Action",
- "Class of Nuke 'Em High 2: Subhumanoid Meltdown",
- "Class of Nuke 'Em High 3: The Good, the Bad and the Subhumanoid",
- "Clear and Present Danger",
- "Clerks",
- "The Client",
- "Cliffhanger",
- "Clueless",
- "The Commitments",
- "Cobb",
- "Color of a Brisk and Leaping Day",
- "Color of Night",
- "Come See The Paradise",
- "Con Air",
- "Coneheads",
- "Congo",
- "Consenting Adults",
- "Conspiracy Theory",
- "Contact",
- "Cool As Ice",
- "Cool Runnings",
- "Cool World",
- "Cop and a Half",
- "Copycat",
- "Courage Under Fire",
- "Coven",
- "The Cowboy Way",
- "The Craft",
- "Crash",
- "Crazy in Alabama",
- "Crazy People",
- "Crimson Tide",
- "Cronos",
- "The Crow",
- "The Crucible",
- "Cruel Intentions",
- "The Crush",
- "Cry-Baby",
- "The Crying Game",
- "Cube",
- "Curse of the Puppet Master",
- "Cutthroat Island",
- "Cyrano de Bergerac",
- "Dances with Wolves",
- "Dante's Peak",
- "Dark City",
- "Darkman",
- "Darkman II: The Return of Durant",
- "Darkman III: Die Darkman Die",
- "Daylight",
- "Days of Being Wild",
- "Days of Thunder",
- "Dazed and Confused",
- "Dead Man on Campus",
- "Dead Man Walking",
- "Dead Presidents",
- "Dear God",
- "Death Becomes Her",
- "Deep Blue Sea",
- "Deep Impact",
- "Deep Rising",
- "Def by Temptation",
- "Defending Your Life",
- "Delicatessen",
- "Delta Force 2",
- "Demolition Man",
- "Demon Knight",
- "Dennis the Menace",
- "The Dentist",
- "The Dentist 2",
- "Desperado",
- "Deterrence",
- "Deuce Bigalow: Male Gigolo",
- "The Devil's Advocate",
- "The Devil's Own",
- "Dexter's Laboratory: Ego Trip",
- "Dick Tracy",
- "Die Hard 2",
- "Die Hard with a Vengeance",
- "Different Strokes",
- "Dirty Work",
- "Disclosure",
- "Disturbing Behavior",
- "Doc Hollywood",
- "Dog Park",
- "Dog Years",
- "Dogma",
- "Don Juan DeMarco",
- "Donnie Brasco",
- "Don't Be a Menace to South Central While Drinking Your Juice in the Hood",
- "The Doors",
- "Double, Double, Toil and Trouble",
- "Double Dragon",
- "Double Impact",
- "Double Jeopardy",
- "The Double Life of Véronique",
- "Double Team",
- "Doug's 1st Movie",
- "Down in the Delta",
- "Dr. Dolittle",
- "Dr. Giggles",
- "Dr. Jekyll and Ms. Hyde",
- "Dracula: Dead and Loving It",
- "Dragon Ball series",
- "Dragon Ball Z: The World's Strongest",
- "Dragon Ball Z: The Tree of Might",
- "Dragon Ball Z: Bardock – The Father of Goku",
- "Dragon Ball Z: Lord Slug",
- "Dragon Ball Z: Cooler's Revenge",
- "Dragon Ball Z: The Return of Cooler",
- "Dragon Ball Z: Super Android 13!",
- "Dragon Ball Z: The History of Trunks",
- "Dragon Ball Z: Broly – The Legendary Super Saiyan",
- "Dragon Ball Z: Bojack Unbound",
- "Dragon Ball Z Side Story: Plan to Eradicate the Saiyans",
- "Dragon Ball Z: Broly – Second Coming",
- "Dragon Ball Z: Bio-Broly",
- "Dragon Ball Z: Fusion Reborn",
- "Dragon Ball Z: Wrath of the Dragon",
- "Dragon Ball: The Path to Power",
- "Dragon Ball GT: A Hero's Legacy",
- "Dragonheart",
- "Drop Dead Fred",
- "Drop Zone",
- "DuckTales the Movie: Treasure of the Lost Lamp",
- "Dumb and Dumber",
- "Dunston Checks In",
- "Dying Young",
- "East is East",
- "Ed",
- "Ed Wood",
- "Edtv",
- "Edward Scissorhands",
- "Elizabeth",
- "Empire Records",
- "Los Enchiladas!",
- "Encino Man",
- "The End of Innocence",
- "The English Patient",
- "The Englishman Who Went Up a Hill But Came Down a Mountain",
- "Entrapment",
- "Eraser",
- "Ernest Goes to Jail",
- "Ernest Goes to School",
- "Eternity and a Day",
- "Europa Europa",
- "Even Cowgirls Get the Blues",
- "Event Horizon",
- "Ever After",
- "Everest",
- "Everyone Says I Love You",
- "Evita",
- "Eye for an Eye",
- "Eyes Wide Shut",
- "The Ex",
- "Executive Decision",
- "eXistenZ",
- "Exit to Eden",
- "The Exorcist III",
- "Face/Off",
- "Faces of Death IV",
- "Faces of Death V",
- "Faces of Death VI",
- "The Faculty",
- "Fair Game",
- "FairyTale: A True Story",
- "Fallen",
- "Fallen Angels",
- "Falling Down",
- "Fantasia 2000",
- "The Fantastic Four",
- "Fargo",
- "Far and Away",
- "Far Out Man",
- "Fatal Instinct",
- "Fathers' Day",
- "Faust",
- "Fear",
- "Fear of a Black Hat",
- "Fear and Loathing in Las Vegas",
- "Fearless",
- "Feeling Minnesota",
- "FernGully: The Last Rainforest",
- "FernGully 2: The Magical Rescue",
- "A Few Good Men",
- "The Fifth Element",
- "Fight Club",
- "Final Analysis",
- "Fire Down Below",
- "The Firm",
- "First Daughter",
- "First Kid",
- "The First Wives Club",
- "The Fisher King",
- "Flashback",
- "Flatliners",
- "The Flintstones",
- "Flirting with Disaster",
- "Flubber",
- "Fly Away Home",
- "Folks!",
- "For Richer or Poorer",
- "For the Boys",
- "Forgotten Silver",
- "Forrest Gump",
- "Four Rooms",
- "Four Weddings and a Funeral",
- "The Fox with Nine Tails",
- "Frankie and Johnny",
- "Freddy's Dead: The Final Nightmare",
- "Freejack",
- "Free Willy",
- "Free Willy 2: The Adventure Home",
- "Free Willy 3: The Rescue",
- "French Kiss",
- "The Freshman",
- "Fried Green Tomatoes",
- "The Frighteners",
- "From Dusk till Dawn",
- "From Dusk Till Dawn 2: Texas Blood Money",
- "The Fugitive",
- "Galaxy Quest",
- "Gang in Blue",
- "George of the Jungle",
- "Get Shorty",
- "The Getaway",
- "Getting Even with Dad",
- "Getting Lucky",
- "Gettysburg",
- "Ghost",
- "Ghost Dog: The Way of the Samurai",
- "Ghost in the Machine",
- "Ghosts of Mississippi",
- "G.I. Jane",
- "Gia",
- "Girl, Interrupted",
- "Girl 6",
- "Gloria",
- "The Godfather Part III",
- "Godzilla",
- "Godzilla 2000: Millennium",
- "Godzilla vs Destroyah",
- "Godzilla vs King Ghidorah",
- "Godzilla vs Mechagodzilla II",
- "Godzilla vs Mothra",
- "Godzilla vs SpaceGodzilla",
- "GoldenEye",
- "Good Burger",
- "Goodfellas",
- "The Good Son",
- "Good Will Hunting",
- "A Goofy Movie",
- "Grand Canyon",
- "Grass",
- "Great Expectations",
- "The Green Mile",
- "Gremlins 2: The New Batch",
- "The Grifters",
- "Grosse Pointe Blank",
- "Groundhog Day",
- "Grumpier Old Men",
- "Grumpy Old Men",
- "The Guardian",
- "Guest House Paradiso",
- "Guilty as Sin",
- "The Gun in Betty Lou's Handbag",
- "Gumby: The Movie",
- "Hackers",
- "Half Baked",
- "Halloween series:",
- "Halloween: The Curse of Michael Myers",
- "Halloween H20: 20 Years Later",
- "Hamlet",
- "The Hand That Rocks the Cradle",
- "Happy Gilmore",
- "Happy Together",
- "Hard Rain",
- "Hard Target",
- "Hard to Kill",
- "The Hard Way",
- "The Harmonium in My Memory",
- "The Haunting",
- "Havana",
- "He Got Game",
- "Heat",
- "Heaven and Earth",
- "Heavenly Creatures",
- "Heavyweights",
- "Hellraiser series:",
- "Hellraiser III: Hell on Earth",
- "Hellraiser: Bloodline",
- "Henry & June",
- "Hercules",
- "Hero",
- "Hey Tony! What's the Story?",
- "Higher Learning",
- "Highlander II: The Quickening",
- "Highlander III: The Final Dimension",
- "The Hills Have Eyes III",
- "Hocus Pocus",
- "Hoffa",
- "Home Alone series:",
- "Home Alone",
- "Home Alone 2: Lost in New York",
- "Home Alone 3",
- "Home Fries",
- "Homicide",
- "Honeymoon in Vegas",
- "Honey, I Blew Up the Kid",
- "Honey, We Shrunk Ourselves",
- "Hook",
- "Hoop Dreams",
- "Hope Floats",
- "Hot Shots!",
- "Hot Shots! Part Deux",
- "House on Haunted Hill",
- "House Party series:",
- "House Party",
- "House Party 2",
- "House Party 3",
- "Houseguest",
- "Housesitter",
- "How Stella Got Her Groove Back",
- "How the West Was Fun",
- "Howards End",
- "Hudson Hawk",
- "Hush",
- "The Hudsucker Proxy",
- "The Hunchback of Notre Dame",
- "Hurricane Streets",
- "Husbands and Wives",
- "I Know What You Did Last Summer",
- "I Like You, I Like You Very Much",
- "I Married a Strange Person!",
- "I Shot Andy Warhol",
- "I Still Know What You Did Last Summer",
- "I'll Be Home for Christmas",
- "The Ice Storm",
- "Identity Pieces",
- "The Idiots",
- "Idle Hands",
- "If the Sun Rises in the West",
- "In the Army Now",
- "In the Line of Fire",
- "In the Mouth of Madness",
- "In the Name of the Father",
- "Indecent Proposal",
- "Independence Day",
- "The Insider",
- "Inspector Gadget",
- "Intersection",
- "Interview with the Vampire",
- "Into Thin Air",
- "The Iron Giant",
- "The Island of Dr. Moreau",
- "It's Pat",
- "It Could Happen to You",
- "It Takes Two",
- "I.Q.",
- "Jack",
- "Jack Frost",
- "Jack Frost",
- "Jackie Brown",
- "Jacob's Ladder",
- "Jade",
- "James and the Giant Peach",
- "Jason's Lyric",
- "Jawbreaker",
- "Jefftowne",
- "Jerry Maguire",
- "Jetsons: The Movie",
- "JFK",
- "Jimmy Hollywood",
- "Jingle All the Way",
- "Joe's Apartment",
- "Johnny Mnemonic",
- "The Joy Luck Club",
- "Jude",
- "Judge Dredd",
- "Judgment Night",
- "Jumanji",
- "Jungle 2 Jungle",
- "Jungle Fever",
- "Junior",
- "Jurassic Park",
- "Jury Duty",
- "The Juror",
- "K2",
- "Kalifornia",
- "Kazaam",
- "The Kid",
- "Kids",
- "Killer Tomatoes Strike Back",
- "Kindergarten Cop",
- "The King and I",
- "King of New York",
- "Kingpin",
- "A Kiss Before Dying",
- "Kiss of Death",
- "Kuffs",
- "L.A. Confidential",
- "The Land Before Time series:",
- "The Land Before Time II: The Great Valley Adventure",
- "The Land Before Time III: The Time of the Great Giving",
- "The Land Before Time IV: Journey Through the Mists",
- "The Land Before Time V: The Mysterious Island",
- "The Land Before Time VI: The Secret of Saurus Rock",
- "The Land Girls",
- "Last Action Hero",
- "The Last Boy Scout",
- "Last Exit to Brooklyn",
- "Last Night",
- "Last of the Dogmen",
- "The Last of the Mohicans",
- "The Last Seduction",
- "A League of Their Own",
- "Leave It to Beaver",
- "Leaving Las Vegas",
- "Lethal Weapon 3",
- "Lethal Weapon 4",
- "Liar Liar",
- "Lies",
- "The Limey",
- "The Lion King series:",
- "The Lion King",
- "The Lion King II: Simba's Pride",
- "Lionheart",
- "Little Buddha",
- "Little Dieter Needs to Fly",
- "The Little Mermaid",
- "A Little Princess",
- "The Little Rascals",
- "Little Voice",
- "Little Women",
- "Live Wire",
- "Loch Ness",
- "Lock, Stock and Two Smoking Barrels",
- "Lone Star",
- "Longtime Companion",
- "Look Who's Talking Now",
- "Look Who's Talking Too",
- "Lord of the Flies",
- "Lost Highway",
- "Lost in Space",
- "The Lost World: Jurassic Park",
- "Love Jones",
- "Love Potion No. 9",
- "A Low Down Dirty Shame",
- "M. Butterfly",
- "Maborosi",
- "Mack the Knife",
- "Made in America",
- "Madeline",
- "Magnolia",
- "Major League series:",
- "Major League II",
- "Major League: Back to the Minors",
- "Malcolm X",
- "Malice",
- "Mallrats",
- "Man's Best Friend",
- "A Man Called Sarge",
- "The Man in the Iron Mask",
- "The Man Who Knew Too Little",
- "The Man Without a Face",
- "Man of the House",
- "Man on the Moon",
- "Margaret's Museum",
- "El Mariachi",
- "Marked for Death",
- "The Marrying Man",
- "Mars Attacks!",
- "Mary Reilly",
- "Mary Shelley's Frankenstein",
- "The Mask",
- "The Mask of Zorro",
- "The Masseuse",
- "Masterminds",
- "The Match Factory Girl",
- "Matilda",
- "The Matrix",
- "Maverick",
- "Maximum Risk",
- "Meet Joe Black",
- "Memoirs of an Invisible Man",
- "Memphis Belle",
- "Men in Black",
- "Men in White",
- "Merlin",
- "Mermaids",
- "The Messenger: The Story of Joan of Arc",
- "Metropolitan",
- "Mickey Blue Eyes",
- "Mighty Aphrodite",
- "The Mighty Ducks",
- "Mighty Joe Young",
- "Mighty Morphin Power Rangers: The Movie",
- "Milk Money",
- "Mimic",
- "Misery",
- "Mission: Impossible",
- "Mixed Nuts",
- "Mo' Better Blues",
- "The Mod Squad",
- "Money Talks",
- "Money Train",
- "Monkey Trouble",
- "Mortal Kombat series:",
- "Mortal Kombat",
- "Mortal Kombat: Annihilation",
- "Mr. Holland's Opus",
- "Mr. Magoo",
- "Mrs. Doubtfire",
- "Mrs. Winterbourne",
- "Much Ado About Nothing",
- "Mulan",
- "Mulholland Falls",
- "The Mummy",
- "Muppets from Space",
- "Muppet Treasure Island",
- "Muriel's Wedding",
- "Music of the Heart",
- "My Best Fiend",
- "My Best Friend's Wedding",
- "My Blue Heaven",
- "My Cousin Vinny",
- "My Favorite Martian",
- "My Favorite Season",
- "My Giant",
- "My Girl",
- "My Girl 2",
- "My Own Private Idaho",
- "My Summer Story",
- "Myself in the Distant Future",
- "Mystery Science Theater 3000: The Movie",
- "The Naked Gun 2½: The Smell of Fear",
- "Naked Gun 33⅓: The Final Insult",
- "Naked Lunch",
- "National Lampoon's Loaded Weapon 1",
- "National Lampoon's Vegas Vacation",
- "Natural Born Killers",
- "Nell",
- "The Net",
- "Never Been Kissed",
- "Neverending Story series:",
- "The NeverEnding Story II: The Next Chapter",
- "The NeverEnding Story III",
- "Never Talk to Strangers",
- "New Jack City",
- "Newsies",
- "The Newton Boys",
- "The Next Karate Kid",
- "Nick of Time",
- "A Night at the Roxbury",
- "Nightbreed",
- "The Nightmare Before Christmas",
- "Nixon",
- "Noises Off",
- "North",
- "Not Without My Daughter",
- "Nothing But Trouble",
- "Notting Hill",
- "Now and Then",
- "Nurse Nancy",
- "The Nutty Professor",
- "Office Space",
- "The Omega Code",
- "On Deadly Ground",
- "Once Upon a Crime",
- "One False Move",
- "Operation Dumbo Drop",
- "Orgazmo",
- "Othello",
- "Other People's Money",
- "The Other Sister",
- "Out for Justice",
- "Outbreak",
- "Pacific Heights",
- "The Pagemaster",
- "Panther",
- "Paprika",
- "The Parent Trap",
- "Passenger 57",
- "Passport to Paris",
- "Patch Adams",
- "Patriot Games",
- "Paulie",
- "PCU",
- "The Pebble and the Penguin",
- "Pecker",
- "The Pelican Brief",
- "The People Under the Stairs",
- "The People vs. Larry Flynt",
- "A Perfect World",
- "Pet Shop",
- "Phantoms",
- "Philadelphia",
- "The Piano",
- "Piranha",
- "Pinocchio",
- "The Player",
- "Playing By Heart",
- "Playing the Odds",
- "Pleasantville",
- "Pocahontas",
- "Pocahontas II: Journey to a New World",
- "Poetic Justice",
- "Point Break",
- "Point of No Return",
- "Poison",
- "Poison Ivy",
- "Poison Ivy II: Lily",
- "Poison Ivy: The New Seduction",
- "Pokémon: The First Movie",
- "Posse",
- "Postcards from the Edge",
- "The Postman",
- "Predator 2",
- "Presumed Innocent",
- "Pretty Woman",
- "Primary Colors",
- "The Prince of Egypt",
- "The Prince of Tides",
- "Private Parts",
- "Problem Child series:",
- "Problem Child",
- "Problem Child 2",
- "Problem Child 3: Junior in Love",
- "Léon: The Professional",
- "Psycho",
- "Psycho IV: The Beginning",
- "Pulp Fiction",
- "Pump Up the Volume",
- "Puppet Master II",
- "Puppet Master III: Toulon's Revenge",
- "Puppet Master 4",
- "Puppet Master 5: The Final Chapter",
- "Pure Country",
- "Pushing Tin",
- "Q&A",
- "Quest for Camelot",
- "The Quick and the Dead",
- "Quick Change",
- "Quicksilver Highway",
- "Quigley Down Under",
- "Quiz Show",
- "Rambling Rose",
- "Random Hearts",
- "Ravenous",
- "Reality Bites",
- "Red Rock West",
- "The Red Violin",
- "Regarding Henry",
- "Regeneration",
- "The Remains of the Day",
- "Renaissance Man",
- "The Rescuers Down Under",
- "Reservoir Dogs",
- "Retro Puppet Master",
- "Return of the Living Dead 3",
- "Return to the Blue Lagoon",
- "Reversal of Fortune",
- "Richard III",
- "Ri¢hie Ri¢h",
- "Richie Rich's Christmas Wish",
- "Ride with the Devil",
- "Ringu",
- "A River Runs Through It",
- "Rob Roy",
- "Robin Hood: Men in Tights",
- "Robin Hood: Prince of Thieves",
- "RoboCop 2",
- "RoboCop 3",
- "Robot Jox",
- "The Rock",
- "Rock-A-Doodle",
- "The Rocketeer",
- "RocketMan",
- "Rocky V",
- "Romance",
- "Romeo + Juliet",
- "Romy and Michele's High School Reunion",
- "Rosencrantz & Guildenstern Are Dead",
- "Rounders",
- "Rover Dangerfield",
- "Rubin and Ed",
- "Rudy",
- "The Rugrats Movie",
- "Run Lola Run",
- "Runaway Bride",
- "Rush Hour",
- "Rushmore",
- "The Russia House",
- "Sabrina",
- "The Saint",
- "A Saintly Switch",
- "The Sandlot",
- "The Santa Clause",
- "Sarafina!",
- "Sátántangó",
- "Saving Private Ryan",
- "The Scarlet Letter",
- "A Scene at the Sea",
- "Scent of a Woman",
- "Schindler's List",
- "School Ties",
- "Scream",
- "Scream 2",
- "Screamers",
- "The Secret Garden",
- "The Secret of NIMH 2: Timmy to the Rescue",
- "Selena",
- "Senior Trip",
- "Sense and Sensibility",
- "Serial Mom",
- "Set It Off",
- "Seven",
- "Seven Years in Tibet",
- "Sgt. Kabukiman N.Y.P.D.",
- "The Shadow",
- "Shadowlands",
- "Shakespeare in Love",
- "Shakes the Clown",
- "Shattered",
- "The Shawshank Redemption",
- "She's All That",
- "Shining Through",
- "Shreck",
- "The Shrimp on the Barbie",
- "Short Cuts",
- "Showgirls",
- "Side Out",
- "The Siege",
- "The Silence of the Lambs",
- "Simon Birch",
- "A Simple Plan",
- "A Simple Twist of Fate",
- "Sinbad",
- "Single White Female",
- "Singles",
- "Sirens",
- "Six Days Seven Nights",
- "Six Degrees of Separation",
- "The Sixth Sense",
- "Slacker",
- "Slam Dunk Ernest",
- "SLC Punk!",
- "Sleeping with the Enemy",
- "Sleepless in Seattle",
- "Sleepy Hollow",
- "Sliding Doors",
- "Sling Blade",
- "Sliver",
- "Small Soldiers",
- "A Smile Like Yours",
- "Snow Falling on Cedars",
- "So I Married an Axe Murderer",
- "Soapdish",
- "Solar Crisis",
- "Son in Law",
- "South Park: Bigger, Longer & Uncut",
- "Spaced Invaders",
- "Space Jam",
- "Spawn",
- "The Specialist",
- "Species",
- "Species II",
- "Speechless",
- "Speed",
- "Speed 2: Cruise Control",
- "Sphere",
- "Spiceworld",
- "Spy Hard",
- "Stalingrad",
- "Star Trek: First Contact",
- "Star Trek: Generations",
- "Star Trek: Insurrection",
- "Star Trek VI: The Undiscovered Country",
- "Star Wars: Episode I - The Phantom Menace",
- "Stargate",
- "Stay Tuned",
- "Steel",
- "Stella",
- "The Stendhal Syndrome",
- "Stepmom",
- "Still Crazy",
- "Stop! or My Mom Will Shoot",
- "The Story of Us",
- "Strange Days",
- "A Stranger Among Us",
- "Street Fighter",
- "Striptease",
- "Stuart Little",
- "The Stupids",
- "subUrbia",
- "Sudden Death",
- "Summer of Sam",
- "Sunset Grill",
- "Sunshine",
- "Super Mario Bros.",
- "The Suspended Step of the Stork",
- "The Swan Princess series",
- "The Swan Princess",
- "The Swan Princess II: Escape from Castle Mountain",
- "The Swan Princess: The Mystery of the Enchanted Kingdom",
- "Switch",
- "Switched at Birth",
- "Switching Goals",
- "Swoon",
- "The Talented Mr. Ripley",
- "Tales of Erotica",
- "Tall Tale",
- "The Tango Lesson",
- "Tank Girl",
- "Tarzan",
- "A Taste of Cherry",
- "Tatie Danielle",
- "Teaching Mrs. Tingle",
- "Teenage Catgirls in Heat",
- "Teenage Mutant Ninja Turtles series:",
- "Teenage Mutant Ninja Turtles",
- "Teenage Mutant Ninja Turtles II: The Secret of the Ooze",
- "Teenage Mutant Ninja Turtles III",
- "Tekken",
- "The Temp",
- "Terminator 2: Judgment Day",
- "Terror Firmer",
- "Tesis",
- "Texasville",
- "That Darn Cat",
- "Thelma and Louise",
- "Theodore Rex",
- "The Theory of Flight",
- "There's Something About Mary",
- "A Thin Line Between Love and Hate",
- "The Thin Red Line",
- "This Boy's Life",
- "The Thomas Crown Affair",
- "The Tie That Binds",
- "Three Colors: Blue",
- "Three Colors: Red",
- "Three Colors: White",
- "The Spitfire Grill",
- "The Three Musketeers",
- "The Three Musketeers",
- "Threesome",
- "Thumbelina",
- "Thumbelina",
- "Thursday",
- "Tilaï",
- "A Time to Kill",
- "Timecop",
- "Titanic",
- "Tom and Huck",
- "Tom and Jerry: The Movie",
- "Tombstone",
- "Tommy Boy",
- "Tomorrow Never Dies",
- "Toothless",
- "Top of the World",
- "Topsy-Turvy",
- "Total Recall",
- "To Die For",
- "To Grandmother's House We Go",
- "To Wong Foo, Thanks for Everything! Julie Newmar",
- "Toy Soldiers",
- "Toy Story",
- "Toy Story 2",
- "Toys",
- "Trainspotting",
- "Treasure Island",
- "Tremors",
- "Tremors 2: Aftershocks",
- "Trojan War",
- "Troll 2",
- "Troll 3",
- "A Troll in Central Park",
- "Tromeo and Juliet",
- "True Colors",
- "True Lies",
- "True Romance",
- "The Truman Show",
- "The Truth About Cats and Dogs",
- "Truth or Dare",
- "Tumbleweeds",
- "Turbo: A Power Rangers Movie",
- "The Tune",
- "Turbulence",
- "Twelfth Night: Or What You Will",
- "Twelve Monkeys",
- "Twin Peaks: Fire Walk With Me",
- "Twister",
- "Two Much",
- "The Horseman Show",
- "Ulysses' Gaze",
- "Under Siege",
- "Under Siege 2: Dark Territory",
- "Unforgiven",
- "Unlawful Entry",
- "Untamed Heart",
- "Until the End of the World",
- "The Usual Suspects",
- "Vampire in Brooklyn",
- "Very Bad Things",
- "Vegas In Space",
- "Vegas Vacation",
- "Vendetta",
- "Vincent & Theo",
- "The Virgin Suicides",
- "Virtual Sexuality",
- "Virus",
- "Volcano",
- "La Vie sexuelle des Belges 1950-1978",
- "Waiting to Exhale",
- "Waking Ned",
- "A Walk in the Clouds",
- "War of the Buttons",
- "Warriors of Virtue",
- "Wayne's World series:",
- "Wayne's World",
- "Wayne's World 2",
- "The Waterboy",
- "Waterworld",
- "The Wedding Singer",
- "Weekend at Bernie's II",
- "We're Back! A Dinosaur's Story",
- "What About Bob?",
- "What's Eating Gilbert Grape",
- "What's Love Got to Do with It",
- "Where Angels Fear to Tread",
- "While You Were Sleeping",
- "Whispering Corridors",
- "Whispers in the Dark",
- "White Men Can't Jump",
- "White Sands",
- "Who Am I?",
- "Why Not Me?",
- "Wide Sargasso Sea",
- "Wild America",
- "Wild at Heart",
- "Wild Orchid",
- "Wild Things",
- "Wild Wild West",
- "Wing Commander",
- "The Wings of the Dove",
- "The Witches",
- "Wolf",
- "The World Is Not Enough",
- "World's Biggest Gang Bang",
- "Wrongfully Accused",
- "Wyatt Earp",
- "The X Files: Fight the Future",
- "Yellow Hair",
- "You've Got Mail",
- "Young Guns II",
- "Zazel"
-];
-
-}());
\ No newline at end of file
diff --git a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/Nations.js b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/Nations.js
deleted file mode 100644
index dfc3039..0000000
--- a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/Nations.js
+++ /dev/null
@@ -1,207 +0,0 @@
-(function() {
-
- rap.registerTypeHandler( "clientData.Nations", {
-
- factory : function() {
- return nations;
- }
-
- } );
-
- var nations = [
- "Albania",
- "Algeria",
- "Andorra",
- "Angola",
- "Anguilla",
- "Antigua and Barbuda",
- "Argentina",
- "Armenia",
- "Australia",
- "Austria",
- "Azerbaijan",
- "Bahamas",
- "Bahrain",
- "Bangladesh",
- "Barbados",
- "Belarus",
- "Belgium",
- "Belize",
- "Benin",
- "Bhutan",
- "Bolivia",
- "Bosnia and Herzegovina",
- "Botswana",
- "Brazil",
- "Brunei",
- "Bulgaria",
- "Burkina Faso",
- "Burma/Myanmar",
- "Burundi",
- "Cambodia",
- "Cameroon",
- "Canada",
- "Cape Verde",
- "Central African Republic",
- "Chad",
- "Chile",
- "China",
- "Colombia",
- "Comoros",
- "Congo",
- "Costa Rica",
- "Cote d'Ivoire Croatia",
- "Cuba",
- "Cyprus",
- "Cyprus",
- "Czech Republic",
- "Denmark",
- "Djibouti",
- "Dominica",
- "Dominican Republic",
- "Ecuador",
- "Egypt",
- "El Salvador",
- "Equatorial Guinea",
- "Eritrea",
- "Estonia",
- "Ethiopia",
- "Fiji",
- "Finland",
- "France",
- "Gabon",
- "Gambia",
- "Georgia",
- "Germany",
- "Ghana",
- "Greece",
- "Greenland",
- "Grenada",
- "Guatemala",
- "Guinea",
- "Guinea-Bissau",
- "Guyana",
- "Haiti",
- "Honduras",
- "Hungary",
- "Iceland",
- "India",
- "Indonesia",
- "Iran",
- "Iraq",
- "Ireland",
- "Israel",
- "Italy",
- "Jamaica",
- "Japan",
- "Jordan",
- "Kazakstan",
- "Kenya",
- "Kiribati",
- "Korea, North",
- "Korea, South",
- "Kuwait",
- "Kyrgyzstan",
- "Laos",
- "Latvia",
- "Lebanon",
- "Lesotho",
- "Liberia",
- "Libya",
- "Liechtenstein",
- "Lithuania",
- "Luxembourg",
- "Macedonia",
- "Madagascar",
- "Malawi",
- "Malaysia",
- "Maldives",
- "Mali",
- "Malta",
- "Marshall Islands",
- "Mauritania",
- "Mauritius",
- "Mexico",
- "Micronesia",
- "Moldova",
- "Monaco",
- "Mongolia",
- "Morocco",
- "Mozambique",
- "Namibia",
- "Nepal",
- "Netherlands",
- "New Zealand",
- "Nicaragua",
- "Niger",
- "Nigeria",
- "Norway",
- "Oman",
- "Pakistan",
- "Palau",
- "Palestine",
- "Panama",
- "Papua New Guinea",
- "Paraguay",
- "Peru",
- "Philippines",
- "Poland",
- "Portugal",
- "Puerto Rico",
- "Qatar",
- "Romania",
- "Russian Federation",
- "Rwanda",
- "Saint Kitts and Nevis",
- "Saint Lucia",
- "Saint Vincent and the Grenadines",
- "San Marino",
- "Sao Tome and Principe",
- "Saudi Arabia",
- "Senegal",
- "Seychelles",
- "Sierra Leone",
- "Singapore",
- "Slovakia",
- "Slovenia",
- "Solomon Islands",
- "Somalia",
- "South Africa",
- "Spain",
- "Sri Lanka",
- "Sudan",
- "Suriname",
- "Swaziland",
- "Sweden",
- "Switzerland",
- "Syria",
- "Taiwan",
- "Tajikistan",
- "Tanzania",
- "Thailand",
- "Togo",
- "Tonga",
- "Trinidad and Tobago",
- "Tunisia",
- "Turkey",
- "Turkmenistan",
- "Tuvalu",
- "Uganda",
- "Ukraine",
- "United Arab Emirates",
- "United Kingdom",
- "United States of America",
- "Uruguay",
- "Uzbekistan",
- "Vanuatu",
- "Vatican City",
- "Venezuela",
- "Vietnam",
- "Western Samoa",
- "Yemen",
- "Yugoslavia",
- "Zambia",
- "Zimbabwe"
- ];
-
-}());
\ No newline at end of file
diff --git a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/ResourceLoaderUtil.java b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/ResourceLoaderUtil.java
deleted file mode 100644
index d12821b..0000000
--- a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/ResourceLoaderUtil.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2012, 2013 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 org.eclipse.rap.addons.dropdown.demo;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-
-/**
- * Example for a utility that helps reading script file contents from the class path.
- */
-public class ResourceLoaderUtil {
-
- private static final String CHARSET = "UTF-8";
- private static final ClassLoader CLASSLOADER = ResourceLoaderUtil.class.getClassLoader();
-
- private ResourceLoaderUtil() {
- // prevent instantiation
- }
-
- /**
- * Reads the content of a given text resource.
- *
- * @param resource the fully qualified name of the resource, without leading slash
- * @return the contents of the resource as string
- * @throws IllegalArgumentException if the resource could not be read
- */
- public static String readTextContent( String resource ) {
- try {
- return readTextContentChecked( resource );
- } catch( IOException e ) {
- throw new IllegalArgumentException( "Failed to read resource: " + resource );
- }
- }
-
- private static String readTextContentChecked( String resource ) throws IOException {
- InputStream stream = CLASSLOADER.getResourceAsStream( resource );
- if( stream == null ) {
- throw new IllegalArgumentException( "Resource not found: " + resource );
- }
- try {
- BufferedReader reader = new BufferedReader( new InputStreamReader( stream, CHARSET ) );
- return readLines( reader );
- } finally {
- stream.close();
- }
- }
-
- private static String readLines( BufferedReader reader ) throws IOException {
- StringBuilder builder = new StringBuilder();
- String line = reader.readLine();
- while( line != null ) {
- builder.append( line );
- builder.append( '\n' );
- line = reader.readLine();
- }
- return builder.toString();
- }
-}
diff --git a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/TextEventHandler.js b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/TextEventHandler.js
deleted file mode 100644
index bf4314d..0000000
--- a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/TextEventHandler.js
+++ /dev/null
@@ -1,102 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2013 EclipseSource.
- * 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
- ******************************************************************************/
-
-var searchItems = rwt.dropdown.DropDown.searchItems;
-var createQuery = rwt.dropdown.DropDown.createQuery;
-
-function handleEvent( event ) {
- switch( event.type ) {
- case SWT.Modify:
- handleModify( event );
- break;
- case SWT.Verify:
- handleVerify( event );
- break;
- case SWT.KeyDown:
- handleKeyDown( event );
- break;
- }
-}
-
-function handleVerify( event ) {
- // See Bug 404896 - [ClientScripting] Verify event keyCode is always zero when replacing txt
- if( event.text !== "" /* && event.keyCode !== 0 */ ) {
- event.widget.setData( "typing", true );
- }
-}
-
-function handleModify( event ) {
- var widget = event.widget;
- var text = widget.getText().toLowerCase();
- var dropdown = rap.getObject( widget.getData( "dropdown" ) );
- var data = rap.getObject( dropdown.getData( "data" ) );
- var items = searchItems( data, createQuery( text ), 10 ).items;
- var typing = widget.getData( "typing" );
- var selecting = widget.getData( "selecting" );
- widget.setData( "typing", false );
- widget.setData( "selecting", false );
- if( !selecting ) {
- if( ( text.length >= 2 || ( dropdown.getVisible() && typing ) ) && items.length > 0 ) {
- dropdown.setItems( items );
- dropdown.show();
- var common = commonText( items );
- if( typing && common && common.length > text.length ) {
- var sel = widget.getSelection();
- var newSel = [ sel[ 0 ], common.length ];
- widget.setText( common );
- widget.setSelection( newSel );
- }
- } else {
- dropdown.hide();
- }
- }
-}
-
-function handleKeyDown( event ) {
- var widget = event.widget;
- var dropdown = rap.getObject( widget.getData( "dropdown" ) );
- if( dropdown.getVisible() ) {
- switch( event.keyCode ) {
- case SWT.CR:
- var sel = widget.getSelection();
- widget.setSelection( [ sel[ 1 ], sel[ 1 ] ] );
- break;
- }
- }
-}
-
-function commonText( items ) {
- var result = null;
- if( items.length === 1 ) {
- result = items[ 0 ];
- } else {
- var cont = true;
- var commonTo = 0;
- while( cont ) {
- var next = items[ 0 ].indexOf( " ", commonTo + 1 ); // TODO [tb] : also respect ,"':;
- if( next !== -1 ) {
- var testString = items[ 0 ].slice( 0, next + 1 );
- var commons = searchItems( items, createQuery( testString, true ) ).items;
- if( items.length === commons.length ) {
- commonTo = next + 1;
- } else {
- cont = false;
- }
- } else {
- cont = false;
- }
- }
- if( commonTo > 0 ) {
- result = items[ 0 ].slice( 0, commonTo );
- }
- }
- return result;
-}
\ No newline at end of file
diff --git a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/KFZ.java b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/data/KFZ.java
similarity index 99%
rename from examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/KFZ.java
rename to examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/data/KFZ.java
index bcf8459..ed579da 100644
--- a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/KFZ.java
+++ b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/data/KFZ.java
@@ -8,7 +8,7 @@
* Contributors:
* EclipseSource - initial API and implementation
******************************************************************************/
-package org.eclipse.rap.addons.dropdown.demo;
+package org.eclipse.rap.addons.dropdown.demo.data;
public class KFZ {
diff --git a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/Movies.java b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/data/Movies.java
similarity index 99%
rename from examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/Movies.java
rename to examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/data/Movies.java
index 8c4b82f..3fc3674 100644
--- a/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/Movies.java
+++ b/examples/org.eclipse.rap.addons.dropdown.demo/src/org/eclipse/rap/addons/dropdown/demo/data/Movies.java
@@ -8,7 +8,7 @@
* Contributors:
* EclipseSource - initial API and implementation
******************************************************************************/
-package org.eclipse.rap.addons.dropdown.demo;
+package org.eclipse.rap.addons.dropdown.demo.data;
public class Movies {
diff --git a/examples/org.eclipse.rap.addons.dropdown.demo/theme/arrow-down.png b/examples/org.eclipse.rap.addons.dropdown.demo/theme/arrow-down.png
deleted file mode 100644
index c6bd3f7..0000000
--- a/examples/org.eclipse.rap.addons.dropdown.demo/theme/arrow-down.png
+++ /dev/null
Binary files differ
diff --git a/examples/org.eclipse.rap.addons.dropdown.demo/theme/theme.css b/examples/org.eclipse.rap.addons.dropdown.demo/theme/theme.css
deleted file mode 100644
index 63415cb..0000000
--- a/examples/org.eclipse.rap.addons.dropdown.demo/theme/theme.css
+++ /dev/null
@@ -1,7 +0,0 @@
-Text.dropdown {
- border-radius: 0; /* otherwise IE won't support background position */
- padding: 5px 20px 5px 10px; /* give space to the icon */
- background-image: url( theme/arrow-down.png );
- background-repeat: no-repeat;
- background-position: right center;
-}