diff options
| author | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-08-09 12:18:22 +0200 | 
|---|---|---|
| committer | Jakob Heher <jakob.heher@iaik.tugraz.at> | 2022-08-09 12:18:22 +0200 | 
| commit | 82c7b5dcc102b28277e4d880fb2c18612fa3c807 (patch) | |
| tree | 20511bde9c97dba9857183c666ba30ffabe2085b /pdf-over-gui/src/main/java/at | |
| parent | 1599d8abfb17c8b700845d020866d0dc5e9acba7 (diff) | |
| download | pdf-over-82c7b5dcc102b28277e4d880fb2c18612fa3c807.tar.gz pdf-over-82c7b5dcc102b28277e4d880fb2c18612fa3c807.tar.bz2 pdf-over-82c7b5dcc102b28277e4d880fb2c18612fa3c807.zip | |
functional interfaces for readability
Diffstat (limited to 'pdf-over-gui/src/main/java/at')
| -rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/configuration/AdvancedConfigurationComposite.java | 124 | ||||
| -rw-r--r-- | pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTUtils.java | 18 | 
2 files changed, 55 insertions, 87 deletions
| diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/configuration/AdvancedConfigurationComposite.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/configuration/AdvancedConfigurationComposite.java index 307aa140..c7454276 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/configuration/AdvancedConfigurationComposite.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/composites/configuration/AdvancedConfigurationComposite.java @@ -133,24 +133,12 @@ public class AdvancedConfigurationComposite extends ConfigurationCompositeBase {  		this.btnAutomatischePositionierung = new Button(this.grpSignatur, SWT.CHECK);  		SWTUtils.anchor(btnAutomatischePositionierung).right(100,-5).top(0).left(0,5).set();  		SWTUtils.setFontHeight(btnAutomatischePositionierung, Constants.TEXT_SIZE_BUTTON); - -		this.btnAutomatischePositionierung.addSelectionListener(new SelectionAdapter() { -			@Override -			public void widgetSelected(SelectionEvent e) { -				performPositionSelection(btnAutomatischePositionierung.getSelection()); -			} -		}); +		SWTUtils.addSelectionListener(btnAutomatischePositionierung, e -> { performPositionSelection(btnAutomatischePositionierung.getSelection()); });  		this.btnPdfACompat = new Button(this.grpSignatur, SWT.CHECK);  		SWTUtils.anchor(btnPdfACompat).right(100,-5).top(btnAutomatischePositionierung, 5).left(0,5).set();  		SWTUtils.setFontHeight(btnPdfACompat, Constants.TEXT_SIZE_BUTTON); - -		this.btnPdfACompat.addSelectionListener(new SelectionAdapter() { -			@Override -			public void widgetSelected(SelectionEvent e) { -				performPdfACompatSelection(btnPdfACompat.getSelection()); -			} -		}); +		SWTUtils.addSelectionListener(btnPdfACompat, e -> { performPdfACompatSelection(btnPdfACompat.getSelection()); });  		this.grpPlaceholder = new Group(this, SWT.NONE);  		this.grpPlaceholder.setLayout(STANDARD_LAYOUT); @@ -160,35 +148,17 @@ public class AdvancedConfigurationComposite extends ConfigurationCompositeBase {  		this.btnEnablePlaceholderUsage = new Button(this.grpPlaceholder, SWT.CHECK);  		SWTUtils.anchor(btnEnablePlaceholderUsage).top(0,5).left(0,5).right(100,-5).set();  		SWTUtils.setFontHeight(btnEnablePlaceholderUsage, Constants.TEXT_SIZE_BUTTON); - -		this.btnEnablePlaceholderUsage.addSelectionListener(new SelectionAdapter() { -			@Override -			public void widgetSelected(SelectionEvent e) { -				performEnableUsePlaceholder(btnEnablePlaceholderUsage.getSelection()); -			} -		}); +		SWTUtils.addSelectionListener(btnEnablePlaceholderUsage, e -> { performEnableUsePlaceholder(btnEnablePlaceholderUsage.getSelection()); });  		this.btnPlatzhalterVerwenden = new Button(this.grpPlaceholder, SWT.RADIO);  		SWTUtils.anchor(btnPlatzhalterVerwenden).right(100,-5).top(btnEnablePlaceholderUsage,5).left(0,5).set();  		SWTUtils.setFontHeight(btnPlatzhalterVerwenden, Constants.TEXT_SIZE_BUTTON); - -		this.btnPlatzhalterVerwenden.addSelectionListener(new SelectionAdapter() { -			@Override -			public void widgetSelected(SelectionEvent e) { -				performUseMarkerSelection(btnPlatzhalterVerwenden.getSelection()); -			} -		}); +		SWTUtils.addSelectionListener(btnPlatzhalterVerwenden, e -> { performUseMarkerSelection(btnPlatzhalterVerwenden.getSelection()); });  		this.btnSignatureFieldsUsage = new Button(this.grpPlaceholder, SWT.RADIO);  		SWTUtils.anchor(btnSignatureFieldsUsage).right(100,-5).top(btnPlatzhalterVerwenden, 5).left(0,5).set();  		SWTUtils.setFontHeight(btnSignatureFieldsUsage, Constants.TEXT_SIZE_BUTTON); - -		this.btnSignatureFieldsUsage.addSelectionListener(new SelectionAdapter() { -			@Override -			public void widgetSelected(SelectionEvent e) { -				performUseSignatureFieldsSelection(btnSignatureFieldsUsage.getSelection()); -			} -		}); +		SWTUtils.addSelectionListener(btnSignatureFieldsUsage, e -> { performUseSignatureFieldsSelection(btnSignatureFieldsUsage.getSelection()); });  		this.grpBkuAuswahl = new Group(this, SWT.NONE);  		this.grpBkuAuswahl.setLayout(STANDARD_LAYOUT); @@ -202,14 +172,11 @@ public class AdvancedConfigurationComposite extends ConfigurationCompositeBase {  		this.bkuStrings = Arrays.stream(BKUs.values()).map(s -> Messages.getString("BKU."+s)).collect(Collectors.toList());  		this.cmbBKUAuswahl.setItems(bkuStrings.toArray(new String[0])); -		this.cmbBKUAuswahl.addSelectionListener(new SelectionAdapter() { -			@Override -			public void widgetSelected(SelectionEvent e) { -				int selectionIndex = getBKUElementIndex(configurationContainer.defaultBKU); -				if (cmbBKUAuswahl.getSelectionIndex() != selectionIndex) { -					selectionIndex = cmbBKUAuswahl.getSelectionIndex(); -					performBKUSelectionChanged(cmbBKUAuswahl.getItem(selectionIndex)); -				} +		SWTUtils.addSelectionListener(cmbBKUAuswahl, e -> { +			int selectionIndex = getBKUElementIndex(configurationContainer.defaultBKU); +			if (cmbBKUAuswahl.getSelectionIndex() != selectionIndex) { +				selectionIndex = cmbBKUAuswahl.getSelectionIndex(); +				performBKUSelectionChanged(cmbBKUAuswahl.getItem(selectionIndex));  			}  		}); @@ -217,12 +184,7 @@ public class AdvancedConfigurationComposite extends ConfigurationCompositeBase {  		SWTUtils.anchor(btnKeystoreEnabled).right(100,-5).top(cmbBKUAuswahl,5).left(0,5).set();  		SWTUtils.setFontHeight(btnKeystoreEnabled, Constants.TEXT_SIZE_BUTTON); -		this.btnKeystoreEnabled.addSelectionListener(new SelectionAdapter() { -			@Override -			public void widgetSelected(SelectionEvent e) { -				performKeystoreEnabledSelection(btnKeystoreEnabled.getSelection()); -			} -		}); +		SWTUtils.addSelectionListener(btnKeystoreEnabled, e -> { performKeystoreEnabledSelection(btnKeystoreEnabled.getSelection()); });  		this.grpSpeicherort = new Group(this, SWT.NONE);  		grpSpeicherort.setLayout(new GridLayout(3, false)); @@ -247,29 +209,26 @@ public class AdvancedConfigurationComposite extends ConfigurationCompositeBase {  		btnBrowse.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));  		SWTUtils.setFontHeight(btnBrowse, Constants.TEXT_SIZE_BUTTON); -		this.btnBrowse.addSelectionListener(new SelectionAdapter() { -			@Override -			public void widgetSelected(SelectionEvent e) { -				DirectoryDialog dlg = new DirectoryDialog(AdvancedConfigurationComposite.this.getShell()); - -				// Set the initial filter path according -				// to anything they've selected or typed in -				dlg.setFilterPath(AdvancedConfigurationComposite.this.txtOutputFolder.getText()); -				 -				// Change the title bar text -				SWTUtils.setLocalizedText(dlg, "advanced_config.OutputFolder.Dialog_Title"); - -				// Customizable message displayed in the dialog -				dlg.setMessage(Messages.getString("advanced_config.OutputFolder.Dialog")); - -				// Calling open() will open and run the dialog. -				// It will return the selected directory, or -				// null if user cancels -				String dir = dlg.open(); -				if (dir != null) { -					// Set the text box to the new selection -					performOutputFolderChanged(dir); -				} +		SWTUtils.addSelectionListener(btnBrowse, e -> { +			DirectoryDialog dlg = new DirectoryDialog(AdvancedConfigurationComposite.this.getShell()); + +			// Set the initial filter path according +			// to anything they've selected or typed in +			dlg.setFilterPath(AdvancedConfigurationComposite.this.txtOutputFolder.getText()); +			 +			// Change the title bar text +			SWTUtils.setLocalizedText(dlg, "advanced_config.OutputFolder.Dialog_Title"); + +			// Customizable message displayed in the dialog +			dlg.setMessage(Messages.getString("advanced_config.OutputFolder.Dialog")); + +			// Calling open() will open and run the dialog. +			// It will return the selected directory, or +			// null if user cancels +			String dir = dlg.open(); +			if (dir != null) { +				// Set the text box to the new selection +				performOutputFolderChanged(dir);  			}  		}); @@ -299,14 +258,11 @@ public class AdvancedConfigurationComposite extends ConfigurationCompositeBase {  		this.cmbLocaleAuswahl.setItems(Arrays.stream(Constants.SUPPORTED_LOCALES).map(l -> l.getDisplayLanguage()).toArray(String[]::new));  		SWTUtils.disableEventDefault(cmbLocaleAuswahl, SWT.MouseVerticalWheel); -		this.cmbLocaleAuswahl.addSelectionListener(new SelectionAdapter() { -			@Override -			public void widgetSelected(SelectionEvent e) { -				Locale currentLocale = configurationContainer.interfaceLocale; -				Locale selectedLocale = Constants.SUPPORTED_LOCALES[cmbLocaleAuswahl.getSelectionIndex()]; -				if (!currentLocale.equals(selectedLocale)) { -					performLocaleSelectionChanged(selectedLocale); -				} +		SWTUtils.addSelectionListener(cmbLocaleAuswahl, e -> { +			Locale currentLocale = configurationContainer.interfaceLocale; +			Locale selectedLocale = Constants.SUPPORTED_LOCALES[cmbLocaleAuswahl.getSelectionIndex()]; +			if (!currentLocale.equals(selectedLocale)) { +				performLocaleSelectionChanged(selectedLocale);  			}  		}); @@ -318,13 +274,7 @@ public class AdvancedConfigurationComposite extends ConfigurationCompositeBase {  		this.btnUpdateCheck = new Button(this.grpUpdateCheck, SWT.CHECK);  		SWTUtils.anchor(btnUpdateCheck).right(100,-5).top(0).left(0,5).set();  		SWTUtils.setFontHeight(btnUpdateCheck, Constants.TEXT_SIZE_BUTTON); - -		this.btnUpdateCheck.addSelectionListener(new SelectionAdapter() { -			@Override -			public void widgetSelected(SelectionEvent e) { -				performUpdateCheckSelection(btnUpdateCheck.getSelection()); -			} -		}); +		SWTUtils.addSelectionListener(btnUpdateCheck, e -> { performUpdateCheckSelection(btnUpdateCheck.getSelection()); });  		this.grpProxy = new Group(this, SWT.NONE);  		SWTUtils.anchor(grpProxy).right(100,-5).top(grpUpdateCheck, 5).left(0,5).set(); diff --git a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTUtils.java b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTUtils.java index c89f12b8..ebeda252 100644 --- a/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTUtils.java +++ b/pdf-over-gui/src/main/java/at/asit/pdfover/gui/utils/SWTUtils.java @@ -2,7 +2,10 @@ package at.asit.pdfover.gui.utils;  import java.lang.reflect.InvocationTargetException;  import java.lang.reflect.Method; +import java.util.function.Consumer; +import org.eclipse.swt.events.SelectionAdapter; +import org.eclipse.swt.events.SelectionEvent;  import org.eclipse.swt.graphics.Font;  import org.eclipse.swt.graphics.FontData;  import org.eclipse.swt.layout.FormAttachment; @@ -120,4 +123,19 @@ public final class SWTUtils {      }      public static AnchorSetter anchor(Control c) { return new AnchorSetter(c); } +	/** +	 * functional-interface wrapper around swtObj.addSelectionListener +	 * @param swtObj SWT widget supporting addSelectionListener +	 * @param callback widgetSelected method +	 */ +	public static void addSelectionListener(Object swtObj, Consumer<SelectionEvent> callback) { +		try { +			Method m = swtObj.getClass().getMethod("addSelectionListener", SelectionAdapter.class); +			m.invoke(swtObj, new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { callback.accept(e); } }); +		} catch (NoSuchMethodException | IllegalAccessException e) { +			log.error("Attempted to pass object of type {} to onSelectionChanged; object does not have an accessible addSelectionListener method", swtObj.getClass().getSimpleName(), e); +		} catch (InvocationTargetException e) { +			log.error("Failed to add selection listener on object of type {}", swtObj.getClass().getSimpleName(), e); +		} +	}  } | 
