package org.eparapher.rcp.wizards; import org.eclipse.jface.wizard.IWizardPage; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.KeyListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; import org.eparapher.core.signature.PDFSignatureParameters; import org.eparapher.rcp.tools.GUIIcons; public class PDFSigningWizardPageFour extends WizardPage implements IWizardPage { private Text reason; private Text location; private Composite container; private Button insertCRLs; private Button insertTimestamp; private PDFSignatureParameters pdfsignatureparams; protected PDFSigningWizardPageFour(PDFSignatureParameters mpdfsignatureparams) { super("PDF Signing"); setTitle("PDF signing wizard Page 4/4"); setDescription("Please Configure your PDF Signature informations."); setImageDescriptor(GUIIcons.WIZARD_SIGN_IMG); pdfsignatureparams = mpdfsignatureparams; } public void createControl(Composite parent) { container = new Composite(parent, SWT.NULL); container.setLayout(new GridLayout(2,false)); container.setLayoutData(new GridData(GridData.FILL_BOTH)); Label labelReason = new Label(container, SWT.NULL); labelReason.setText("Reason : "); labelReason.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); reason = new Text(container, SWT.BORDER | SWT.SINGLE); reason.setText(pdfsignatureparams.getReason()); reason.addKeyListener( new KeyListenerValidator() ); reason.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Label labelLocation = new Label(container, SWT.NULL); labelLocation.setText("Location : "); labelLocation.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); location = new Text(container, SWT.BORDER | SWT.SINGLE); location.setText(pdfsignatureparams.getLocation()); location.addKeyListener( new KeyListenerValidator() ); location.setLayoutData(new GridData(GridData.FILL_HORIZONTAL)); Label labelInsertCRLs = new Label(container, SWT.NULL); labelInsertCRLs.setText("Insert CRLs in signature : "); labelInsertCRLs.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); insertCRLs = new Button(container, SWT.CHECK); insertCRLs.setToolTipText("Insert CRL"); insertCRLs.setSelection (pdfsignatureparams.isInsertCRLs()); insertCRLs.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); insertCRLs.setEnabled(false); Label labelInsertTimestamp = new Label(container, SWT.NULL); labelInsertTimestamp.setText("Insert TimeStamp in signature : "); labelInsertTimestamp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_END)); insertTimestamp = new Button(container, SWT.CHECK); insertTimestamp.setToolTipText("Insert Timestamp"); insertTimestamp.setSelection (pdfsignatureparams.isInsertCRLs()); insertTimestamp.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING)); insertTimestamp.setEnabled(false); // Required to avoid an error in the system setControl(container); if (reason.getText().equals("") || location.getText().equals("")) setPageComplete(false); else setPageComplete(true); } class KeyListenerValidator implements KeyListener { public KeyListenerValidator() { super(); } public void keyPressed(KeyEvent e) { } public void keyReleased(KeyEvent e) { if (!reason.getText().equals("") && !location.getText().equals("")) { setMessage("Please Configure your PDF Signature informations."); setPageComplete(true); } else { setErrorMessage("Please fill this field"); setPageComplete(false); } } } public boolean isCRLsInSignature() { return insertCRLs.getSelection(); } public boolean isTimestampInSignature() { return insertTimestamp.getSelection(); } public String getReason() { return reason.getText(); } public String getLocation() { return location.getText(); } }