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 Icon extends Component implements javax.accessibility.Accessible {
Icon(XAccessible xAccessible, XAccessibleContext xAccessibleContext)35      protected Icon(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 AccessibleIcon();
42      }
43  
44      protected class AccessibleIcon extends AccessibleUNOComponent {
45          /**
46          * Though the class is abstract, this should be called by all sub-classes
47          */
AccessibleIcon()48          protected AccessibleIcon() {
49              super();
50          }
51  
52          /** Gets the AccessibleText associated with this object presenting text on the display */
getAccessibleIcon()53          public javax.accessibility.AccessibleIcon[] getAccessibleIcon() {
54              try {
55                  XAccessibleImage unoAccessibleImage = (XAccessibleImage) UnoRuntime.queryInterface(XAccessibleImage.class,
56                          unoAccessibleComponent);
57  
58                  if (unoAccessibleImage != null) {
59                      javax.accessibility.AccessibleIcon[] icons = {
60                          new AccessibleIconImpl(unoAccessibleImage)
61                      };
62  
63                      return icons;
64                  }
65              } catch (com.sun.star.uno.RuntimeException e) {
66              }
67  
68              return null;
69          }
70  
71      }
72  }
73