dbus, am2904CarryInstructions, am2904ShiftInstructions, hL, hL, am2904StatusInstructions, ccen, am2910Instructions,
constant_12bit, hL, hE, hI, hE, hL, rW };
+ private static final String[] paramTitle = { "IE", "I", "KMUX", "K", "01 Src", "01 Func", "01 Dest", "01 RA", "01 ASel", "01 RB",
+ "01 BSel", "_ABus", "_DBus", "04 Cin", "04 Shift", "04 _CE\u00b5", "_CEM", "04 Op", "10 _CCEN", "10 I", "D", "BZ _LD", "BZ _ED",
+ "BZ _INC", "BZ _EA", "IR _LD", "_MWE" };
+
private static final String[] paramDesc = { "Allow interrupts?", "Interrupt instructions; omitted for simplicity",
"Get D-input from data bus/constant value", "Constant value", "Operand sources for ALU operation", "ALU operation",
"Destination of ALU calculation", "Register for A-operand", "Get A-operand from instruction register/micro instruction?",
return classes[index];
}
+ @Override
+ public Optional<String> getParameterTitle(int index)
+ {
+ return Optional.of(paramTitle[index]);
+ }
+
@Override
public Optional<String> getParameterDescription(int index)
{
return new StandardMicroInstruction(params);
}
+ public Optional<String> getParameterTitle(int index);
+
public Optional<String> getParameterDescription(int index);
}
\ No newline at end of file
addField(new ComboFieldEditor("net.mograsim.logic.model.button.action", "Mouse button for actions", MOUSE_BUTTONS, parent));
addField(new ComboFieldEditor("net.mograsim.logic.model.button.drag", "Mouse button for dragging", MOUSE_BUTTONS, parent));
addField(new ComboFieldEditor("net.mograsim.logic.model.button.zoom", "Mouse button for zooming", MOUSE_BUTTONS, parent));
- addField(new BooleanFieldEditor("net.mograsim.plugin.core.editors.mpm.descriptionascolumnname",
- "Use the MPM column description as table header", parent));
+ addField(new BooleanFieldEditor("net.mograsim.plugin.core.editors.mpm.bitsascolumnname",
+ "Use the raw bit indices of MPM columns as column titles in the MPM editor", parent));
// TODO add other preferences
}
}
\ No newline at end of file
int startBit = bit - 1;
int endBit = bit = bit - classes[i].getExpectedBits();
- String description = miDef.getParameterDescription(i).orElse(null);
+ String columnTitle;
String bitString = startBit == endBit ? Integer.toString(startBit) : startBit + "..." + endBit;
- String columnTitle, columnTooltip;
- if (useDescriptionAsColumnTitle(description))
- {
- columnTitle = description;
- columnTooltip = bitString;
- } else
- {
+ if (Preferences.current().getBoolean("net.mograsim.plugin.core.editors.mpm.bitsascolumnname"))
columnTitle = bitString;
- columnTooltip = description;
- }
+ else
+ columnTitle = miDef.getParameterTitle(i).orElse(bitString);
columnTitles[i] = columnTitle;
+ String columnTooltip = miDef.getParameterDescription(i).orElse(null);
col = createTableViewerColumn(columnTitle, columnTooltip);
columns[i + 1] = col;
viewer.getTable().setVisible(true);
}
- private static boolean useDescriptionAsColumnTitle(String description)
- {
- return description != null && Preferences.current().getBoolean("net.mograsim.plugin.core.editors.mpm.descriptionascolumnname");
- }
-
public void bindMicroInstructionMemory(MicroInstructionMemory memory)
{
this.memory = memory;
return true;
case "net.mograsim.logic.model.debug.openhlsshell":
return false;
- case "net.mograsim.plugin.core.editors.mpm.descriptionascolumnname":
+ case "net.mograsim.plugin.core.editors.mpm.bitsascolumnname":
return false;
default:
throw new IllegalArgumentException("Unknown boolean preference name: " + name);