Xref: utzoo comp.lang.c:15166 comp.unix.wizards:13817 Path: utzoo!attcan!uunet!husc6!mailrus!uflorida!haven!vrdxhq!bms-at!stuart From: stuart@bms-at.UUCP (Stuart Gathman) Newsgroups: comp.lang.c,comp.unix.wizards Subject: Re: printf, data presentation Summary: Has been done in many ways Message-ID: <144@bms-at.UUCP> Date: 3 Jan 89 00:04:32 GMT References: <19@xenlink.UUCP> <7328@chinet.chi.il.us> Organization: Business Management Systems, Inc., Fairfax, VA Lines: 39 The static screen presentation wheel has been invented many times over. There are numerous packages available for purchase or free, many including source code. A useful discussion for the net might be what features could/should be standardized. The great thing about 'C', is that you can always roll your own. We did just that - it is not that big a project and includes pop up windows and the works. AT&T curses is so buggy, we had no choice but to replace it. The worst curses performance problem is that every character requires a function call(s). A low level display string function does wonders. Our screen programs went from 100K with AT&T curses to 30K with BMS curses. (NOTE, any PD curses is better than AT&T.) We use a "screen painter" to define data entry windows. Dynamic windows similar to the original posters are also used for things like multiple choice lists. Both approaches have advantages. We have a verify function for each field defined in a table. This allows the same application to work in either a full duplex or block environment. Only the field tab library module changes to accomodate. In full duplex mode, the verify function is called immediately on field exit. In block mode, all are called on "ENTER". This could be a run time choice with terminfo/cap extensions to support block mode. My list of necessary features would include: 1) both full duplex and block mode support. 2) user definable formatting and verification. 3) both painted and dynamic windows. 4) independent windows 5) table driven terminal configuration (terminfo,termcap) 6) dynamic attribute control with good defaults 7) both WP and DATA style fields 13) IBM mode to disable type ahead :-) A good book on the window level is "Ascii display programming in C". -- Stuart D. Gathman <..!{vrdxhq|daitc}!bms-at!stuart>