# Interface IToggleBreakpointsTargetExtension2

All Superinterfaces:
  `IToggleBreakpointsTarget, IToggleBreakpointsTargetExtension`

public interface IToggleBreakpointsTargetExtension2 extends IToggleBreakpointsTargetExtension
Extension interface for `IToggleBreakpointsTargetExtension`. This interface provides the ability to inspect the key modifiers being used when toggling a breakpoint. This allows targets to choose the type of breakpoint to create when the user double-clicks in the vertical ruler.

Clients implementing `IToggleBreakpointsTarget` or `IToggleBreakpointsTargetExtension` may optionally implement or adapt to this interface.

Since:
  3.8
See Also:
  - `ToggleBreakpointAction`

## Method Summary

Modifier and Type
Method
Description
`boolean`
`canToggleBreakpointsWithEvent(IWorkbenchPart part, ISelection selection, Event event)`
Returns whether breakpoints can be toggled on the given selection with the given `Event`.
`void`
`toggleBreakpointsWithEvent(IWorkbenchPart part, ISelection selection, Event event)`
Creates or removes existing breakpoints based on any modifiers in the given `Event`.

### Methods inherited from interface IToggleBreakpointsTarget

`canToggleLineBreakpoints, canToggleMethodBreakpoints, canToggleWatchpoints, toggleLineBreakpoints, toggleMethodBreakpoints, toggleWatchpoints`

### Methods inherited from interface IToggleBreakpointsTargetExtension

`canToggleBreakpoints, toggleBreakpoints`

## Method Details

### toggleBreakpointsWithEvent

void toggleBreakpointsWithEvent(IWorkbenchPart part, ISelection selection, Event event) throws CoreException
Creates or removes existing breakpoints based on any modifiers in the given `Event`. The selection varies depending on the given part. For example, a text selection is provided for text editors, and a structured selection is provided for tree views, and may be a multi-selection.

Parameters:
  `part` - the part on which the action has been invoked
  `selection` - selection on which line breakpoints should be toggled
  `event` - the accompanying `Event` which can be `null` if unavailable
Throws:
  `CoreException` - if unable to perform the action

### canToggleBreakpointsWithEvent

boolean canToggleBreakpointsWithEvent(IWorkbenchPart part, ISelection selection, Event event)
Returns whether breakpoints can be toggled on the given selection with the given `Event`. The selection varies depending on the given part. For example, a text selection is provided for text editors, and a structured selection is provided for tree views, and may be a multi-selection.

Parameters:
  `part` - the part on which the action has been invoked
  `selection` - selection on which line breakpoints should be toggled
  `event` - the accompanying `Event` which can be `null` if unavailable
Returns:
  whether breakpoints can be toggled on the given selection with the given `Event`