1 2 import com.sun.star.uno.UnoRuntime; 3 import com.sun.star.accessibility.XAccessibleContext; 4 import com.sun.star.accessibility.XAccessibleImage; 5 6 7 class AccessibleImageHandler extends NodeHandler 8 { 9 public NodeHandler createHandler (XAccessibleContext xContext) 10 { 11 XAccessibleImage xImage = 12 (XAccessibleImage) UnoRuntime.queryInterface ( 13 XAccessibleImage.class, xContext); 14 if (xImage != null) 15 return new AccessibleImageHandler (xImage); 16 else 17 return null; 18 } 19 20 public AccessibleImageHandler () 21 { 22 } 23 24 public AccessibleImageHandler (XAccessibleImage xImage) 25 { 26 if (xImage != null) 27 maChildList.setSize (1); 28 } 29 30 protected static XAccessibleImage getImage (AccTreeNode aNode) 31 { 32 return (XAccessibleImage) UnoRuntime.queryInterface ( 33 XAccessibleImage.class, aNode.getContext()); 34 } 35 36 public AccessibleTreeNode createChild (AccessibleTreeNode aParent, int nIndex) 37 { 38 if (aParent instanceof AccTreeNode) 39 { 40 XAccessibleImage xImage = getImage ((AccTreeNode)aParent); 41 if (xImage != null) 42 return new StringNode ( 43 "Image: " + 44 xImage.getAccessibleImageDescription() + " (" + 45 xImage.getAccessibleImageWidth() + "x" + 46 xImage.getAccessibleImageHeight() + ")", 47 aParent); 48 } 49 return null; 50 } 51 } 52