blob: 7ccd19ed2e603d8306f981ff33ad35b0bfc1dfcb [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2010 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.gef;
import java.util.List;
/**
* This class provides keyboard accessibility support for the {@link Handle
* Handles} of the primary-selected {@link EditPart}. Handles are grabbable
* regions on the screen. Typically the user will grab a handle by pressing and
* holding the mouse button. This function must also be available via the
* keyboard for accessibility reasons. Even mouse Users will appreciate the
* fine-grained control offered by the keyboard for operations like "nudging".
* <P>
* The SelectionTool is the primary client for Handles. When it is active, the
* PERIOD keystroke will cycle through the list of Accessibile locations
* (Points) supplied by the current EditPart. The "current EditPart" is defined
* as the EditPart with primary selection.
*/
public interface AccessibleHandleProvider {
/**
* Returns a list of Points in <B>absolute</B> coordinates where
* {@link Handle Handles} are located. {@link Tool Tools} that work with
* Handles should use these locations when operating in accesible keyboard
* modes.
*
* @return A list of absolute locations (Points relative to the Viewer's
* Control); cannot be <code>null</code>
*/
List getAccessibleHandleLocations();
}