package org.zend.php.zendserver.deployment.ui.notifications;
import org.eclipse.jface.action.LegacyActionTools;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.preference.PreferenceDialog;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Link;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.dialogs.PreferencesUtil;
import org.zend.php.notifications.core.AbstractExtendedUiNotification;
import org.zend.php.zendserver.deployment.ui.Activator;
public class LocalZendServerDetectionDisabledNotification extends AbstractExtendedUiNotification {
public static String ID = "org.zend.php.zendserver.deployment.ui.localZendServerDetectionDisabled"; //$NON-NLS-1$
public LocalZendServerDetectionDisabledNotification() {
super(ID);
}
@Override
protected void createBody(Composite parent, boolean isSingle) {
Link descriptionLabel = new Link(parent, SWT.NO_FOCUS | SWT.WRAP);
descriptionLabel.setText(LegacyActionTools.escapeMnemonics(getDescription()));
//does not work
//descriptionLabel.setForeground(JFaceResources.getColorRegistry().get(JFacePreferences.HYPERLINK_COLOR));
descriptionLabel.setBackground(parent.getBackground());
GridDataFactory.fillDefaults().grab(true, true).align(SWT.FILL, SWT.END)
.applyTo(descriptionLabel);
descriptionLabel.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
Shell shell = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell();
PreferenceDialog dialog = PreferencesUtil.createPreferenceDialogOn(shell,
"org.eclipse.mylyn.commons.notifications.preferencePages.Notifications", null, null); //$NON-NLS-1$
dialog.open();
}
});
}
@Override
public Image getNotificationKindImage() {
return Activator.getDefault().getImage(Activator.IMAGE_ZEND_SERVER_ICON);
}
@Override
public String getDescription() {
return Messages.LocalZendServerDetectionDisabledNotification_DetectionDisabled_Message;
}
@Override
public String getLabel() {
return Messages.LocalZendServerDetectionDisabledNotification_DetectionDisabled_Label;
}
}