projects
/
Mograsim.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
925846d
)
Quick fix for MemoryEditor CellEditor using the wrong Font
author
Fabian Stemmler
<stemmler@in.tum.de>
Sat, 5 Oct 2019 21:53:05 +0000
(23:53 +0200)
committer
Fabian Stemmler
<stemmler@in.tum.de>
Sat, 5 Oct 2019 21:53:20 +0000
(23:53 +0200)
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/editors/MemoryEditor.java
patch
|
blob
|
history
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/NumberCellEditingSupport.java
patch
|
blob
|
history
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/memory/MemoryCellEditingSupport.java
patch
|
blob
|
history
diff --git
a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/editors/MemoryEditor.java
b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/editors/MemoryEditor.java
index
b367f3a
..
c1268fe
100644
(file)
--- a/
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/editors/MemoryEditor.java
+++ b/
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/editors/MemoryEditor.java
@@
-3,6
+3,8
@@
package net.mograsim.plugin.editors;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigInteger;
import java.io.IOException;
import java.io.InputStream;
import java.math.BigInteger;
+import java.util.Collection;
+import java.util.HashSet;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.CoreException;
@@
-11,10
+13,12
@@
import org.eclipse.jface.util.IPropertyChangeListener;
import org.eclipse.jface.util.SafeRunnable;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.swt.SWT;
import org.eclipse.jface.util.SafeRunnable;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.TableColumn;
@@
-55,6
+59,8
@@
public class MemoryEditor extends EditorPart
private MemoryTableContentProvider provider;
private DisplaySettings displaySettings;
private MemoryTableContentProvider provider;
private DisplaySettings displaySettings;
+ private Collection<Control> fontDependent = new HashSet<>();
+
private boolean dirty;
private final MemoryCellModifiedListener memListener;
private boolean dirty;
private final MemoryCellModifiedListener memListener;
@@
-141,6
+147,7
@@
public class MemoryEditor extends EditorPart
private void createViewer(Composite parent)
{
viewer = new LazyTableViewer(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
private void createViewer(Composite parent)
{
viewer = new LazyTableViewer(parent, SWT.FULL_SELECTION | SWT.BORDER | SWT.VIRTUAL);
+ fontDependent.add(viewer.getTable());
createColumns();
Table table = viewer.getTable();
table.setHeaderVisible(true);
createColumns();
Table table = viewer.getTable();
table.setHeaderVisible(true);
@@
-167,7
+174,9
@@
public class MemoryEditor extends EditorPart
private void updateFont(ITheme theme)
{
private void updateFont(ITheme theme)
{
- viewer.getTable().setFont(theme.getFontRegistry().get(font));
+ 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 createColumns()
}
private void createColumns()
@@
-191,7
+200,9
@@
public class MemoryEditor extends EditorPart
return ((MemoryTableRow) element).getMemory().getDefinition().getCellWidth();
}
});
return ((MemoryTableRow) element).getMemory().getDefinition().getCellWidth();
}
});
- dataCol.setEditingSupport(new MemoryCellEditingSupport(viewer, displaySettings));
+ MemoryCellEditingSupport eSup;
+ dataCol.setEditingSupport(eSup = new MemoryCellEditingSupport(viewer, displaySettings));
+ fontDependent.add(eSup.getCellEditorControl());
}
private TableViewerColumn createTableViewerColumn(String title, int width)
}
private TableViewerColumn createTableViewerColumn(String title, int width)
diff --git
a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/NumberCellEditingSupport.java
b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/NumberCellEditingSupport.java
index
b28c5b9
..
a358225
100644
(file)
--- a/
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/NumberCellEditingSupport.java
+++ b/
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/NumberCellEditingSupport.java
@@
-12,7
+12,7
@@
import net.mograsim.plugin.asm.AsmNumberUtil;
public abstract class NumberCellEditingSupport extends EditingSupport
{
private final TableViewer viewer;
public abstract class NumberCellEditingSupport extends EditingSupport
{
private final TableViewer viewer;
- pr
ivate
final CellEditor editor;
+ pr
otected
final CellEditor editor;
private final DisplaySettings displaySettings;
public NumberCellEditingSupport(TableViewer viewer, DisplaySettings displaySettings)
private final DisplaySettings displaySettings;
public NumberCellEditingSupport(TableViewer viewer, DisplaySettings displaySettings)
diff --git
a/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/memory/MemoryCellEditingSupport.java
b/plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/memory/MemoryCellEditingSupport.java
index
deaabe2
..
6f689e7
100644
(file)
--- a/
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/memory/MemoryCellEditingSupport.java
+++ b/
plugins/net.mograsim.plugin.core/src/net/mograsim/plugin/tables/memory/MemoryCellEditingSupport.java
@@
-3,6
+3,7
@@
package net.mograsim.plugin.tables.memory;
import java.math.BigInteger;
import org.eclipse.jface.viewers.TableViewer;
import java.math.BigInteger;
import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.widgets.Control;
import net.mograsim.plugin.tables.DisplaySettings;
import net.mograsim.plugin.tables.NumberCellEditingSupport;
import net.mograsim.plugin.tables.DisplaySettings;
import net.mograsim.plugin.tables.NumberCellEditingSupport;
@@
-33,4
+34,9
@@
public class MemoryCellEditingSupport extends NumberCellEditingSupport
{
return ((MemoryTableRow) element).getMemory().getDefinition().getCellWidth();
}
{
return ((MemoryTableRow) element).getMemory().getDefinition().getCellWidth();
}
+
+ public Control getCellEditorControl()
+ {
+ return editor.getControl();
+ }
}
\ No newline at end of file
}
\ No newline at end of file