Skip to content

Commit fd8536d

Browse files
authored
Merge pull request #2731 from eselmeister/DynamicScanIdentifierSettings
Display the dynamic settings dialog when running the scan identifier.
2 parents a9cfa92 + 2b0702c commit fd8536d

File tree

5 files changed

+93
-108
lines changed

5 files changed

+93
-108
lines changed

chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/internal/runnables/MassSpectrumIdentifierRunnable.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2017, 2025 Lablicate GmbH.
2+
* Copyright (c) 2017, 2026 Lablicate GmbH.
33
*
44
* This program and the accompanying materials are made
55
* available under the terms of the Eclipse Public License 2.0
@@ -16,30 +16,33 @@
1616
import java.util.List;
1717

1818
import org.eclipse.chemclipse.msd.identifier.MassSpectrumIdentifier;
19+
import org.eclipse.chemclipse.msd.identifier.settings.IMassSpectrumIdentifierSettings;
1920
import org.eclipse.chemclipse.msd.model.core.IScanMSD;
2021
import org.eclipse.chemclipse.ux.extension.xxd.ui.l10n.ExtensionMessages;
2122
import org.eclipse.core.runtime.IProgressMonitor;
2223
import org.eclipse.jface.operation.IRunnableWithProgress;
2324

2425
public class MassSpectrumIdentifierRunnable implements IRunnableWithProgress {
2526

26-
private final List<IScanMSD> scans;
27-
private final String identifierId;
27+
private List<IScanMSD> scans;
28+
private String identifierId;
29+
private IMassSpectrumIdentifierSettings identifierSettings;
2830

29-
public MassSpectrumIdentifierRunnable(List<IScanMSD> scans, String identifierId) {
31+
public MassSpectrumIdentifierRunnable(List<IScanMSD> scans, String identifierId, IMassSpectrumIdentifierSettings identifierSettings) {
3032

3133
this.scans = scans;
3234
this.identifierId = identifierId;
35+
this.identifierSettings = identifierSettings;
3336
}
3437

3538
@Override
3639
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
3740

3841
try {
3942
monitor.beginTask(ExtensionMessages.scanIdentification, IProgressMonitor.UNKNOWN);
40-
MassSpectrumIdentifier.identify(scans, identifierId, monitor);
43+
MassSpectrumIdentifier.identify(scans, identifierSettings, identifierId, monitor);
4144
} finally {
4245
monitor.done();
4346
}
4447
}
45-
}
48+
}

chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/internal/runnables/WaveSpectrumIdentifierRunnable.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright (c) 2017, 2025 Lablicate GmbH.
2+
* Copyright (c) 2017, 2026 Lablicate GmbH.
33
*
44
* This program and the accompanying materials are made
55
* available under the terms of the Eclipse Public License 2.0
@@ -15,6 +15,7 @@
1515
import java.lang.reflect.InvocationTargetException;
1616
import java.util.List;
1717

18+
import org.eclipse.chemclipse.chromatogram.wsd.identifier.settings.IWaveSpectrumIdentifierSettings;
1819
import org.eclipse.chemclipse.chromatogram.wsd.identifier.wavespectrum.WaveSpectrumIdentifier;
1920
import org.eclipse.chemclipse.ux.extension.xxd.ui.l10n.ExtensionMessages;
2021
import org.eclipse.chemclipse.wsd.model.core.IScanWSD;
@@ -23,23 +24,25 @@
2324

2425
public class WaveSpectrumIdentifierRunnable implements IRunnableWithProgress {
2526

26-
private final List<IScanWSD> scans;
27-
private final String identifierId;
27+
private List<IScanWSD> scans;
28+
private String identifierId;
29+
private IWaveSpectrumIdentifierSettings identifierSettings;
2830

29-
public WaveSpectrumIdentifierRunnable(List<IScanWSD> scans, String identifierId) {
31+
public WaveSpectrumIdentifierRunnable(List<IScanWSD> scans, String identifierId, IWaveSpectrumIdentifierSettings identifierSettings) {
3032

3133
this.scans = scans;
3234
this.identifierId = identifierId;
35+
this.identifierSettings = identifierSettings;
3336
}
3437

3538
@Override
3639
public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
3740

3841
try {
3942
monitor.beginTask(ExtensionMessages.scanIdentification, IProgressMonitor.UNKNOWN);
40-
WaveSpectrumIdentifier.identify(scans, identifierId, monitor);
43+
WaveSpectrumIdentifier.identify(scans, identifierSettings, identifierId, monitor);
4144
} finally {
4245
monitor.done();
4346
}
4447
}
45-
}
48+
}

chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/ExtendedComparisonScanUI.java

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import org.eclipse.chemclipse.chromatogram.msd.filter.supplier.subtract.calculator.SubtractCalculator;
2828
import org.eclipse.chemclipse.chromatogram.msd.filter.supplier.subtract.settings.MassSpectrumFilterSettings;
2929
import org.eclipse.chemclipse.converter.exceptions.NoConverterAvailableException;
30-
import org.eclipse.chemclipse.csd.model.core.IScanCSD;
3130
import org.eclipse.chemclipse.logging.core.Logger;
3231
import org.eclipse.chemclipse.model.identifier.IIdentificationTarget;
3332
import org.eclipse.chemclipse.model.identifier.ILibraryInformation;
@@ -50,7 +49,6 @@
5049
import org.eclipse.chemclipse.support.ui.workbench.DisplayUtils;
5150
import org.eclipse.chemclipse.swt.ui.components.InformationUI;
5251
import org.eclipse.chemclipse.swt.ui.notifier.UpdateNotifierUI;
53-
import org.eclipse.chemclipse.swt.ui.services.IScanIdentifierService;
5452
import org.eclipse.chemclipse.ux.extension.ui.support.DataUpdateSupport;
5553
import org.eclipse.chemclipse.ux.extension.ui.swt.IExtendedPartUI;
5654
import org.eclipse.chemclipse.ux.extension.ui.swt.ISettingsHandler;
@@ -63,8 +61,6 @@
6361
import org.eclipse.chemclipse.ux.extension.xxd.ui.support.ChromatogramUpdateSupport;
6462
import org.eclipse.chemclipse.ux.extension.xxd.ui.support.charts.ScanChartSupport;
6563
import org.eclipse.chemclipse.ux.extension.xxd.ui.support.charts.ScanDataSupport;
66-
import org.eclipse.chemclipse.vsd.model.core.IScanVSD;
67-
import org.eclipse.chemclipse.wsd.model.core.IScanWSD;
6864
import org.eclipse.core.runtime.ILog;
6965
import org.eclipse.core.runtime.NullProgressMonitor;
7066
import org.eclipse.e4.ui.di.Focus;
@@ -101,7 +97,6 @@
10197
import org.eclipse.swtchart.extensions.core.IExtendedChart;
10298
import org.eclipse.swtchart.extensions.core.ISecondaryAxisSettings;
10399
import org.eclipse.swtchart.extensions.core.RangeRestriction;
104-
import org.eclipse.ui.IWorkbenchPreferencePage;
105100
import org.eclipse.ui.PlatformUI;
106101
import org.eclipse.ui.themes.ITheme;
107102
import org.eclipse.ui.themes.IThemeManager;
@@ -934,43 +929,10 @@ private List<Class<? extends IPreferencePage>> getPreferencePages() {
934929
List<Class<? extends IPreferencePage>> preferencePages = new ArrayList<>();
935930
preferencePages.add(PreferencePageScans.class);
936931
preferencePages.add(PreferencePageSubtract.class);
937-
/*
938-
* Additional pages.
939-
*/
940-
DataType scanDataType = getScanDataType();
941-
Object[] scanIdentifierServices = Activator.getDefault().getScanIdentifierServices();
942-
if(scanIdentifierServices != null) {
943-
for(Object object : scanIdentifierServices) {
944-
if(object instanceof IScanIdentifierService scanIdentifierService) {
945-
DataType dataType = scanIdentifierService.getDataType();
946-
if(scanDataType.equals(dataType)) {
947-
Class<? extends IWorkbenchPreferencePage> preferencePage = scanIdentifierService.getPreferencePage();
948-
if(preferencePage != null) {
949-
preferencePages.add(preferencePage);
950-
}
951-
}
952-
}
953-
}
954-
}
955932

956933
return preferencePages;
957934
}
958935

959-
private DataType getScanDataType() {
960-
961-
if(scanUnknown instanceof IScanCSD) {
962-
return DataType.CSD;
963-
} else if(scanUnknown instanceof IScanMSD) {
964-
return DataType.MSD;
965-
} else if(scanUnknown instanceof IScanWSD) {
966-
return DataType.WSD;
967-
} else if(scanUnknown instanceof IScanVSD) {
968-
return DataType.VSD;
969-
}
970-
971-
return DataType.NONE;
972-
}
973-
974936
private void updateInput(IScanMSD unknownMassSpectrum, IScanMSD referenceMassSpectrum) {
975937

976938
scanUnknown = copyScan(unknownMassSpectrum);

chemclipse/plugins/org.eclipse.chemclipse.ux.extension.xxd.ui/src/org/eclipse/chemclipse/ux/extension/xxd/ui/swt/ExtendedScanChartUI.java

Lines changed: 0 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@
4343
import org.eclipse.chemclipse.support.updates.IUpdateListener;
4444
import org.eclipse.chemclipse.swt.ui.components.InformationUI;
4545
import org.eclipse.chemclipse.swt.ui.notifier.UpdateNotifierUI;
46-
import org.eclipse.chemclipse.swt.ui.services.IScanIdentifierService;
4746
import org.eclipse.chemclipse.swt.ui.support.Colors;
4847
import org.eclipse.chemclipse.ux.extension.ui.support.DataUpdateSupport;
4948
import org.eclipse.chemclipse.ux.extension.ui.swt.ChartGridSupport;
@@ -78,7 +77,6 @@
7877
import org.eclipse.swtchart.IAxis;
7978
import org.eclipse.swtchart.Range;
8079
import org.eclipse.swtchart.extensions.core.BaseChart;
81-
import org.eclipse.ui.IWorkbenchPreferencePage;
8280

8381
public class ExtendedScanChartUI extends Composite implements IExtendedPartUI {
8482

@@ -735,49 +733,13 @@ public void widgetSelected(SelectionEvent event) {
735733

736734
private List<Class<? extends IPreferencePage>> getPreferencePages() {
737735

738-
/*
739-
* Default pages
740-
*/
741736
List<Class<? extends IPreferencePage>> preferencePages = new ArrayList<>();
742737
preferencePages.add(PreferencePageScans.class);
743738
preferencePages.add(PreferencePageSubtract.class);
744-
/*
745-
* Additional pages.
746-
*/
747-
DataType scanDataType = getScanDataType();
748-
Object[] scanIdentifierServices = Activator.getDefault().getScanIdentifierServices();
749-
if(scanIdentifierServices != null) {
750-
for(Object object : scanIdentifierServices) {
751-
if(object instanceof IScanIdentifierService scanIdentifierService) {
752-
DataType dataType = scanIdentifierService.getDataType();
753-
if(scanDataType.equals(dataType)) {
754-
Class<? extends IWorkbenchPreferencePage> preferencePage = scanIdentifierService.getPreferencePage();
755-
if(preferencePage != null) {
756-
preferencePages.add(preferencePage);
757-
}
758-
}
759-
}
760-
}
761-
}
762739

763740
return preferencePages;
764741
}
765742

766-
private DataType getScanDataType() {
767-
768-
if(scan instanceof IScanCSD) {
769-
return DataType.CSD;
770-
} else if(scan instanceof IScanMSD) {
771-
return DataType.MSD;
772-
} else if(scan instanceof IScanWSD) {
773-
return DataType.WSD;
774-
} else if(scan instanceof IScanVSD) {
775-
return DataType.VSD;
776-
}
777-
778-
return DataType.NONE;
779-
}
780-
781743
private void createSaveButton(Composite parent) {
782744

783745
Button button = new Button(parent, SWT.PUSH);

0 commit comments

Comments
 (0)