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
124 if (!selectedvalue.equals(oldselectedvalue)) {
125 if (event.getSource() instanceof BooleanFieldEditor) {
126 BooleanFieldEditor changedbfe = (BooleanFieldEditor) event.getSource();
127 String prefname = changedbfe.getPreferenceName();
128
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 }