1*5fdc4257SSteve Yin /************************************************************************* 2*5fdc4257SSteve Yin * 3*5fdc4257SSteve Yin * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*5fdc4257SSteve Yin * 5*5fdc4257SSteve Yin * Copyright IBM Corporation 2010. 6*5fdc4257SSteve Yin * Copyright 2000, 2010 Oracle and/or its affiliates. 7*5fdc4257SSteve Yin * 8*5fdc4257SSteve Yin * OpenOffice.org - a multi-platform office productivity suite 9*5fdc4257SSteve Yin * 10*5fdc4257SSteve Yin * This file is part of OpenOffice.org. 11*5fdc4257SSteve Yin * 12*5fdc4257SSteve Yin * OpenOffice.org is free software: you can redistribute it and/or modify 13*5fdc4257SSteve Yin * it under the terms of the GNU Lesser General Public License version 3 14*5fdc4257SSteve Yin * only, as published by the Free Software Foundation. 15*5fdc4257SSteve Yin * 16*5fdc4257SSteve Yin * OpenOffice.org is distributed in the hope that it will be useful, 17*5fdc4257SSteve Yin * but WITHOUT ANY WARRANTY; without even the implied warranty of 18*5fdc4257SSteve Yin * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19*5fdc4257SSteve Yin * GNU Lesser General Public License version 3 for more details 20*5fdc4257SSteve Yin * (a copy is included in the LICENSE file that accompanied this code). 21*5fdc4257SSteve Yin * 22*5fdc4257SSteve Yin * You should have received a copy of the GNU Lesser General Public License 23*5fdc4257SSteve Yin * version 3 along with OpenOffice.org. If not, see 24*5fdc4257SSteve Yin * <http://www.openoffice.org/license.html> 25*5fdc4257SSteve Yin * for a copy of the LGPLv3 License. 26*5fdc4257SSteve Yin * 27*5fdc4257SSteve Yin ************************************************************************/ 28*5fdc4257SSteve Yin 29*5fdc4257SSteve Yin #include "stdafx.h" 30*5fdc4257SSteve Yin #include "UAccCOM2.h" 31*5fdc4257SSteve Yin #include "AccText.h" 32*5fdc4257SSteve Yin 33*5fdc4257SSteve Yin using namespace com::sun::star::accessibility; 34*5fdc4257SSteve Yin using namespace com::sun::star::uno; 35*5fdc4257SSteve Yin 36*5fdc4257SSteve Yin /** 37*5fdc4257SSteve Yin * Get special selection. 38*5fdc4257SSteve Yin * @param startOffset Start selection offset. 39*5fdc4257SSteve Yin * @param endOffset End selection offset. 40*5fdc4257SSteve Yin * @param success Variant to accept the result of if the method call is successful. 41*5fdc4257SSteve Yin * @return Result. 42*5fdc4257SSteve Yin */ 43*5fdc4257SSteve Yin STDMETHODIMP CAccText::addSelection(long startOffset, long endOffset)//, unsigned char * success) 44*5fdc4257SSteve Yin { 45*5fdc4257SSteve Yin 46*5fdc4257SSteve Yin return CAccTextBase::get_addSelection(startOffset, endOffset);//, success); 47*5fdc4257SSteve Yin } 48*5fdc4257SSteve Yin 49*5fdc4257SSteve Yin /** 50*5fdc4257SSteve Yin * Get special attributes. 51*5fdc4257SSteve Yin * @param offset Offset. 52*5fdc4257SSteve Yin * @param startOffset Variant to accept start offset. 53*5fdc4257SSteve Yin * @param endOffset Variant to accept end offset. 54*5fdc4257SSteve Yin * @param textAttributes Variant to accept attributes. 55*5fdc4257SSteve Yin * @return Result. 56*5fdc4257SSteve Yin */ 57*5fdc4257SSteve Yin STDMETHODIMP CAccText::get_attributes(long offset, long * startOffset, long * endOffset, BSTR * textAttributes) 58*5fdc4257SSteve Yin { 59*5fdc4257SSteve Yin 60*5fdc4257SSteve Yin return CAccTextBase::get_attributes(offset, startOffset, endOffset, textAttributes); 61*5fdc4257SSteve Yin } 62*5fdc4257SSteve Yin 63*5fdc4257SSteve Yin /** 64*5fdc4257SSteve Yin * Get caret position. 65*5fdc4257SSteve Yin * @param offset Variant to accept caret offset. 66*5fdc4257SSteve Yin * @return Result. 67*5fdc4257SSteve Yin */ 68*5fdc4257SSteve Yin STDMETHODIMP CAccText::get_caretOffset(long * offset) 69*5fdc4257SSteve Yin { 70*5fdc4257SSteve Yin 71*5fdc4257SSteve Yin return CAccTextBase::get_caretOffset(offset); 72*5fdc4257SSteve Yin } 73*5fdc4257SSteve Yin 74*5fdc4257SSteve Yin /** 75*5fdc4257SSteve Yin * Get character count. 76*5fdc4257SSteve Yin * @param nCharacters Variant to accept character count. 77*5fdc4257SSteve Yin * @return Result. 78*5fdc4257SSteve Yin */ 79*5fdc4257SSteve Yin STDMETHODIMP CAccText::get_characterCount(long * nCharacters) 80*5fdc4257SSteve Yin { 81*5fdc4257SSteve Yin 82*5fdc4257SSteve Yin return CAccTextBase::get_characterCount(nCharacters); 83*5fdc4257SSteve Yin } 84*5fdc4257SSteve Yin 85*5fdc4257SSteve Yin /** 86*5fdc4257SSteve Yin * Get character extents. 87*5fdc4257SSteve Yin * @param offset Offset. 88*5fdc4257SSteve Yin * @param x Variant to accpet x position. 89*5fdc4257SSteve Yin * @param y Variant to accpet y position. 90*5fdc4257SSteve Yin * @param width Variant to accpet width. 91*5fdc4257SSteve Yin * @param Height Variant to accpet height. 92*5fdc4257SSteve Yin * @return Result. 93*5fdc4257SSteve Yin */ 94*5fdc4257SSteve Yin STDMETHODIMP CAccText::get_characterExtents(long offset, IA2CoordinateType coordType, long * x, long * y, long * width, long * height) 95*5fdc4257SSteve Yin { 96*5fdc4257SSteve Yin 97*5fdc4257SSteve Yin return CAccTextBase::get_characterExtents(offset, coordType, x, y, width, height); 98*5fdc4257SSteve Yin } 99*5fdc4257SSteve Yin 100*5fdc4257SSteve Yin /** 101*5fdc4257SSteve Yin * Get slections count. 102*5fdc4257SSteve Yin * @param nSelections Variant to accpet slections count. 103*5fdc4257SSteve Yin * @return Result. 104*5fdc4257SSteve Yin */ 105*5fdc4257SSteve Yin STDMETHODIMP CAccText::get_nSelections(long * nSelections) 106*5fdc4257SSteve Yin { 107*5fdc4257SSteve Yin 108*5fdc4257SSteve Yin return CAccTextBase::get_nSelections(nSelections); 109*5fdc4257SSteve Yin } 110*5fdc4257SSteve Yin 111*5fdc4257SSteve Yin /** 112*5fdc4257SSteve Yin * Get offset of some special point. 113*5fdc4257SSteve Yin * @param x X position of one point. 114*5fdc4257SSteve Yin * @param x Y position of one point. 115*5fdc4257SSteve Yin * @param coordType Type. 116*5fdc4257SSteve Yin * @param offset Variant to accept offset. 117*5fdc4257SSteve Yin * @return Result. 118*5fdc4257SSteve Yin */ 119*5fdc4257SSteve Yin 120*5fdc4257SSteve Yin STDMETHODIMP CAccText::get_offsetAtPoint(long x, long y, IA2CoordinateType coordType, long * offset) 121*5fdc4257SSteve Yin { 122*5fdc4257SSteve Yin 123*5fdc4257SSteve Yin return CAccTextBase::get_offsetAtPoint(x, y, coordType, offset); 124*5fdc4257SSteve Yin } 125*5fdc4257SSteve Yin 126*5fdc4257SSteve Yin /** 127*5fdc4257SSteve Yin * Get selection range. 128*5fdc4257SSteve Yin * @param selection selection count. 129*5fdc4257SSteve Yin * @param startOffset Variant to accept the start offset of special selection. 130*5fdc4257SSteve Yin * @param endOffset Variant to accept the end offset of special selection. 131*5fdc4257SSteve Yin * @return Result. 132*5fdc4257SSteve Yin */ 133*5fdc4257SSteve Yin STDMETHODIMP CAccText::get_selection(long selection, long * startOffset, long * endOffset) 134*5fdc4257SSteve Yin { 135*5fdc4257SSteve Yin 136*5fdc4257SSteve Yin return CAccTextBase::get_selection(selection, startOffset, endOffset); 137*5fdc4257SSteve Yin } 138*5fdc4257SSteve Yin 139*5fdc4257SSteve Yin /** 140*5fdc4257SSteve Yin * Get special text. 141*5fdc4257SSteve Yin * @param startOffset Start position of special range. 142*5fdc4257SSteve Yin * @param endOffset End position of special range. 143*5fdc4257SSteve Yin * @param text Variant to accept the text of special range. 144*5fdc4257SSteve Yin * @return Result. 145*5fdc4257SSteve Yin */ 146*5fdc4257SSteve Yin STDMETHODIMP CAccText::get_text(long startOffset, long endOffset, BSTR * text) 147*5fdc4257SSteve Yin { 148*5fdc4257SSteve Yin 149*5fdc4257SSteve Yin return CAccTextBase::get_text(startOffset, endOffset, text); 150*5fdc4257SSteve Yin } 151*5fdc4257SSteve Yin 152*5fdc4257SSteve Yin /** 153*5fdc4257SSteve Yin * Get special text before some position. 154*5fdc4257SSteve Yin * @param offset Special position. 155*5fdc4257SSteve Yin * @param boundaryType Boundary type. 156*5fdc4257SSteve Yin * @param startOffset Variant to accept the start offset. 157*5fdc4257SSteve Yin * @param endOffset Variant to accept the end offset. 158*5fdc4257SSteve Yin * @param text Variant to accept the special text. 159*5fdc4257SSteve Yin * @return Result. 160*5fdc4257SSteve Yin */ 161*5fdc4257SSteve Yin STDMETHODIMP CAccText::get_textBeforeOffset(long offset, IA2TextBoundaryType boundaryType, long * startOffset, long * endOffset, BSTR * text) 162*5fdc4257SSteve Yin { 163*5fdc4257SSteve Yin 164*5fdc4257SSteve Yin return CAccTextBase::get_textBeforeOffset(offset, boundaryType, 165*5fdc4257SSteve Yin startOffset, endOffset, text); 166*5fdc4257SSteve Yin } 167*5fdc4257SSteve Yin 168*5fdc4257SSteve Yin /** 169*5fdc4257SSteve Yin * Get special text after some position. 170*5fdc4257SSteve Yin * @param offset Special position. 171*5fdc4257SSteve Yin * @param boundaryType Boundary type. 172*5fdc4257SSteve Yin * @param startOffset Variant to accept the start offset. 173*5fdc4257SSteve Yin * @param endOffset Variant to accept the end offset. 174*5fdc4257SSteve Yin * @param text Variant to accept the special text. 175*5fdc4257SSteve Yin * @return Result. 176*5fdc4257SSteve Yin */ 177*5fdc4257SSteve Yin STDMETHODIMP CAccText::get_textAfterOffset(long offset, IA2TextBoundaryType boundaryType, long * startOffset, long * endOffset, BSTR * text) 178*5fdc4257SSteve Yin { 179*5fdc4257SSteve Yin 180*5fdc4257SSteve Yin return CAccTextBase::get_textAfterOffset(offset, boundaryType, 181*5fdc4257SSteve Yin startOffset, endOffset, text); 182*5fdc4257SSteve Yin } 183*5fdc4257SSteve Yin 184*5fdc4257SSteve Yin /** 185*5fdc4257SSteve Yin * Get special text at some position. 186*5fdc4257SSteve Yin * @param offset Special position. 187*5fdc4257SSteve Yin * @param boundaryType Boundary type. 188*5fdc4257SSteve Yin * @param startOffset Variant to accept the start offset. 189*5fdc4257SSteve Yin * @param endOffset Variant to accept the end offset. 190*5fdc4257SSteve Yin * @param text Variant to accept the special text. 191*5fdc4257SSteve Yin * @return Result. 192*5fdc4257SSteve Yin */ 193*5fdc4257SSteve Yin STDMETHODIMP CAccText::get_textAtOffset(long offset, IA2TextBoundaryType boundaryType, long * startOffset, long * endOffset, BSTR * text) 194*5fdc4257SSteve Yin { 195*5fdc4257SSteve Yin 196*5fdc4257SSteve Yin return CAccTextBase::get_textAtOffset(offset, boundaryType, 197*5fdc4257SSteve Yin startOffset, endOffset, text); 198*5fdc4257SSteve Yin } 199*5fdc4257SSteve Yin 200*5fdc4257SSteve Yin /** 201*5fdc4257SSteve Yin * Remove selection. 202*5fdc4257SSteve Yin * @param selectionIndex Special selection index 203*5fdc4257SSteve Yin * @param success Variant to accept the memthod called result. 204*5fdc4257SSteve Yin * @return Result. 205*5fdc4257SSteve Yin */ 206*5fdc4257SSteve Yin STDMETHODIMP CAccText::removeSelection(long selectionIndex)//, unsigned char * success) 207*5fdc4257SSteve Yin { 208*5fdc4257SSteve Yin 209*5fdc4257SSteve Yin return CAccTextBase::removeSelection(selectionIndex);//, success); 210*5fdc4257SSteve Yin } 211*5fdc4257SSteve Yin 212*5fdc4257SSteve Yin /** 213*5fdc4257SSteve Yin * Set caret position. 214*5fdc4257SSteve Yin * @param offset Special position. 215*5fdc4257SSteve Yin * @param success Variant to accept the memthod called result. 216*5fdc4257SSteve Yin * @return Result. 217*5fdc4257SSteve Yin */ 218*5fdc4257SSteve Yin STDMETHODIMP CAccText::setCaretOffset(long offset) 219*5fdc4257SSteve Yin { 220*5fdc4257SSteve Yin 221*5fdc4257SSteve Yin return CAccTextBase::setCaretOffset(offset); 222*5fdc4257SSteve Yin } 223*5fdc4257SSteve Yin 224*5fdc4257SSteve Yin /** 225*5fdc4257SSteve Yin * Set special selection. 226*5fdc4257SSteve Yin * @param selectionIndex Special selection index. 227*5fdc4257SSteve Yin * @param startOffset start position. 228*5fdc4257SSteve Yin * @param endOffset end position. 229*5fdc4257SSteve Yin * @param success Variant to accept the memthod called result. 230*5fdc4257SSteve Yin * @return Result. 231*5fdc4257SSteve Yin */ 232*5fdc4257SSteve Yin 233*5fdc4257SSteve Yin STDMETHODIMP CAccText::setSelection(long selectionIndex, long startOffset, long endOffset) 234*5fdc4257SSteve Yin { 235*5fdc4257SSteve Yin 236*5fdc4257SSteve Yin return CAccTextBase::setSelection(selectionIndex, startOffset, 237*5fdc4257SSteve Yin endOffset); 238*5fdc4257SSteve Yin } 239*5fdc4257SSteve Yin 240*5fdc4257SSteve Yin /** 241*5fdc4257SSteve Yin * Get characters count. 242*5fdc4257SSteve Yin * @param nCharacters Variant to accept the characters count. 243*5fdc4257SSteve Yin * @return Result. 244*5fdc4257SSteve Yin */ 245*5fdc4257SSteve Yin STDMETHODIMP CAccText::get_nCharacters(long * nCharacters) 246*5fdc4257SSteve Yin { 247*5fdc4257SSteve Yin 248*5fdc4257SSteve Yin return CAccTextBase::get_nCharacters(nCharacters); 249*5fdc4257SSteve Yin } 250*5fdc4257SSteve Yin 251*5fdc4257SSteve Yin STDMETHODIMP CAccText::get_newText( IA2TextSegment *newText) 252*5fdc4257SSteve Yin { 253*5fdc4257SSteve Yin return CAccTextBase::get_newText(newText); 254*5fdc4257SSteve Yin } 255*5fdc4257SSteve Yin 256*5fdc4257SSteve Yin STDMETHODIMP CAccText::get_oldText( IA2TextSegment *oldText) 257*5fdc4257SSteve Yin { 258*5fdc4257SSteve Yin return CAccTextBase::get_oldText(oldText); 259*5fdc4257SSteve Yin } 260*5fdc4257SSteve Yin 261*5fdc4257SSteve Yin /** 262*5fdc4257SSteve Yin * Scroll to special sub-string . 263*5fdc4257SSteve Yin * @param startIndex Start index of sub string. 264*5fdc4257SSteve Yin * @param endIndex End index of sub string. 265*5fdc4257SSteve Yin * @return Result. 266*5fdc4257SSteve Yin */ 267*5fdc4257SSteve Yin STDMETHODIMP CAccText::scrollSubstringToPoint(long startIndex, long endIndex,enum IA2CoordinateType coordinateType, long x, long y ) 268*5fdc4257SSteve Yin { 269*5fdc4257SSteve Yin 270*5fdc4257SSteve Yin return CAccTextBase::scrollSubstringToPoint(startIndex, endIndex, coordinateType, x, y); 271*5fdc4257SSteve Yin } 272*5fdc4257SSteve Yin 273*5fdc4257SSteve Yin STDMETHODIMP CAccText::scrollSubstringTo(long startIndex, long endIndex,enum IA2ScrollType scrollType) 274*5fdc4257SSteve Yin { 275*5fdc4257SSteve Yin 276*5fdc4257SSteve Yin return CAccTextBase::scrollSubstringTo(startIndex, endIndex,scrollType); 277*5fdc4257SSteve Yin } 278*5fdc4257SSteve Yin 279*5fdc4257SSteve Yin /** 280*5fdc4257SSteve Yin * Put UNO interface. 281*5fdc4257SSteve Yin * @param pXInterface UNO interface. 282*5fdc4257SSteve Yin * @return Result. 283*5fdc4257SSteve Yin */ 284*5fdc4257SSteve Yin STDMETHODIMP CAccText::put_XInterface(long pXInterface) 285*5fdc4257SSteve Yin { 286*5fdc4257SSteve Yin 287*5fdc4257SSteve Yin return CAccTextBase::put_XInterface(pXInterface); 288*5fdc4257SSteve Yin } 289*5fdc4257SSteve Yin 290