diff options
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java')
-rw-r--r-- | org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java | 199 |
1 files changed, 96 insertions, 103 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java index 8069d259b..11c75b43a 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/memory/renderings/AsyncTableRenderingViewer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2012 IBM Corporation and others. + * Copyright (c) 2006, 2018 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -38,8 +38,6 @@ import org.eclipse.jface.viewers.TextCellEditor; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.TableCursor; import org.eclipse.swt.custom.TableEditor; -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.events.KeyAdapter; import org.eclipse.swt.events.KeyEvent; import org.eclipse.swt.events.MouseAdapter; @@ -166,11 +164,7 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { fTableCursor.addKeyListener(fCursorKeyAdapter); - fCursorTraverseListener = new TraverseListener() { - @Override - public void keyTraversed(TraverseEvent e) { - handleCursorTraverseEvt(e); - }}; + fCursorTraverseListener = e -> handleCursorTraverseEvt(e); fTableCursor.addTraverseListener(fCursorTraverseListener); @@ -183,16 +177,15 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { // cursor may be disposed before disposed is called // remove listeners whenever the cursor is disposed - fTableCursor.addDisposeListener(new DisposeListener() { - @Override - public void widgetDisposed(DisposeEvent e) { - if (fTableCursor == null) - return; - fTableCursor.removeTraverseListener(fCursorTraverseListener); - fTableCursor.removeKeyListener(fCursorKeyAdapter); - fTableCursor.removeMouseListener(fCursorMouseListener); - fTableCursor.removeSelectionListener(fCursorSelectionListener); - }}); + fTableCursor.addDisposeListener(e -> { + if (fTableCursor == null) { + return; + } + fTableCursor.removeTraverseListener(fCursorTraverseListener); + fTableCursor.removeKeyListener(fCursorKeyAdapter); + fTableCursor.removeMouseListener(fCursorMouseListener); + fTableCursor.removeSelectionListener(fCursorSelectionListener); + }); fCursorSelectionListener = new SelectionAdapter() { @Override @@ -231,14 +224,16 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { if (e.button == 1) { int col = fTableCursor.getColumn(); - if (col > 0 && col <= (getNumCol())) + if (col > 0 && col <= (getNumCol())) { activateCellEditor(null); + } } } private void handleCursorTraverseEvt(TraverseEvent e){ - if (fTableCursor.getRow() == null) + if (fTableCursor.getRow() == null) { return; + } Table table = (Table)fTableCursor.getParent(); int row = table.indexOf(fTableCursor.getRow()); @@ -319,8 +314,9 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { synchronized private Object doAttemptSetKeySelection(final Object key) { - if (getBufferTopKey() == null || getBufferEndKey() == null) + if (getBufferTopKey() == null || getBufferEndKey() == null) { return key; + } // calculate selected row address int[] location = getCoordinatesFromKey(key); @@ -337,11 +333,13 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) { DebugUIPlugin.trace(getRendering() + " set cursor selection " + ((BigInteger)key).toString(16)); //$NON-NLS-1$ } - if (fPendingSelection != null && fPendingSelection != key) + if (fPendingSelection != null && fPendingSelection != key) { return Status.OK_STATUS; + } - if (fTableCursor.isDisposed()) + if (fTableCursor.isDisposed()) { return Status.OK_STATUS; + } // by the time this is called, the location may not be valid anymore int[] newLocation = getCoordinatesFromKey(key); @@ -431,8 +429,9 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { { AbstractVirtualContentTableModel model = getVirtualContentModel(); - if (model != null) + if (model != null) { return getKey(model.getElements().length-1); + } return null; } @@ -440,8 +439,9 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { { int idx = -1; AbstractVirtualContentTableModel model = getVirtualContentModel(); - if (model != null) + if (model != null) { idx = model.indexOfKey(key); + } return idx; } @@ -470,8 +470,9 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { public Object getKey(int row, int col) { AbstractVirtualContentTableModel model = getVirtualContentModel(); - if (model != null) + if (model != null) { return model.getKey(row, col); + } return null; } @@ -500,10 +501,11 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { } } - if (fPendingSelection != null) + if (fPendingSelection != null) { oldSelectionKey = fPendingSelection; - else + } else { oldSelectionKey = getSelectionKey(); + } if (DebugUIPlugin.DEBUG_DYNAMIC_LOADING) { @@ -576,8 +578,9 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { { if (!fTableCursor.isDisposed()) { - if (fTableCursor.isVisible() != show) + if (fTableCursor.isVisible() != show) { fTableCursor.setVisible(show); + } } } else @@ -588,8 +591,9 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { public IStatus runInUIThread(IProgressMonitor monitor) { if (!fTableCursor.isDisposed()) { - if (fTableCursor.isVisible() != show) + if (fTableCursor.isVisible() != show) { fTableCursor.setVisible(show); + } } return Status.OK_STATUS; }}; @@ -622,13 +626,15 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { } } } - if (colNum >= 0) + if (colNum >= 0) { break; + } } // if column position cannot be determined, return - if (colNum < 1) + if (colNum < 1) { return; + } // handle user mouse click onto table // move cursor to new position @@ -656,8 +662,9 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { final int col = fTableCursor.getColumn(); final int row = indexOf(fSelectionKey); - if (row < 0) + if (row < 0) { return; + } // do not allow user to edit address column if (col == 0 || col > getNumCol()) { @@ -678,8 +685,9 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { boolean canEdit = cellModifier .canModify(element, (String) property); - if (!canEdit) + if (!canEdit) { return; + } CellEditor editor = getCellEditors()[col]; if (editor != null) { @@ -754,43 +762,36 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { private void handleKeyEventInEditor(KeyEvent event) { final KeyEvent e = event; - Display.getDefault().asyncExec(new Runnable() - { - @Override - public void run() + Display.getDefault().asyncExec(() -> { + Object obj = e.getSource(); + if (obj instanceof Control) { - Object obj = e.getSource(); - if (obj instanceof Control) - { - Control control = (Control)obj; - int row = fCellEditorListener.getRow(); - int col = fCellEditorListener.getCol(); + Control control = (Control) obj; + int row = fCellEditorListener.getRow(); + int col = fCellEditorListener.getCol(); - try + try + { + switch (e.keyCode) { - switch (e.keyCode) - { - case 0: - doHandleKeyEvent(row, col); - break; - case SWT.ESC: - cancelEditing(row, col); - break; - default : - doHandleKeyEvent(row, col); + case 0: + doHandleKeyEvent(row, col); + break; + case SWT.ESC: + cancelEditing(row, col); break; - } + default: + doHandleKeyEvent(row, col); + break; } - catch (NumberFormatException e1) - { - MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title, + } catch (NumberFormatException e1) { + MemoryViewUtil.openError(DebugUIMessages.MemoryViewCellModifier_failure_title, DebugUIMessages.MemoryViewCellModifier_data_is_invalid, null); - fTableCursor.setSelection(row, col); - handleCursorMoved(); + fTableCursor.setSelection(row, col); + handleCursorMoved(); - removeListeners(control); - } + removeListeners(control); } } }); @@ -940,12 +941,13 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { public void formatViewer() { - if (getModel() == null || !hasPendingUpdates()) + if (getModel() == null || !hasPendingUpdates()) { doFormatViewer(); - else + } else { // do not format in the middle of an update // set pending update and will format when update is completed fPendingFormatViewer = true; + } } /** @@ -953,18 +955,14 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { */ private void doFormatViewer() { fPendingFormatViewer = false; - preservingSelection(new Runnable() { - - @Override - public void run() { - // causes the content of the table viewer to be replaced - // without asking content adapter for content - AbstractVirtualContentTableModel model = getVirtualContentModel(); - if (model != null) - { - model.handleViewerChanged(); - } - }}); + preservingSelection(() -> { + // causes the content of the table viewer to be replaced + // without asking content adapter for content + AbstractVirtualContentTableModel model = getVirtualContentModel(); + if (model != null) { + model.handleViewerChanged(); + } + }); } private void fireSelectionChanged(Object selectionKey) @@ -984,22 +982,18 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { @Override public void refresh(boolean getContent) { - if (getContent) + if (getContent) { refresh(); - else + } else { - preservingSelection(new Runnable() { - - @Override - public void run() { - AbstractVirtualContentTableModel model = getVirtualContentModel(); - if (model != null) - { - Object[] elements = model.getElements(); - model.remove(elements); - model.add(elements); - } - }}); + preservingSelection(() -> { + AbstractVirtualContentTableModel model = getVirtualContentModel(); + if (model != null) { + Object[] elements = model.getElements(); + model.remove(elements); + model.add(elements); + } + }); } } @@ -1011,10 +1005,11 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { // TODO: work around swt bug, must force a table cursor redraw after top index is changed // BUG 130130 int[] coordinates = getCoordinatesFromKey(getSelectionKey()); - if (coordinates.length > 0) + if (coordinates.length > 0) { fTableCursor.setVisible(true); - else + } else { fTableCursor.setVisible(false); + } } } @@ -1045,17 +1040,15 @@ public class AsyncTableRenderingViewer extends AsyncVirtualContentTableViewer { // and the cursor should not be redrawn yet. if (!hasPendingSetTopIndex()) { - preservingSelection(new Runnable() { + preservingSelection(() -> { - @Override - public void run() { - - int[] coordinates = getCoordinatesFromKey(getSelectionKey()); - if (coordinates.length > 0) - fTableCursor.setVisible(true); - else - fTableCursor.setVisible(false); - }}); + int[] coordinates = getCoordinatesFromKey(getSelectionKey()); + if (coordinates.length > 0) { + fTableCursor.setVisible(true); + } else { + fTableCursor.setVisible(false); + } + }); } } |