displaySettings.addObserver(() -> viewer.refresh());
MachineContext.getInstance().registerObserver(this);
+ setMachine(Optional.ofNullable(MachineContext.getInstance().getMachine()));
}
public void highlight(int index)
private void deleteColumns()
{
for (TableViewerColumn col : columns)
- col.getColumn().dispose();
+ if (col != null)
+ col.getColumn().dispose();
}
private void createColumns()
createEditingAndLabel(createTableViewerColumn(name, bounds), miDef, i);
}
-
}
private void createEditingAndLabel(TableViewerColumn col, MicroInstructionDefinition miDef, int index)
package net.mograsim.plugin.views;
-import java.util.Optional;
-
import javax.inject.Inject;
import org.eclipse.e4.ui.model.application.ui.basic.MPart;
import net.mograsim.logic.model.LogicExecuter;
import net.mograsim.logic.model.LogicUICanvas;
import net.mograsim.machine.Machine;
-import net.mograsim.machine.MachineDefinition;
-import net.mograsim.machine.MachineRegistry;
+import net.mograsim.plugin.MachineContext;
import net.mograsim.plugin.ThemePreferences;
import net.mograsim.preferences.Preferences;
// set preferences
Preferences.setPreferences(new ThemePreferences(PlatformUI.getWorkbench().getThemeManager().getCurrentTheme()));
- Optional<MachineDefinition> mdo = MachineRegistry.getinstalledMachines().values().stream().findFirst();
-
- MachineDefinition md = mdo.orElseThrow(IllegalStateException::new);
- Machine m = md.createNew();
+ Machine m = MachineContext.getInstance().getMachine();
// initialize UI
ui = new LogicUICanvas(parent, SWT.NONE, m.getModel());