1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 package org.openoffice.java.accessibility;
24 
25 import com.sun.star.accessibility.*;
26 import com.sun.star.uno.*;
27 
28 import javax.accessibility.AccessibleState;
29 import javax.accessibility.AccessibleStateSet;
30 
31 
32 /**
33  */
34 public class ToolTip extends Component implements javax.accessibility.Accessible {
ToolTip(XAccessible xAccessible, XAccessibleContext xAccessibleContext)35     protected ToolTip(XAccessible xAccessible, XAccessibleContext xAccessibleContext) {
36         super(xAccessible, xAccessibleContext);
37     }
38 
39     /** Creates the AccessibleContext associated with this object */
createAccessibleContext()40     public javax.accessibility.AccessibleContext createAccessibleContext() {
41         return new AccessibleToolTip();
42     }
43 
44     protected class AccessibleToolTip extends AccessibleUNOComponent {
45 
46         /*
47         * AccessibleContext
48         */
49 
50         /** Gets the role of this object */
getAccessibleRole()51         public javax.accessibility.AccessibleRole getAccessibleRole() {
52             return javax.accessibility.AccessibleRole.TOOL_TIP;
53         }
54 
55         /** Gets the AccessibleText associated with this object presenting text on the display */
getAccessibleText()56         public javax.accessibility.AccessibleText getAccessibleText() {
57 
58             if (disposed)
59                 return null;
60 
61             try {
62                 XAccessibleText unoAccessibleText = (XAccessibleText) UnoRuntime.queryInterface(XAccessibleText.class,
63                         unoAccessibleComponent);
64 
65                 if (unoAccessibleText != null) {
66                     return new AccessibleTextImpl(unoAccessibleText);
67                 } else {
68                     return null;
69                 }
70             } catch (com.sun.star.uno.RuntimeException e) {
71                 return null;
72             }
73         }
74 
75         /** Returns the relation set of this object */
76 
77         /*
78                         public javax.accessibility.AccessibleRelationSet getAccessibleRelationSet() {
79                                 try {
80                                         XAccessibleRelationSet unoAccessibleRelationSet = unoAccessibleContext.getAccessibleRelationSet();
81                                         if (unoAccessibleRelationSet == null) {
82                                                 return null;
83                                         }
84 
85                                         javax.accessibility.AccessibleRelationSet relationSet = new javax.accessibility.AccessibleRelationSet();
86                                         int count = unoAccessibleRelationSet.getRelationCount();
87                                         for (int i = 0; i < count; i++) {
88                                                 AccessibleRelation unoAccessibleRelation = unoAccessibleRelationSet.getRelation(i);
89                                                 switch (unoAccessibleRelation.RelationType) {
90                                                         case AccessibleRelationType.LABEL_FOR:
91                                                                 relationSet.add(new javax.accessibility.AccessibleRelation(
92                                                                         javax.accessibility.AccessibleRelation.LABEL_FOR,
93                                                                         getAccessibleComponents(unoAccessibleRelation.TargetSet)));
94                                                                 break;
95                                                         case AccessibleRelationType.MEMBER_OF:
96                                                                 relationSet.add(new javax.accessibility.AccessibleRelation(
97                                                                         javax.accessibility.AccessibleRelation.MEMBER_OF,
98                                                                         getAccessibleComponents(unoAccessibleRelation.TargetSet)));
99                                                                 break;
100                                                         default:
101                                                                 break;
102                                                 }
103                                         }
104                                         return relationSet;
105                                 } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
106                                         return null;
107                                 } catch (com.sun.star.uno.RuntimeException e) {
108                                         return null;
109                                 }
110                         }
111         */
112     }
113 }
114