More work on CLIM-like presentation output streams
Saturday, December 17, 2005
I’ve been working on an online help system for Factor, and various
components are already complete. One aspect that I finished implementing
and testing today is some additional CLIM-like features for styled text
output in the UI. The new with-nesting ( style quot -- )
combinator
takes a style specification hashtable and a quotation. It calls the
quotation inside a nested scope where the default stream is rebound to a
nested pane; the style information is applied to the pane, and the new
pane is written to the current pane. The style information allows border
colors, border width and word wrap to be specified. Here is a screenshot
showing two examples; the first one is the entire text of Factor’s
README.txt with all line breaks removed output into a nested pane with
word wrap enabled as one line, and the second is a word definition
output into a nested pane with a border:
Note that word wrap works with proportional-width fonts too, not just
monospaced fonts. Tomorrow I’m going to update the markup language that
I developed a couple of weeks ago to support this new output stream
protocol, and then I can start work on an article database with cross
referencing. At some point I will also update the HTML stream in the
HTTP server to support the new protocol. With these components in place,
the help system will be done, and all that will remain is converting the
documentation from LaTeX into this new markup language. The new
documentation will be browsable online on the Factor web site, and also
from within Factor in the UI.