+ private void updateFont(ITheme theme)
+ {
+ Font newFont = theme.getFontRegistry().get(font);
+ // TODO: This is a quick fix! Still have to figure out why the CellEditors do not get the appropriate Font on their own
+ fontDependent.forEach(c -> c.setFont(newFont));
+ }
+
+ private void loadAround(int row)
+ {
+ long prevLb = provider.getLowerBound();
+ long address = prevLb + row;
+ long actualLb = Long.max(address - MemoryTableContentProvider.MAX_VISIBLE_ROWS / 2, memory.getDefinition().getMinimalAddress());
+
+ long prevHb = provider.getUpperBound();
+ // +- 1 row is not really important
+ long actualHb = Long.min(address + MemoryTableContentProvider.MAX_VISIBLE_ROWS / 2, memory.getDefinition().getMaximalAddress());
+
+ if (actualLb != prevLb || actualHb != prevHb)
+ {
+ Table table = viewer.getTable();
+ provider.setBounds(actualLb, actualHb);
+ int rowIndex = (int) (address - actualLb);
+ if (rowIndex >= 0 && rowIndex < table.getItemCount())
+ table.showItem(table.getItem(rowIndex));
+ viewer.refresh();
+ }
+ }
+