00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 module Accessibility {
00024 
00029   enum TEXT_BOUNDARY_TYPE {
00030     TEXT_BOUNDARY_CHAR,
00033     TEXT_BOUNDARY_WORD_START,
00036     TEXT_BOUNDARY_WORD_END,
00043     TEXT_BOUNDARY_SENTENCE_START,
00049     TEXT_BOUNDARY_SENTENCE_END,
00055     TEXT_BOUNDARY_LINE_START,
00059     TEXT_BOUNDARY_LINE_END 
00063   };
00064 
00072   enum TEXT_CLIP_TYPE {
00073     TEXT_CLIP_NONE,
00074     TEXT_CLIP_MIN,
00075     TEXT_CLIP_MAX,
00076     TEXT_CLIP_BOTH 
00077   };
00078 
00119   interface Text : Bonobo::Unknown {
00120 
00124     struct Range {
00125       long startOffset;
00126       long endOffset; 
00127       string content;
00128       any  data;
00129     };
00130     
00131     typedef sequence<Range> RangeList;
00132 
00136     readonly attribute long characterCount;
00137 
00144     readonly attribute long caretOffset;
00145 
00156     string getText (in long startOffset, in long endOffset);
00157 
00164     boolean setCaretOffset (in long offset);
00165 
00183     string getTextBeforeOffset (in long offset, in TEXT_BOUNDARY_TYPE type,
00184                                 out long startOffset, out long endOffset);
00202     string getTextAtOffset (in long offset, in TEXT_BOUNDARY_TYPE type,
00203                                                         out long startOffset, out long endOffset);
00222     string getTextAfterOffset (in long offset, in TEXT_BOUNDARY_TYPE type,
00223                                                         out long startOffset, out long endOffset);
00228     unsigned long getCharacterAtOffset (in long offset);  
00229 
00230 
00243     string getAttributeValue (in long offset, in string attributeName,
00244                               out long startOffset,
00245                               out long endOffset,
00246                               out boolean defined);
00252     string getAttributes (in long offset,
00253                           out long startOffset, out long endOffset);
00260     string getDefaultAttributes ();
00282     void getCharacterExtents (in long offset, out long x, out long y, out long width, out long height, in short coordType);
00292     long getOffsetAtPoint (in long x, in long y, in short coordType);
00302     long getNSelections ();
00307     void getSelection (in long selectionNum, out long startOffset, out long endOffset);
00317     boolean addSelection (in long startOffset, in long endOffset);
00323     boolean removeSelection (in long selectionNum);
00336     boolean setSelection (in long selectionNum, in long startOffset, in long endOffset);
00356     void    getRangeExtents (in long startOffset, in long endOffset, 
00357                              out long x, out long y, 
00358                              out long width, out long height, in short coordType);
00359 
00382     RangeList getBoundedRanges (in long x, in long y, 
00383                                 in long width, in long height, 
00384                                 in short coordType, 
00385                                 in TEXT_CLIP_TYPE xClipType, 
00386                                 in TEXT_CLIP_TYPE yClipType);
00387 
00393     void unImplemented ();
00394     void unImplemented2 ();
00395     void unImplemented3 ();
00396     void unImplemented4 ();
00398   };
00399 };