package org.eclipse.update.internal.ui.security;
import org.eclipse.jface.dialogs.*;
import org.eclipse.jface.resource.*;
import org.eclipse.swt.*;
import org.eclipse.swt.graphics.*;
import org.eclipse.swt.layout.*;
import org.eclipse.swt.widgets.*;
import org.eclipse.update.core.*;
import org.eclipse.update.internal.ui.*;
public class JarVerificationDialog extends TitleAreaDialog {
public final static int INSTALL_ALL = CANCEL + OK + 1;
private IVerificationResult _VerificationResult = null;
private IDialogPage _DialogPage;
private Composite pageContainer;
private Image defaultImage = null;
private ImageDescriptor defaultImageDescriptor =
UpdateUIImages.DESC_UPDATE_WIZ;
public JarVerificationDialog(Shell parentShell,IDialogPage dialogPage, IVerificationResult verificationResult) {
super(parentShell);
setShellStyle(SWT.TITLE | SWT.BORDER | SWT.APPLICATION_MODAL | SWT.RESIZE);
_VerificationResult = verificationResult;
_DialogPage = dialogPage;
if (dialogPage instanceof JarVerificationPage){
((JarVerificationPage)_DialogPage).setTitleAreaDialog(this);
}
}
protected void createButtonsForButtonBar(Composite parent) {
if (_VerificationResult.getVerificationCode()
!= IVerificationResult.TYPE_ENTRY_CORRUPTED) {
if (_VerificationResult.isFeatureVerification()) {
createButton(
parent,
IDialogConstants.OK_ID,
UpdateUIMessages.JarVerificationDialog_Install,
false);
} else {
createButton(
parent,
IDialogConstants.OK_ID,
UpdateUIMessages.JarVerificationDialog_Continue,
false);
}
createButton(
parent,
IDialogConstants.YES_TO_ALL_ID,
UpdateUIMessages.JarVerificationDialog_InstallAll,
false);
createButton(
parent,
IDialogConstants.CANCEL_ID,
UpdateUIMessages.JarVerificationDialog_Cancel,
true);
} else {
createButton(
parent,
IDialogConstants.CANCEL_ID,
UpdateUIMessages.JarVerificationDialog_Cancel,
true);
}
getButton(IDialogConstants.CANCEL_ID).setFocus();
}
protected Control createDialogArea(Composite parent) {
Composite compositeParent = (Composite)super.createDialogArea(parent);
setTitleImage(this.getImage());
setTitle(UpdateUIMessages.JarVerificationDialog_Title);
_DialogPage.createControl(compositeParent);
pageContainer=(Composite)_DialogPage.getControl();
GridData gd = new GridData(GridData.FILL_BOTH);
pageContainer.setLayoutData(gd);
pageContainer.setFont(parent.getFont());
Label separator= new Label(compositeParent, SWT.HORIZONTAL | SWT.SEPARATOR);
separator.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
return compositeParent;
}
public Image getImage() {
if (defaultImage == null)
defaultImage = defaultImageDescriptor.createImage();
return defaultImage;
}
public boolean close() {
if (defaultImage != null) {
defaultImage.dispose();
defaultImage = null;
}
return super.close();
}
protected void buttonPressed(int buttonId) {
if (IDialogConstants.YES_TO_ALL_ID == buttonId)
installAllPressed();
else
super.buttonPressed(buttonId);
}
private void installAllPressed() {
setReturnCode(JarVerificationDialog.INSTALL_ALL);
close();
}
}