projects
/
Mograsim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed some bugs preventing Am2900 from working in Eclipse
[Mograsim.git]
/
net.mograsim.plugin.core
/
src
/
net
/
mograsim
/
plugin
/
tables
/
memory
/
MemoryView.java
diff --git
a/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/memory/MemoryView.java
b/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/memory/MemoryView.java
index
ef685f4
..
0936880
100644
(file)
--- a/
net.mograsim.plugin.core/src/net/mograsim/plugin/tables/memory/MemoryView.java
+++ b/
net.mograsim.plugin.core/src/net/mograsim/plugin/tables/memory/MemoryView.java
@@
-3,8
+3,6
@@
package net.mograsim.plugin.tables.memory;
import java.math.BigInteger;
import java.util.Optional;
import java.math.BigInteger;
import java.util.Optional;
-import org.eclipse.jface.viewers.ColumnLabelProvider;
-import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.VerifyListener;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.VerifyListener;
@@
-24,16
+22,17
@@
import net.mograsim.machine.standard.memory.WordAddressableMemory;
import net.mograsim.plugin.MachineContext;
import net.mograsim.plugin.MachineContext.ContextObserver;
import net.mograsim.plugin.asm.AsmNumberUtil;
import net.mograsim.plugin.MachineContext;
import net.mograsim.plugin.MachineContext.ContextObserver;
import net.mograsim.plugin.asm.AsmNumberUtil;
+import net.mograsim.plugin.tables.AddressLabelProvider;
import net.mograsim.plugin.tables.DisplaySettings;
import net.mograsim.plugin.tables.DisplaySettings;
+import net.mograsim.plugin.tables.LazyTableViewer;
import net.mograsim.plugin.tables.NumberColumnLabelProvider;
import net.mograsim.plugin.tables.RadixSelector;
public class MemoryView extends ViewPart implements ContextObserver
{
import net.mograsim.plugin.tables.NumberColumnLabelProvider;
import net.mograsim.plugin.tables.RadixSelector;
public class MemoryView extends ViewPart implements ContextObserver
{
- private TableViewer viewer;
+ private
Lazy
TableViewer viewer;
private MemoryTableContentProvider provider;
private DisplaySettings displaySettings;
private MemoryTableContentProvider provider;
private DisplaySettings displaySettings;
- private String addressFormat;
@Override
public void createPartControl(Composite parent)
@Override
public void createPartControl(Composite parent)
@@
-98,7
+97,7
@@
public class MemoryView extends ViewPart implements ContextObserver
private void createViewer(Composite parent)
{
private void createViewer(Composite parent)
{
- viewer = new TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
+ viewer = new
Lazy
TableViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
createColumns();
Table table = viewer.getTable();
table.setHeaderVisible(true);
createColumns();
Table table = viewer.getTable();
table.setHeaderVisible(true);
@@
-123,15
+122,7
@@
public class MemoryView extends ViewPart implements ContextObserver
int[] bounds = { 100, 100 };
TableViewerColumn col = createTableViewerColumn(titles[0], bounds[0]);
int[] bounds = { 100, 100 };
TableViewerColumn col = createTableViewerColumn(titles[0], bounds[0]);
- col.setLabelProvider(new ColumnLabelProvider()
- {
- @Override
- public String getText(Object element)
- {
- MemoryTableRow row = (MemoryTableRow) element;
- return String.format(addressFormat, row.address);
- }
- });
+ col.setLabelProvider(new AddressLabelProvider());
col = createTableViewerColumn(titles[1], bounds[1]);
col.setLabelProvider(new NumberColumnLabelProvider(displaySettings)
col = createTableViewerColumn(titles[1], bounds[1]);
col.setLabelProvider(new NumberColumnLabelProvider(displaySettings)
@@
-166,14
+157,13
@@
public class MemoryView extends ViewPart implements ContextObserver
private void bindMainMemory(MainMemory m)
{
private void bindMainMemory(MainMemory m)
{
- int hexAddressLength = Long.toUnsignedString(m.getDefinition().getMaximalAddress(), 16).length();
- addressFormat = "0x%0" + hexAddressLength + "X";
viewer.setInput(m);
}
private void setupContextBinding()
{
MachineContext.getInstance().registerObserver(this);
viewer.setInput(m);
}
private void setupContextBinding()
{
MachineContext.getInstance().registerObserver(this);
+ setMachine(Optional.ofNullable(MachineContext.getInstance().getMachine()));
}
@Override
}
@Override