Initializing editor pane text

"Didier Verna (as didier at didierverna dot net)" <[email protected]>
Newsgroups gmane.lisp.lispworks.general
Message-ID <[email protected]>
  Dear all,

I'd appreciate some advice on initializing an editor pane text.

I have an interface for which I perform a lot of widget initialization
(setting range slug starts, selected items, etc.) in an
initialize-instance :after method. This works fine except for an editor
pane.

I discovered that contrary to the other widgets, modifying the text
programmatically (via (setf editor-pane-text)) calls the editor pane's
change-callback. My callback uses (top-level-interface editor-pane), and
at that point, this call returns nil even though the interface exists.

It seems that this does not happen if I initialize the editor pane's
text in an interface-display :before method rather than in an
initialize-instance :after one. However, this is less satisfactory
because initialization arguments belong to the... initialization phase.

So my questions:

1. Am I doing this wrong ?
2. Why calling the change callback after programmatic changes to the
   pane ? It seems contrary to the behavior of (most ?) other widgets.
3. Also, since my interface can be programmatically updated from
   outside, I fear that my application logic will be executed twice if
   the editor pane is changed. Of course, I can set the change-callback
   to NIL, do my stuff, and set it back to its normal value, but yuck...

Thank you!

-- 
Resistance is futile. You will be jazzimilated.

Lisp, Jazz, Aïkido: http://www.didierverna.info

_______________________________________________
Lisp Hug - the mailing list for LispWorks users
[email protected]
http://www.lispworks.com/support/lisp-hug.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.