1+ /*******************************************************************************
2+ * Copyright (c) 2026 Lablicate GmbH.
3+ *
4+ * This program and the accompanying materials are made
5+ * available under the terms of the Eclipse Public License 2.0
6+ * which is available at https://www.eclipse.org/legal/epl-2.0/
7+ *
8+ * SPDX-License-Identifier: EPL-2.0
9+ *
10+ * Contributors:
11+ * Philip Wenig - initial API and implementation
12+ *******************************************************************************/
13+ package net .openchrom .xxd .process .supplier .templates .ui .internal .provider ;
14+
15+ import org .eclipse .chemclipse .support .ui .swt .ExtendedTableViewer ;
16+ import org .eclipse .jface .viewers .CellEditor ;
17+ import org .eclipse .jface .viewers .EditingSupport ;
18+ import org .eclipse .jface .viewers .TextCellEditor ;
19+
20+ import net .openchrom .xxd .process .supplier .templates .model .NameReplacement ;
21+
22+ public class NameReplacementsEditingSupport extends EditingSupport {
23+
24+ private CellEditor cellEditor ;
25+ private ExtendedTableViewer tableViewer ;
26+ private String column ;
27+
28+ public NameReplacementsEditingSupport (ExtendedTableViewer tableViewer , String column ) {
29+
30+ super (tableViewer );
31+ this .column = column ;
32+ this .cellEditor = new TextCellEditor (tableViewer .getTable ());
33+ this .tableViewer = tableViewer ;
34+ }
35+
36+ @ Override
37+ protected CellEditor getCellEditor (Object element ) {
38+
39+ return cellEditor ;
40+ }
41+
42+ @ Override
43+ protected boolean canEdit (Object element ) {
44+
45+ return tableViewer .isEditEnabled ();
46+ }
47+
48+ @ Override
49+ protected Object getValue (Object element ) {
50+
51+ /*
52+ * Do not edit the name
53+ */
54+ if (element instanceof NameReplacement setting ) {
55+ switch (column ) {
56+ case NameReplacementsLabelProvider .SYNONYM :
57+ return setting .getSynonym ();
58+ }
59+ }
60+ return false ;
61+ }
62+
63+ @ Override
64+ protected void setValue (Object element , Object value ) {
65+
66+ /*
67+ * Do not edit the name
68+ */
69+ if (element instanceof NameReplacement setting ) {
70+ switch (column ) {
71+ case NameReplacementsLabelProvider .SYNONYM :
72+ setting .setSynonym (value .toString ());
73+ break ;
74+ }
75+ tableViewer .refresh ();
76+ }
77+ }
78+ }
0 commit comments