Human-Computer Interaction 3e Dix, Finlay, Abowd, Beale
EXERCISE 8.9 [extra - not in book]
Consider screen 1 in question 8.5.
Imagine the system has been constructed using an MVC model. The model includes the filename being typed and the position of the text cursor in the filename.
The user is in the middle of typing a
filename and has entered "Bens.jav". The
cursor is currently at the end of the filename.
Consider the following user actions:
(a) user types 'a' which is added to
the end of the filename
(b) the user clicks the mouse between the 'e' and the 'n' (in order to later add an 'a').
Describe what happens within the MVC
components; think especially carefully about the communication
between the components.
How does the system know the click was in the filename field and not over one of the buttons?
answer available for tutors only
The student has to think through the implications of the MVC model for this question. The textbook gives the interconnections, but doesn't do a scenario in this detail.
the user's keypress goes first to the controller (C)
the controller (C) then tells the model (M) to insert the character at the current cursor location and to move the cursor on accordingly
finally the model (M) tells the view (V) that the filename has changed, which displays the amended filename and cursor location
the user's mouse click goes first to the controller (C)
the controller (C) interacts with the view (V) to find out what is under the mouse location and discovers that it is the text field
the controller (C) then tells the model (M) to move the cursor
finally the model (M) tells the view (V) that the cursor location has changed, which displays the amended cursor location
The controller (C) knows that it is in the text field because it interacts with the view (V), which knows about the layout of objects on the screen
Other exercises in this chapter
ex.8.1 (ans), ex.8.2 (ans), ex.8.3 (tut), ex.8.4 (tut), ex.8.5 (tut), ex.8.6 (tut), ex.8.7 (tut), ex.8.8 (tut), ex.8.9 (tut)
all exercises for this chapter