Person
objects not only have a FirstName
and a Surname
property, but also an address
property pointing to another domain object –
an instance of class Location
.
The EditPersonForm
gives the user a GUI to
edit particular Person
objects. In this case,
we are looking at Arnold Schwarzenegger, probably
the only Austrian Person
most people in the world know
and who is not dead (like Mozart or Freud):
...
Labeled with "1" is Arnold's address (or a compact
representation thereof); labeled with "2" is the
menu item "Pick location". Clicking on "Pick location"
will open the Pick location form, essentially a
search dialog. It enables the user to search for a
particular location and assign it to the Arnold object
as new address:
In this illustration, we filter all addresses in the
database by country (1), click Search (2)
and get a list to pick a Location
from (3).
As soon as we click on a Location
object in the
list, we return to the EditPersonForm
and see
that the Location
has indeed been assigned to
Arnold's Location
property:
...
So far so good. If you have read the page FIXME, you will
recognize this mechanism as re-call at work: the EditPersonForm
with Arnold "calls" the PickLocation
form, which
returns to Arnold, the caller, when the user is done.
...