/*******************************************************************************
 * Copyright (c) 2004, 2005 IBM Corporation and others.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 * 
 * 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;
	// }
}
