Issue 89176 - Implementation of XAccessibleMultiLineText in EditEngine
Summary: Implementation of XAccessibleMultiLineText in EditEngine
Status: CLOSED FIXED
Alias: None
Product: ui
Classification: Code
Component: code (show other issues)
Version: DEV300_m10
Hardware: All All
: P3 Trivial (vote)
Target Milestone: OOo 3.2
Assignee: eric.savary
QA Contact: issues@ui
URL:
Keywords: accessibility
Depends on: 86659
Blocks:
  Show dependency tree
 
Reported: 2008-05-08 13:47 UTC by nospam4obr
Modified: 2010-01-08 09:13 UTC (History)
5 users (show)

See Also:
Issue Type: TASK
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description nospam4obr 2008-05-08 13:47:17 UTC
This is a follow-up task of issue 86659.
Comment 1 thomas.lange 2008-05-14 14:38:21 UTC
.
Comment 2 Mathias_Bauer 2008-06-09 11:30:32 UTC
target 3.1
Comment 3 thomas.lange 2009-01-19 14:52:24 UTC
No time left to fix this for OOo 3.1 because of other issues.
Comment 4 thomas.lange 2009-04-01 11:56:56 UTC
Fixed in CWS swa11y32.

Files changed:
svx:
M      source\accessibility\AccessibleEditableTextPara.cxx
M      source\accessibility\AccessibleEditableTextPara.hxx
M      source\accessibility\AccessibleEmptyEditSource.cxx
M      source\accessibility\AccessibleStaticTextBase.cxx
M      source\editeng\impedit.hxx
M      source\editeng\editeng.cxx
M      source\editeng\impedit2.cxx
M      source\table\celleditsource.hxx
M      source\unoedit\unofored.cxx
M      source\unoedit\unoedprx.cxx
M      source\unoedit\unotext.cxx
M      source\unoedit\unoviwou.cxx
M      source\unoedit\unoforou.cxx
M      source\inc\unoedprx.hxx
M      inc\svx\unotext.hxx
M      inc\svx\unofored.hxx
M      inc\svx\unoshtxt.hxx
M      inc\svx\unoforou.hxx
M      inc\svx\editeng.hxx
M      inc\svx\unoedsrc.hxx
M      inc\AccessibleStaticTextBase.hxx

starmath:
- M      source\accessibility.cxx
- M      source\accessibility.hxx
Comment 5 thomas.lange 2009-04-01 11:58:10 UTC
.
Comment 6 thomas.lange 2009-04-01 14:37:06 UTC
tl->williewalker: Since I was told you will probably the one to verify this
implementation I'm adding you to CC.
Comment 7 thomas.lange 2009-04-01 14:37:45 UTC
tl->williewalker: Since I was told you will probably be the one to verify this
implementation I'm adding you to CC.
Comment 8 williewalker 2009-04-01 23:24:33 UTC
williewalker->tl: sure thing. :-) I just need a pointer to an OOo build
containing the fix.  I also assume you want me to test this from the standpoint
of http://bugzilla.gnome.org/show_bug.cgi?id=508846.  Is that correct?
Comment 9 thomas.lange 2009-04-02 07:46:51 UTC
tl->williewalker: About http://bugzilla.gnome.org/show_bug.cgi?id=508846.

Basically, from the point of our UNO API I would think 'no', because there is a
dedicated function call for that. Which is getTextAtLineWithCaret in the
XAccessibleMultiLineText interface.

tl->mt: What do you think?
Comment 10 nospam4obr 2009-04-02 08:18:26 UTC
obr->tl: getTextAtLineWithCaret got introduced exactly to be able to support
http://bugzilla.gnome.org/show_bug.cgi?id=508846, the mapping between magic
index and dedicated API takes place in the UNO <-> ATK bridge.
Comment 11 thomas.lange 2009-04-02 09:06:19 UTC
tl->obr: That is the XAccessibleText and XAccessibleMultiLineText in sw and svx
does NOT need to take care of the -2 thingie?
Comment 12 nospam4obr 2009-04-02 09:20:15 UTC
yes, exactly.
Comment 13 williewalker 2009-04-02 13:51:29 UTC
williewalker->tl: so, I'm kind of confused about what this specific
implementation exposes to the AT-SPI.  It seems like this might be for the Mac
OS X implementation, which is currently out of my domain.  :-(
Comment 14 nospam4obr 2009-04-02 14:16:23 UTC
The GNOME '-2' index problem is one purpose of this interface, the OS X
implementation is the other. 

So testing against the http://bugzilla.gnome.org/show_bug.cgi?id=508846 is the
right thing, even though there should be someone else testing the other part of
the interface (probably on OS X) as well.

What Will probably needs to know is where the "EditEngine" is used in the
office, so that he better knows where to look.


Comment 15 thomas.lange 2009-04-03 08:30:57 UTC
tl: Ok. The most obvious places where the EditEngine is used are:
- drawing objects in Writer
- the table cells in Calc
- Impress and Drawing applications
- the window where you enter the formula text in starmath
- the controls within forms (see "File/New/XML Form Document") if(!) the control
  is set to multi-line.
Note this list is probably incomplete since I do not know all places where the
EditEngine is used myself.

If I'm not mistaken those controls that are making use of the TextEngine should
have already implemented the XAccessibleMultiLineText interface as well long
since. An example of such a control using the TextEngine should be the text
display of the Basic macro editor.

Also that interface is already available in Writer paragraphs.
Thus I would tend to say: Whenever you encounter a multi-line, editable text
control where that interface is not working a issues should be written.
Unfortunately there is no easy way to provide you with a complete list of such
controls.

Maybe you can do it indirectly on your own: I think it should be expected now
that every accessible object that implements the AccessibleRole of type
PARAGRAPH is supposed to have implemented the XAccessibleMultiLineText interface
now. Thus if you can modify your tool to check for this we may be able to find
any implementation that might be still missing.

tl->obr: do you have another idea how to find any still missing or not working
implementations?


Comment 16 nospam4obr 2009-04-03 08:52:31 UTC
> tl->obr: do you have another idea how to find any still missing or not working
implementations?

We could add assertions to the UNO <-> ATK bridge and do a full automated test
cycle with e.g. accerciser running.
Comment 17 malte_timmermann 2009-04-03 12:42:39 UTC
mt->tl/obr, I think we can simply believe that everything is fine now.

We have exactly 3 implementations of text engines which can have paragraphs with
multiple lines _and_ can have a caret: Writer, EditEngine, TextEngine.
So if each of these is tested in one place, I don't see a reason why it
shouldn't work on other places.

There is also some multi-line text used in widgets, which is not implemented
with one of these engines (but using special drawtext features), but non of
these can have a caret so don't need this interface.

Malte.
Comment 18 thomas.lange 2009-07-30 11:12:17 UTC
tl->es: probably you want to reassign this one to williewalker. But since I'm
not completely sure about this I first hand it over to you. ^_-
Comment 19 williewalker 2009-08-04 15:53:10 UTC
This fix has been confirmed by the Orca team using the
swa11y32_2nd_en-US_SolarisIntel.tar file Thomas Lange made for me
(300m51(Build:9408)[CWS:swa11y32_2nd]).

Many thanks!
Comment 20 williewalker 2009-08-04 16:03:56 UTC
This fix has been confirmed by the Orca team using the
swa11y32_2nd_en-US_SolarisIntel.tar file Thomas Lange made for me
(300m51(Build:9408)[CWS:swa11y32_2nd]).

Many thanks!
Comment 21 eric.savary 2009-08-04 22:58:03 UTC
Thanx for verifying!
Comment 22 malte_timmermann 2010-01-08 09:13:28 UTC
Fixed and integrated => closing now..