Eclipse Platform Release 3.7

## org.eclipse.jface.text.contentassist
Interface ICompletionListener

All Known Implementing Classes:
  KeyBindingSupportForAssistant

    public interface ICompletionListener

A completion listener is informed before the content assistant computes completion proposals.

In order to provide backward compatibility for clients of `ICompletionListener`, extension interfaces are used to provide a means of evolution. The following extension interfaces exist:

- `ICompletionListenerExtension` since version 3.4 introducing the following functions:
  - additional notification about restarting the current code assist session

Clients may implement this interface.

Since:
  3.2

Method Summary
`void` `assistSessionEnded(ContentAssistEvent event)` Called when a code assist session ends (for example, the proposal popup is closed).
`void` `assistSessionStarted(ContentAssistEvent event)` Called when code assist is invoked when there is no current code assist session.
`void` `selectionChanged(ICompletionProposal proposal, boolean smartToggle)` Called when the selection in the proposal popup is changed or if the insert-mode changed.

Method Detail

### assistSessionStarted

    void assistSessionStarted(ContentAssistEvent event)

  Called when code assist is invoked when there is no current code assist session.

  Parameters:
    `event` - the content assist event

### assistSessionEnded

    void assistSessionEnded(ContentAssistEvent event)

  Called when a code assist session ends (for example, the proposal popup is closed).

  Parameters:
    `event` - the content assist event

### selectionChanged

    void selectionChanged(ICompletionProposal proposal,
                          boolean smartToggle)

  Called when the selection in the proposal popup is changed or if the insert-mode changed.

  Parameters:
    `proposal` - the newly selected proposal, possibly `null`
    `smartToggle` - `true` if the insert-mode toggle is being pressed, `false` otherwise

Eclipse Platform Release 3.7

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2011. All rights reserved.