hyland@kvasir.UUCP (Steve Hyland) (12/01/87)
I know, I know. I should forget V10 and get on with V11. However, the IR&D project I'm working on uses 10 and I have a problem with the Text Edit Editor in XRay. I would assume others have had a similar problem and there is an available fix. The problem: If I provide a default for the editor, it appears in the box - no problem. If the user backspaces from the end of the string to the beginning, they can no longer enter text. If they position the cursor at the beginning of the string and start typing, rather than backspacing to that position, they can enter text. Similarly, if there is no default string, indicated by an ascii.nul in the first position of the buffer, they will be unable to enter text in the field. Although I'm writing this in Ada, the C programmers we have here are experiencing a similar problem. Could someone point me to the fix, or fixes we need to overcome this ? Thanks in advance, Steve Hyland SAIC
fred@hpcvlo.HP.COM (Fred Taft) (12/02/87)
Steve, I know I answered your question yesterday, when we talked on the phone. However, since this appears to be a frequent problem encountered by users of the TextEdit editor, I felt I should also post the solution: This situation occurs anytime the user clears all characters from a text edit field, or anytime the first character is typed into a text edit field. The text editor has several 'status' events which it will generate when a field becomes empty or when the first character is typed into a field; certain applications are interested in knowing when these situations occur, so we built them into the text editor. When one of these status events is generated, the field editor pushes the event on the input queue, and returns control to the application; the editor views this as a temporary break, and expects the application to immediately re-invoke it, once it has completed processing the 'status' event. (A text editor instance is re-invoked by sending it a MSG_ACTIVATE). The problem you are experiencing is that you are probably not checking to see if you receive one of these status events, and thus, you do not re-invoke the particular text editor instance. Refer to the section of the text edit manual page entitled "RETURNED INFORMATION" for the official description of how this works. Fred Taft