/************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ package org.openoffice.java.accessibility; import com.sun.star.accessibility.*; import com.sun.star.uno.*; import javax.accessibility.AccessibleState; import javax.accessibility.AccessibleStateSet; /** */ public class Label extends Component implements javax.accessibility.Accessible { protected Label(XAccessible xAccessible, XAccessibleContext xAccessibleContext) { super(xAccessible, xAccessibleContext); } /** Creates the AccessibleContext associated with this object */ public javax.accessibility.AccessibleContext createAccessibleContext() { return new AccessibleLabel(); } protected class AccessibleLabel extends AccessibleUNOComponent { /** * Though the class is abstract, this should be called by all sub-classes */ protected AccessibleLabel() { super(); } /* * AccessibleContext */ /** Gets the role of this object */ public javax.accessibility.AccessibleRole getAccessibleRole() { return javax.accessibility.AccessibleRole.LABEL; } /** Gets the AccessibleText associated with this object presenting text on the display */ public javax.accessibility.AccessibleText getAccessibleText() { if (disposed) return null; try { XAccessibleText unoAccessibleText = (XAccessibleText) UnoRuntime.queryInterface(XAccessibleText.class, unoAccessibleContext); if (unoAccessibleText != null) { return new AccessibleTextImpl(unoAccessibleText); } else { return null; } } catch (com.sun.star.uno.RuntimeException e) { return null; } } /** Returns the relation set of this object */ public javax.accessibility.AccessibleRelationSet getAccessibleRelationSet() { try { XAccessibleRelationSet unoAccessibleRelationSet = unoAccessibleContext.getAccessibleRelationSet(); if (unoAccessibleRelationSet == null) { return null; } javax.accessibility.AccessibleRelationSet relationSet = new javax.accessibility.AccessibleRelationSet(); int count = unoAccessibleRelationSet.getRelationCount(); for (int i = 0; i < count; i++) { AccessibleRelation unoAccessibleRelation = unoAccessibleRelationSet.getRelation(i); switch (unoAccessibleRelation.RelationType) { case AccessibleRelationType.LABEL_FOR: relationSet.add(new javax.accessibility.AccessibleRelation( javax.accessibility.AccessibleRelation.LABEL_FOR, getAccessibleComponents( unoAccessibleRelation.TargetSet))); break; case AccessibleRelationType.MEMBER_OF: relationSet.add(new javax.accessibility.AccessibleRelation( javax.accessibility.AccessibleRelation.MEMBER_OF, getAccessibleComponents( unoAccessibleRelation.TargetSet))); break; default: break; } } return relationSet; } catch (com.sun.star.lang.IndexOutOfBoundsException e) { return null; } catch (com.sun.star.uno.RuntimeException e) { return null; } } } }