Hi all,

I need you help!

I am the primary developer of a spelling aid for dyslexic users. We offer
interoperability with all major word processors on the Windows platform...
except for OOo. We have investigated internal development, and have gone the
route of hirering external consultants, but so far to no avail.

Perhaps someone here can help?

Description follows...


DyslexiWrite (DW) is a program that provides word predictions, reading functions
and spell checking tailored to the needs of users with reading and writing
disabilities. It works with a wide range of programs, including any program
that utilizes standard Windows "Edit" and "RichEdit" widgets (Notepad,
Wordpad), any program using the Microsoft DHTML control (IE, Outlook, Outlook
Express...) and Microsoft Word. You can download a DW demo from
www.secondguessusa.com.

Our goal is to implement a few functions/methods, preferably encapsulated in an
object (but not necessarily) that will allow DW to integrate with Open
Office/Star Office (OO). The following describes the necessary functions in
detail. See conventions regarding cursor position etc. at the end of this
document.

     bool IsOOoWriterWindow(const HWND w);

Return TRUE if the window referred to by the HWND handle 'w' supports the
functions listed below.

     bool GetContext(const HWND w, char** Context, int &pos);

Fetches, if possible, the current cursor position, and the current text from the
OO window referred to by the HWND handle 'w'. Cursor position is returned in the
'pos' value, and the text in the 'Context'. If the operation is performed
correctly, the function returns TRUE, else it returns FALSE.

     void ChangeRange(const HWND w, char *NewString, const int start, const int
length);

Replace a substring in the current text ranging from position 'start' to
position 'start+length' with the text referred to by 'NewString', in the window
referred to by the HWND handle 'w'.


     void SelRange(const HWND w, const int start, const int length);

Select (highlight) the substring of the current text ranging from position
'start' to position 'start+length' in the window referred to by the HWND handle
'w'.

     void SetSelpos(const HWND w, const int i);

Move the insertion point/cursor to position 'i' in the window referred to by the
HWND handle 'w'.

Conventions:

All strings are 1-indexed. SelRange(1, 2) would thus select the first two
characters of the current text, and not the 2nd and 3rd that a C programmer
would expect. The purpose of this convention is to be able to position the
insertion point/cursor IN FRONT OF the first character, which necessitates the
use of position 0 (zero).

Comments:

o    The use of the HWND handle 'w' is due to the fact that DW will often
manipulate the system, and e.g. change the foremost window.
o    If other methods/signatures come more natural to the OO integration, that´s
just fine by me. The important thing is to get the basic functionality, not
necessarily how it is achieved.

----------------------------------------------------------------
This message was sent using IMP, the Internet Messaging Program.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to