From owner-freebsd-current Thu Dec 21 05:59:44 1995 Return-Path: owner-current Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id FAA08927 for current-outgoing; Thu, 21 Dec 1995 05:59:44 -0800 (PST) Received: from time.cdrom.com (time.cdrom.com [192.216.222.226]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id FAA08922 Thu, 21 Dec 1995 05:59:42 -0800 (PST) Received: from localhost (localhost [127.0.0.1]) by time.cdrom.com (8.6.12/8.6.9) with SMTP id FAA19603; Thu, 21 Dec 1995 05:59:32 -0800 To: ache@freebsd.org cc: current@freebsd.org Subject: Major changes to libdialog planned. Date: Thu, 21 Dec 1995 05:59:32 -0800 Message-ID: <19594.819554372@time.cdrom.com> From: "Jordan K. Hubbard" Sender: owner-current@freebsd.org Precedence: bulk Just a heads-up in case you (or anybody else) are doing any work in there? I'd like to bring in some fundamental changes that will be entirely backwards compatible with old client code but definitely not internally. With my next commit, the libdialog API will support an additional calling syntax which allows individual menu items to support "check" and "fire" actions. In radio/multi-choice menus, the check action can manipulate internal variables to control mutual exclusion and such (sysinstall can *definitely* use this feature!). Individual fire actions do away with having to parse that evil `result' string when you're just using libdialog from an application. While I was at it, I also gave you the ability to change the labels in the "OK and Cancel" buttons as well as wire callbacks to them for special case handling. After I finish up this commit, I have plans to go into print_autowrap() and add character attributes and colors. It's the first step to being able to write a decent HTML display text box so we can shake our reliance on lynx (though that's quite a bit farther into the future, so we'll see!) and of immediate use in sparking up the documentation a bit. Then maybe I'll add character entry callbacks to the text entry routines. :-) Any objections, scream now, though I'd actually rather that folks wait for my commit before doing so too much. One of the other things I'm bringing in is a *man page* for libdialog which explains how the whole system works and it'd be nice if people at least read the spec before flaming it. :-) Jordan