Interactive, modal data entry tools
Dialogue boxes are an interactive, model means of gathering data from a user. Dialogue boxes, be they full-screen or the more conventional, menu-driven variety, have a few advantages over serialised question-answer data entry: they are a more direct data entry experience for the user; they offer random access; higher visibility (the user always knows how much data there is to fill in); and much higher user friendliness.Very few BBS systems offer such a means. This implementation was very loosely based on the Major BBS version 6, with more inspiration coming from the (then newfangled) forms on the World Wide Web.
Implementing a Dialogue box involves a set of steps:
- Decide what information needs to be entered. Try to minimise the information. Screen estate is precious at an expected 80x25 text mode. The more complexity on the dialogue, the less usable it is.
- Lay out the visual template. Try to follow the existing examples. It'll keep the style consistent.
- Lay out the non-visual template and its individual prompts. Make sure the prompts can also work as help tips for the visual version, because they'll also be used in this way.
To use a form, these steps must be followed:
- Create the default data file.
- Call the data-entry subsystem.
- Read back data file. Check the result code embedded in the file, and act accordingly. Canceling implies no changes should be kept.
The following documentation will hopefully give enough information to help you get started.
Original banner, legalese and change history follow.
***************************************************************************** ** ** ** FILE: dialog.h ** ** AUTHORS: Alexios ** ** PURPOSE: Interactive, modal data entry. ** ** NOTES: ** ** LEGALESE: ** ** ** ** This program is free software; you can redistribute it and/or modify ** ** it under the terms of the GNU General Public License as published by ** ** the Free Software Foundation; either version 2 of the License, or (at ** ** your option) any later version. ** ** ** ** This program is distributed in the hope that it will be useful, but ** ** WITHOUT ANY WARRANTY; without even the implied warranty of ** ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ** ** General Public License for more details. ** ** ** ** You should have received a copy of the GNU General Public License ** ** along with this program; if not, write to the Free Software ** ** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ** ** ** ***************************************************************************** * * $Id: dialog.h,v 1.3 2001/04/22 14:49:04 alexios Exp $ * * $Log: dialog.h,v $ * Revision 1.3 2001/04/22 14:49:04 alexios * Merged in leftover 0.99.2 changes and additional bug fixes. * * *