if (perspective != null)
fvs = perspective.getFastViewManager().getFastViews(fvbId);
// Create tool item for each view.
for (Iterator fvIter = fvs.iterator(); fvIter.hasNext();) {
final IViewReference ref = (IViewReference) fvIter.next();
final ToolItem item = new ToolItem(parent, SWT.CHECK, index);
updateItem(item, ref);
item.setData(FAST_VIEW, ref);
final IPropertyListener propertyListener = new IPropertyListener() {
public void propertyChanged(Object source, int propId) {
if (propId == IWorkbenchPartConstants.PROP_TITLE) {
if (!item.isDisposed()) {
updateItem(item, ref);
}
}
}
};
ref.addPropertyListener(propertyListener);
item.addDisposeListener(new DisposeListener() {
/* (non-Javadoc)
* @see org.eclipse.swt.events.DisposeListener#widgetDisposed(org.eclipse.swt.events.DisposeEvent)
*/
public void widgetDisposed(DisposeEvent e) {
ref.removePropertyListener(propertyListener);
}
});
// Select the active fast view's icon.
if (ref == page.getActiveFastView()) {