| /******************************************************************************* |
| * Copyright (c) 2007, 2008 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: |
| * Takashi ITOH - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.actf.visualization.gui.util; |
| |
| import java.util.Iterator; |
| import java.util.LinkedHashMap; |
| |
| import org.eclipse.actf.accservice.swtbridge.AccessibleObject; |
| import org.eclipse.swt.graphics.Point; |
| |
| public class TextMap extends LinkedHashMap<AccessibleObject, Point> { |
| |
| private static final long serialVersionUID = -8640673640566349712L; |
| |
| public void clear() { |
| super.clear(); |
| } |
| |
| public Point put(AccessibleObject accObject, Point point) { |
| return super.put(accObject,point); |
| } |
| |
| public Point getPoint(AccessibleObject accObject) { |
| return get(accObject); |
| } |
| |
| public AccessibleObject getAccessibleObject(Point point) { |
| AccessibleObject retObject = null; |
| for( Iterator it = keySet().iterator(); it.hasNext(); ) { |
| AccessibleObject accObject = (AccessibleObject)it.next(); |
| Point accPoint = getPoint(accObject); |
| if( accPoint.x <= point.x && point.x < accPoint.y ) { |
| retObject = accObject; |
| if( accPoint.x != accPoint.y ) break; |
| } |
| } |
| return retObject; |
| } |
| } |