/*******************************************************************************
 * Copyright (c) 2004, 2005 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
 *******************************************************************************/

package org.eclipse.ant.tests.ui.support.inputHandlers;


public class TestSWTInputHandler {//extends SWTInputHandler {
	
   
//    /* (non-Javadoc)
//     * @see org.eclipse.ant.internal.ui.antsupport.inputhandler.SWTInputHandler#open(java.lang.String, java.lang.String, boolean[])
//     */
//    protected void open(String title, String prompt, boolean[] result) {
//        fRequest.setInput("TestSWTInputHandler");
//        result[0]= true;
//    }
}
