View Javadoc

1   package org.eparapher.rcp.preferences;
2   
3   import org.eclipse.jface.preference.BooleanFieldEditor;
4   import org.eclipse.jface.preference.ComboFieldEditor;
5   import org.eclipse.jface.preference.FieldEditorPreferencePage;
6   import org.eclipse.jface.preference.FileFieldEditor;
7   import org.eclipse.jface.preference.IntegerFieldEditor;
8   import org.eclipse.jface.preference.StringFieldEditor;
9   import org.eclipse.jface.util.PropertyChangeEvent;
10  import org.eclipse.swt.SWT;
11  import org.eclipse.ui.IWorkbench;
12  import org.eclipse.ui.IWorkbenchPreferencePage;
13  import org.eparapher.core.EParapherManager;
14  import org.eparapher.core.signature.PDFSignatureParameters;
15  import org.eparapher.rcp.Activator;
16  import org.eparapher.rcp.tools.RCPSettings;
17  
18  
19  public class PDFSignaturePreferencePage extends FieldEditorPreferencePage implements
20  		IWorkbenchPreferencePage {
21  
22  	public static final String ID = "org.eparapher.rcp.preferences.PDFSignaturePreferencePage";
23  	
24  
25  	BooleanFieldEditor multiplesignature;
26  	BooleanFieldEditor replaceunsignedpdf;
27  
28  	BooleanFieldEditor visiblesignature;
29  	
30  	FileFieldEditor    visibleSignatureImage;
31  	
32  	IntegerFieldEditor visibleSignaturePage;
33  	IntegerFieldEditor visibleSignatureSize;
34  	IntegerFieldEditor visibleSignatureLowerLeftX;
35  	IntegerFieldEditor visibleSignatureLowerLeftY;
36  	IntegerFieldEditor visibleSignatureUpperRightX;
37  	IntegerFieldEditor visibleSignatureUpperRightY;
38  
39  	ComboFieldEditor pdfsignatureformat;
40  	ComboFieldEditor pdfsignaturecertification;
41  
42  	StringFieldEditor filenamepart;
43  	
44  	StringFieldEditor location;
45  	StringFieldEditor reason;
46  	
47  	public PDFSignaturePreferencePage() {
48  		super(GRID);
49  		setPreferenceStore(Activator.getDefault().getPreferenceStore());
50  		setDescription("Set your default pdf signature settings here");
51  	}
52  
53  	public void init(IWorkbench workbench) {
54  
55  	}
56  
57  	protected void createFieldEditors() {
58  
59  		replaceunsignedpdf = new BooleanFieldEditor(PreferenceConstants.P_PDFSIGNATUREREPLACEFILE,"&Overwrite the original PDF file?", SWT.NONE, getFieldEditorParent());
60  		addField(replaceunsignedpdf);
61  		
62  		filenamepart       = new StringFieldEditor( PreferenceConstants.P_PDFSIGNATUREFILENAMEAPP,"&Append new filename :",  getFieldEditorParent());
63  		addField(filenamepart);
64  		if (EParapherManager.getInstance().getSettings().isPDFSignatureReplaceFile())
65  			filenamepart.setEnabled(false, getFieldEditorParent());
66  				
67  		multiplesignature = new BooleanFieldEditor(PreferenceConstants.P_PDFSIGNATUREMULTIPLE,"&Allow multiple signatures in the document.", SWT.NONE, getFieldEditorParent());
68  		addField(multiplesignature);
69  		
70  		reason             = new StringFieldEditor( PreferenceConstants.P_PDFSIGNATUREREASON,"&Signature reason : ",  getFieldEditorParent());
71  		addField(reason);
72  		location           = new StringFieldEditor( PreferenceConstants.P_PDFSIGNATURELOCATION,"&Your Location : ",  getFieldEditorParent());
73  		addField(location);
74  		
75  		pdfsignatureformat = new ComboFieldEditor( PreferenceConstants.P_PDFSIGNATUREFORMAT,"&PDF Signature Format : ", PDFSignatureParameters.PDFSignatureFamilies, getFieldEditorParent());
76  		addField(pdfsignatureformat);
77  		
78  		pdfsignaturecertification = new ComboFieldEditor( PreferenceConstants.P_PDFSIGNATURECERTIF,"&PDF Signature Certification : ", PDFSignatureParameters.PDFSignatureCertifications, getFieldEditorParent());
79  		addField(pdfsignaturecertification);
80  
81  		visiblesignature  = new BooleanFieldEditor(PreferenceConstants.P_PDFSIGNATUREVISIBLE,"&Visible signature in the document.", SWT.NONE, getFieldEditorParent());
82  		addField(visiblesignature);
83  		
84  		visibleSignatureImage = new FileFieldEditor(PreferenceConstants.P_PDFSIGNATUREIMAGE,"Signature image : ",true,getFieldEditorParent());
85  		addField(visibleSignatureImage);
86  		visibleSignatureSize  = new IntegerFieldEditor(PreferenceConstants.P_PDFSIGNATUREIMAGESIZE,"Image size (percent) : ",getFieldEditorParent(),4);
87  		visibleSignatureSize.setValidRange(1, 9999);
88  		visibleSignatureSize.setEnabled(false, getFieldEditorParent());
89  		addField(visibleSignatureSize);
90  		visibleSignaturePage  = new IntegerFieldEditor(PreferenceConstants.P_PDFSIGNATUREVISIBLEPAGE,"Signature page : ",getFieldEditorParent(),4);
91  		addField(visibleSignaturePage);
92  		
93  		visibleSignatureLowerLeftX = new IntegerFieldEditor(PreferenceConstants.P_PDFSIGIMGLOWERLEFTX," lower left X position : ",getFieldEditorParent(),5);
94  		visibleSignatureLowerLeftX.setValidRange(-1, 999);
95  		addField(visibleSignatureLowerLeftX);
96  		visibleSignatureLowerLeftY = new IntegerFieldEditor(PreferenceConstants.P_PDFSIGIMGLOWERLEFTY," lower left Y position : ",getFieldEditorParent(),5);
97  		visibleSignatureLowerLeftY.setValidRange(-1, 999);
98  		addField(visibleSignatureLowerLeftY);
99  
100 		visibleSignatureUpperRightX = new IntegerFieldEditor(PreferenceConstants.P_PDFSIGIMGUPPERRIGHTX," upper right X position : ",getFieldEditorParent(),5);
101 		visibleSignatureUpperRightX.setValidRange(0, 999);
102 		addField(visibleSignatureUpperRightX);
103 		visibleSignatureUpperRightY = new IntegerFieldEditor(PreferenceConstants.P_PDFSIGIMGUPPERRIGHTY," upper right Y position : ",getFieldEditorParent(),5);
104 		visibleSignatureUpperRightY.setValidRange(0, 999);
105 		addField(visibleSignatureUpperRightY);
106 		
107 		if (!EParapherManager.getInstance().getSettings().isPDFVisibleSignature()) {
108 			visibleSignatureImage.setEnabled(false, getFieldEditorParent());
109 			visibleSignaturePage.setEnabled(false, getFieldEditorParent());
110 			visibleSignatureSize.setEnabled(false, getFieldEditorParent());
111 			visibleSignatureLowerLeftX.setEnabled(false, getFieldEditorParent());
112 			visibleSignatureLowerLeftY.setEnabled(false, getFieldEditorParent());
113 			visibleSignatureUpperRightX.setEnabled(false, getFieldEditorParent());
114 			visibleSignatureUpperRightY.setEnabled(false, getFieldEditorParent());
115 		}
116 			
117 	}
118 	
119 	public void propertyChange(PropertyChangeEvent event) {
120 		super.propertyChange(event);
121 		String selectedvalue    = (String) event.getNewValue().toString();
122 		String oldselectedvalue = (String) event.getOldValue().toString();
123 		//eParapherTools.debugMessage("old : '" + oldselectedvalue  + "'    new : '" + selectedvalue +"'     source : "  + event.getSource().toString());
124 		if (!selectedvalue.equals(oldselectedvalue)) {
125 			if (event.getSource() instanceof BooleanFieldEditor) {
126 				BooleanFieldEditor changedbfe = (BooleanFieldEditor) event.getSource();
127 				String prefname = changedbfe.getPreferenceName();
128 				//If not overwriting file, can access extention
129 				if (prefname.equals(PreferenceConstants.P_PDFSIGNATUREREPLACEFILE))
130 					if (selectedvalue.equals("true")) {
131 						filenamepart.setEnabled(false, getFieldEditorParent());
132 					} else {
133 						filenamepart.setEnabled(true, getFieldEditorParent());
134 					}
135 				if (prefname.equals(PreferenceConstants.P_PDFSIGNATUREVISIBLE))
136 					if (selectedvalue.equals("true")) {
137 						visibleSignatureImage.setEnabled(true, getFieldEditorParent());
138 						visibleSignaturePage.setEnabled(true, getFieldEditorParent());
139 						visibleSignatureSize.setEnabled(true, getFieldEditorParent());
140 						visibleSignatureLowerLeftX.setEnabled(true, getFieldEditorParent());
141 						visibleSignatureLowerLeftY.setEnabled(true, getFieldEditorParent());
142 						visibleSignatureUpperRightX.setEnabled(true, getFieldEditorParent());
143 						visibleSignatureUpperRightY.setEnabled(true, getFieldEditorParent());
144 					} else {
145 						visibleSignatureImage.setEnabled(false, getFieldEditorParent());
146 						visibleSignaturePage.setEnabled(false, getFieldEditorParent());
147 						visibleSignatureSize.setEnabled(false, getFieldEditorParent());
148 						visibleSignatureLowerLeftX.setEnabled(false, getFieldEditorParent());
149 						visibleSignatureLowerLeftY.setEnabled(false, getFieldEditorParent());
150 						visibleSignatureUpperRightX.setEnabled(false, getFieldEditorParent());
151 						visibleSignatureUpperRightY.setEnabled(false, getFieldEditorParent());
152 					}
153 			}
154 		}
155 	}
156 }