While a view is responsible for the display of model information to the user, a presenter's responsibility is to handle user input and use this to manipulate the model data.
The user gestures (list selections, mouse movements, keyboard hits) are first received by the view and then passed to the presenter for interpretation. Often, a presenter will maintain a selection that identifies a range of data in the model that is current, and the gestures received from the view will be used to act on this. Note that, sometimes a view will adapt low-level gestures into higher-level commands before informing the presenter. An example of this occurs when using drag-and-drop or commands generated from pull down menus.
The presenter is allowed to know about both its view and its model.