1 package net.mograsim.plugin.tables.mi;
3 import org.eclipse.jface.viewers.CellEditor;
4 import org.eclipse.jface.viewers.CheckboxCellEditor;
5 import org.eclipse.jface.viewers.EditingSupport;
6 import org.eclipse.jface.viewers.TableViewer;
8 import net.mograsim.logic.core.types.Bit;
9 import net.mograsim.machine.mi.MicroInstructionDefinition;
10 import net.mograsim.machine.mi.parameters.BooleanClassification;
12 public class BooleanEditingSupport extends EditingSupport
14 private final CheckboxCellEditor editor;
15 private final BooleanClassification boolClass;
16 private final TableViewer viewer;
17 private final int index;
19 public BooleanEditingSupport(TableViewer viewer, MicroInstructionDefinition definition, int index)
23 this.boolClass = (BooleanClassification) definition.getParameterClassification(index);
24 editor = new CheckboxCellEditor(viewer.getTable());
29 protected boolean canEdit(Object element)
35 protected CellEditor getCellEditor(Object element)
41 protected Object getValue(Object element)
43 return ((InstructionTableRow) element).data.getParameter(index).getValue().getMSBit(0).equals(Bit.ONE);
47 protected void setValue(Object element, Object value)
49 ((InstructionTableRow) element).data.setParameter(index, boolClass.get((Boolean) value));
50 viewer.update(element, null);