From 5b48fd2149c162df3927b83eaf59768c273f5bd1 Mon Sep 17 00:00:00 2001 From: Lorenz Gerber Date: Tue, 4 Feb 2025 16:21:56 +0100 Subject: [PATCH] Feature: Toggle 'Use' tickbox, activate all samples Signed-off-by: Lorenz Gerber --- .../supplier/pca/ui/swt/AnalysisEditorUI.java | 60 +++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/chemclipse/plugins/org.eclipse.chemclipse.xxd.process.supplier.pca.ui/src/org/eclipse/chemclipse/xxd/process/supplier/pca/ui/swt/AnalysisEditorUI.java b/chemclipse/plugins/org.eclipse.chemclipse.xxd.process.supplier.pca.ui/src/org/eclipse/chemclipse/xxd/process/supplier/pca/ui/swt/AnalysisEditorUI.java index ca8065a348..a7a14d2cd3 100644 --- a/chemclipse/plugins/org.eclipse.chemclipse.xxd.process.supplier.pca.ui/src/org/eclipse/chemclipse/xxd/process/supplier/pca/ui/swt/AnalysisEditorUI.java +++ b/chemclipse/plugins/org.eclipse.chemclipse.xxd.process.supplier.pca.ui/src/org/eclipse/chemclipse/xxd/process/supplier/pca/ui/swt/AnalysisEditorUI.java @@ -29,8 +29,11 @@ import org.eclipse.chemclipse.rcp.ui.icons.core.IApplicationImage; import org.eclipse.chemclipse.rcp.ui.icons.core.IApplicationImageProvider; import org.eclipse.chemclipse.support.events.IChemClipseEvents; +import org.eclipse.chemclipse.support.ui.menu.ITableMenuEntry; import org.eclipse.chemclipse.support.ui.provider.AbstractLabelProvider; import org.eclipse.chemclipse.support.ui.swt.EnhancedComboViewer; +import org.eclipse.chemclipse.support.ui.swt.ExtendedTableViewer; +import org.eclipse.chemclipse.support.ui.swt.ITableSettings; import org.eclipse.chemclipse.support.updates.IUpdateListener; import org.eclipse.chemclipse.swt.ui.components.ISearchListener; import org.eclipse.chemclipse.swt.ui.components.SearchSupportUI; @@ -61,6 +64,7 @@ import org.eclipse.jface.dialogs.ProgressMonitorDialog; import org.eclipse.jface.viewers.ArrayContentProvider; import org.eclipse.jface.viewers.ComboViewer; +import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.jface.window.Window; import org.eclipse.jface.wizard.IWizard; @@ -601,6 +605,62 @@ public void update() { }); // sampleListControl.set(sampleListUI); + ITableSettings tableSettings = sampleListUI.getTableSettings(); + tableSettings.addMenuEntry(new ITableMenuEntry() { + + @Override + public String getCategory() { + + return ""; + } + + @Override + public String getName() { + + return "Toggle 'Use'"; + } + + @Override + public void execute(ExtendedTableViewer extendedTableViewer) { + + IStructuredSelection selection = sampleListUI.getStructuredSelection(); + @SuppressWarnings("unchecked") + List samples = (List)selection.toList(); + for(Sample sample : samples) { + if(sample.isSelected()) { + sample.setSelected(false); + } else { + sample.setSelected(true); + } + } + sampleListUI.updateContent(); + } + }); + tableSettings.addMenuEntry(new ITableMenuEntry() { + + @Override + public String getCategory() { + + return ""; + } + + @Override + public String getName() { + + return "Use All Sample"; + } + + @Override + public void execute(ExtendedTableViewer extendedTableViewer) { + + @SuppressWarnings("unchecked") + List samples = (List)sampleListUI.getInput(); + for(Sample sample : samples) { + sample.setSelected(true); + } + sampleListUI.updateContent(); + } + }); } private void handleRowSelection(List selectedElements) {