Package org.eclipse.jface.text

## Interface IInformationControlExtension3

All Known Implementing Classes:
  `AbstractInformationControl`, `DefaultInformationControl`

    public interface IInformationControlExtension3

Extension interface for `IInformationControl`. Adds API which allows to get this information control's bounds and introduces the concept of persistent size and location by introducing predicates for whether the information control supports restoring of size and location.

Note: An information control which implements this interface can ignore calls to `IInformationControl.setSizeConstraints(int, int)` or use it as hint for its very first appearance.

Since:
  3.0
See Also:
  `IInformationControl`

### Method Summary

All Methods Instance Methods Abstract Methods
`Rectangle` `computeTrim()` Computes the trim for this control.
`Rectangle` `getBounds()` Returns a rectangle describing the receiver's size and location relative to its parent (or its display if its parent is null).
`boolean` `restoresLocation()` Tells whether this control allows to restore the previously used location.
`boolean` `restoresSize()` Tells whether this control allows to restore the previously used size.

### Method Detail

#### getBounds

    Rectangle getBounds()

Returns a rectangle describing the receiver's size and location relative to its parent (or its display if its parent is null).

Note: If the receiver is already disposed then this methods must return the last valid location and size.

Returns:
  the receiver's bounding rectangle

#### computeTrim

    Rectangle computeTrim()

Computes the trim for this control. The trim is the space around the information control's actual content area. It includes all borders of the control and other static content placed around the content area (e.g. a toolbar).

Returns:
  The receiver's trim. `x` and `y` denote the upper left corner of the trimming relative to this control's location i.e. this will most likely be negative values. `width` and `height` represent the border sizes (the sum of the horizontal and vertical trimmings, respectively).

#### restoresSize

    boolean restoresSize()

Tells whether this control allows to restore the previously used size.

Note: This is not a static property - it can change during the lifetime of this control.

Returns:
  `true` if restoring size is supported

#### restoresLocation

    boolean restoresLocation()

Tells whether this control allows to restore the previously used location.

Note: This is not a static property - it can change during the lifetime of this control.

Returns:
  `true` if restoring location is supported