Warning
This document is not finished! It is highly likely that many parts are
out-of-date, contain incorrect information, or are simply missing
altogether. If you want to help rectify this, please contact us.
Requesters are a special kind of windows. They either confront the user with
some information or request some information. Requesters always interrupt the
user's normal work flow, so they should only be used either to inform him of
some important event or to request information without which the application
can't continue. This kind of requester is called a modal requester.
Examples of informational requesters are requesters that report errors (like
failing to open a file) or about requesters which show information about the
program, when requested by the user.
Like the name indicates, requesters can also request information from the
user, like a filename (using file-requesters), his name or a simple yes/no
decision ("Really quit application?").
Requesters should only be used if an application can't go on without the
intended interaction with the user, be it acknowledgement that the user has
learned a certain fact, be it that the user provides a necessary piece of
information, or be it that displaying the requester is the current task the
user selected for the program. Therefore, most requesters will block the
application. That is to say: An application usually will not accept any input,
except that in the requester. An exception are requesters that are explicitly
requested by the user, like most file-requesters or about-requesters.
Normally, these do not block the application.
The so-called easy requesters are simple requesters. They can be used to
either provide information or to ask for a choice. The number of choices is
limited to 256, but it is generally a bad idea to have more than about five
different choices. You also have to take into account that the width of the
screen is limited.
FIXME: EasyRequestArgs(), BuildEasyRequest()