[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: word-wrap in dialog boxes

>Dear macl'ers,
>I am nearing the end of converting some MACL 1.3 
>code to MCL 2.0b1. This code has several dialog 
>boxes, which have edit-text-dialog-items.
>The edit-text-dialog-items are three lines long. 
>Under 1.3, the text in the ETDI's would wrap from 
>one line to the next between words. But with 
>MCL2.0b1, the text scrolls horizontally to the 
>left as new characters are typed. I prefer the 
>word wrapping.
>Is there a new version of MCL2 which does the word 
>wraping? Or does a program have to do the word 
>wrapping itself? And if so, how can I do this with 
>and ETDI?

One of the differences between 2.0b1 & 1.3 is that
editable-text-dialog-item's are implemented using
Fred in 2.0 and with TextEdit in 1.3.2. Fred does
not support word wrapping. TextEdit does.

I see a few of possibilities. Only the first two seem
acceptable to me.

1) Do something like the "examples;auto-fill.lisp" code for
   a subclass of fred-dialog-item. This will make an EMACS
   style word wrap.

2) Use a TEXT-EDIT-DIALOG-ITEM, as provided in the file
   "examples;text-edit-dialog-item.lisp". This is the old
   1.3.2 code, using TextEdit.

3) Create the editable text dialog item with a true value
   for the :wrap-p initarg:

      (make-instance 'fred-dialog-item :wrap-p t ...)

   This is an ugly solution, as Fred's wrap mode is a character wrap,
   not a word wrap.

4) Wait for MCL 2.1, which will hopefully have word wrap in Fred.
   Could be a long wait. I investigated adding this feature to
   Fred as currently implemented and decided that it would be much
   more productive for me to completely rewrite the assembly language
   Fred code in Lisp for 2.1.