/** @since 2.3 */ public void setMessage(String message, int type, IHyperlinkListener listener) { if (isHeaderFormDisposed()) { return; } try { // avoid flicker of the left header toolbar getHeaderForm().getForm().setRedraw(false); Form form = getHeaderForm().getForm().getForm(); if (message != null) { message = message.replace('\n', ' '); } form.setMessage(message, type, null); if (messageHyperLinkListener != null) { form.removeMessageHyperlinkListener(messageHyperLinkListener); if (messageHyperLinkListener instanceof IDisposable) { ((IDisposable) messageHyperLinkListener).dispose(); } } if (listener != null) { form.addMessageHyperlinkListener(listener); } messageHyperLinkListener = listener; // make sure the busyLabel image is large enough to accommodate the tool bar if (hasLeftToolBar()) { BusyIndicator busyLabel = getBusyLabel(); if (message != null && busyLabel != null) { setHeaderImage(busyLabel.getImage()); } else { setHeaderImage(null); } } } finally { getHeaderForm().getForm().setRedraw(true); } }