Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualCopyToClipboardActionDelegate.java')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualCopyToClipboardActionDelegate.java240
1 files changed, 120 insertions, 120 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualCopyToClipboardActionDelegate.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualCopyToClipboardActionDelegate.java
index 2425e4e3c..cdc5dfd0b 100644
--- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualCopyToClipboardActionDelegate.java
+++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/viewers/model/VirtualCopyToClipboardActionDelegate.java
@@ -65,50 +65,50 @@ public class VirtualCopyToClipboardActionDelegate extends AbstractDebugActionDel
private class VirtualViewerListener implements ILabelUpdateListener, IVirtualItemListener {
VirtualTreeModelViewer fVirtualViewer;
- IProgressMonitor fProgressMonitor;
- int fSelectionRootDepth;
+ IProgressMonitor fProgressMonitor;
+ int fSelectionRootDepth;
Set<VirtualItem> fItemsToUpdate;
- @Override
+ @Override
public void labelUpdateStarted(ILabelUpdate update) {}
- @Override
+ @Override
public void labelUpdateComplete(ILabelUpdate update) {
- VirtualItem updatedItem = fVirtualViewer.findItem(update.getElementPath());
- if (fItemsToUpdate.remove(updatedItem)) {
- incrementProgress(1);
- }
- }
- @Override
+ VirtualItem updatedItem = fVirtualViewer.findItem(update.getElementPath());
+ if (fItemsToUpdate.remove(updatedItem)) {
+ incrementProgress(1);
+ }
+ }
+ @Override
public void labelUpdatesBegin() {
- }
- @Override
+ }
+ @Override
public void labelUpdatesComplete() {
- }
+ }
- @Override
+ @Override
public void revealed(VirtualItem item) {
- }
+ }
- @Override
+ @Override
public void disposed(VirtualItem item) {
- if (fItemsToUpdate.remove(item)) {
- incrementProgress(1);
- }
- }
-
- private void incrementProgress(int count) {
- IProgressMonitor pm;
- synchronized (VirtualCopyToClipboardActionDelegate.this) {
- pm = fProgressMonitor;
- }
- if (pm != null) {
- pm.worked(count);
- if (fItemsToUpdate.isEmpty()) {
- pm.done();
- }
- }
- }
- }
+ if (fItemsToUpdate.remove(item)) {
+ incrementProgress(1);
+ }
+ }
+
+ private void incrementProgress(int count) {
+ IProgressMonitor pm;
+ synchronized (VirtualCopyToClipboardActionDelegate.this) {
+ pm = fProgressMonitor;
+ }
+ if (pm != null) {
+ pm.worked(count);
+ if (fItemsToUpdate.isEmpty()) {
+ pm.done();
+ }
+ }
+ }
+ }
/**
* @see AbstractDebugActionDelegate#initialize(IAction, ISelection)
@@ -176,76 +176,76 @@ public class VirtualCopyToClipboardActionDelegate extends AbstractDebugActionDel
Set<VirtualItem> fItemsToCopy = Collections.EMPTY_SET;
Set<VirtualItem> fItemsToValidate = Collections.EMPTY_SET;
- @Override
+ @Override
public boolean isItemVisible(VirtualItem item) {
- return fItemsToValidate.contains(item);
- }
+ return fItemsToValidate.contains(item);
+ }
- @Override
+ @Override
public void showItem(VirtualItem item) {
- }
+ }
void setItemsToCopy(Set<VirtualItem> itemsToCopy) {
- fItemsToCopy = itemsToCopy;
+ fItemsToCopy = itemsToCopy;
fItemsToValidate = new HashSet<>();
for (VirtualItem itemToCopy : itemsToCopy) {
- while (itemToCopy != null) {
- fItemsToValidate.add(itemToCopy);
- itemToCopy = itemToCopy.getParent();
- }
- }
- }
+ while (itemToCopy != null) {
+ fItemsToValidate.add(itemToCopy);
+ itemToCopy = itemToCopy.getParent();
+ }
+ }
+ }
}
private VirtualTreeModelViewer initVirtualViewer(TreeModelViewer clientViewer, VirtualViewerListener listener, ItemsToCopyVirtualItemValidator validator) {
- Object input = clientViewer.getInput();
- ModelDelta stateDelta = new ModelDelta(input, IModelDelta.NO_CHANGE);
- clientViewer.saveElementState(TreePath.EMPTY, stateDelta, IModelDelta.EXPAND);
- VirtualTreeModelViewer virtualViewer = new VirtualTreeModelViewer(
- clientViewer.getDisplay(),
- SWT.VIRTUAL,
- clientViewer.getPresentationContext(),
- validator);
- virtualViewer.setFilters(clientViewer.getFilters());
- virtualViewer.addLabelUpdateListener(listener);
- virtualViewer.getTree().addItemListener(listener);
- String[] columns = clientViewer.getPresentationContext().getColumns();
- virtualViewer.setInput(input);
- if (virtualViewer.canToggleColumns()) {
- virtualViewer.setShowColumns(clientViewer.isShowColumns());
- virtualViewer.setVisibleColumns(columns);
- }
- virtualViewer.updateViewer(stateDelta);
-
- // Parse selected items from client viewer and add them to the virtual viewer selection.
- listener.fSelectionRootDepth = Integer.MAX_VALUE;
- TreeItem[] selection = getSelectedItems(clientViewer);
+ Object input = clientViewer.getInput();
+ ModelDelta stateDelta = new ModelDelta(input, IModelDelta.NO_CHANGE);
+ clientViewer.saveElementState(TreePath.EMPTY, stateDelta, IModelDelta.EXPAND);
+ VirtualTreeModelViewer virtualViewer = new VirtualTreeModelViewer(
+ clientViewer.getDisplay(),
+ SWT.VIRTUAL,
+ clientViewer.getPresentationContext(),
+ validator);
+ virtualViewer.setFilters(clientViewer.getFilters());
+ virtualViewer.addLabelUpdateListener(listener);
+ virtualViewer.getTree().addItemListener(listener);
+ String[] columns = clientViewer.getPresentationContext().getColumns();
+ virtualViewer.setInput(input);
+ if (virtualViewer.canToggleColumns()) {
+ virtualViewer.setShowColumns(clientViewer.isShowColumns());
+ virtualViewer.setVisibleColumns(columns);
+ }
+ virtualViewer.updateViewer(stateDelta);
+
+ // Parse selected items from client viewer and add them to the virtual viewer selection.
+ listener.fSelectionRootDepth = Integer.MAX_VALUE;
+ TreeItem[] selection = getSelectedItems(clientViewer);
Set<VirtualItem> vSelection = new HashSet<>(selection.length * 4 / 3);
- for (int i = 0; i < selection.length; i++) {
- TreePath parentPath = fClientViewer.getTreePathFromItem(selection[i].getParentItem());
- listener.fSelectionRootDepth = Math.min(parentPath.getSegmentCount() + 1, listener.fSelectionRootDepth);
- VirtualItem parentVItem = virtualViewer.findItem(parentPath);
- if (parentVItem != null) {
- int index = -1;
- TreeItem parentItem = selection[i].getParentItem();
- if (parentItem != null) {
- index = parentItem.indexOf(selection[i]);
- } else {
- Tree parentTree = selection[i].getParent();
- index = parentTree.indexOf(selection[i]);
- }
- index = ((ITreeModelContentProvider)clientViewer.getContentProvider()).viewToModelIndex(parentPath, index);
- vSelection.add( parentVItem.getItem(new Index(index)) );
- }
- }
- validator.setItemsToCopy(vSelection);
+ for (int i = 0; i < selection.length; i++) {
+ TreePath parentPath = fClientViewer.getTreePathFromItem(selection[i].getParentItem());
+ listener.fSelectionRootDepth = Math.min(parentPath.getSegmentCount() + 1, listener.fSelectionRootDepth);
+ VirtualItem parentVItem = virtualViewer.findItem(parentPath);
+ if (parentVItem != null) {
+ int index = -1;
+ TreeItem parentItem = selection[i].getParentItem();
+ if (parentItem != null) {
+ index = parentItem.indexOf(selection[i]);
+ } else {
+ Tree parentTree = selection[i].getParent();
+ index = parentTree.indexOf(selection[i]);
+ }
+ index = ((ITreeModelContentProvider)clientViewer.getContentProvider()).viewToModelIndex(parentPath, index);
+ vSelection.add( parentVItem.getItem(new Index(index)) );
+ }
+ }
+ validator.setItemsToCopy(vSelection);
listener.fItemsToUpdate = new HashSet<>(vSelection);
- virtualViewer.getTree().validate();
- return virtualViewer;
+ virtualViewer.getTree().validate();
+ return virtualViewer;
}
protected TreeItem[] getSelectedItems(TreeModelViewer clientViewer) {
- return clientViewer.getTree().getSelection();
+ return clientViewer.getTree().getSelection();
}
/**
@@ -254,9 +254,9 @@ public class VirtualCopyToClipboardActionDelegate extends AbstractDebugActionDel
*/
@Override
public void run(final IAction action) {
- if (fClientViewer.getSelection().isEmpty()) {
- return;
- }
+ if (fClientViewer.getSelection().isEmpty()) {
+ return;
+ }
final VirtualViewerListener listener = new VirtualViewerListener();
ItemsToCopyVirtualItemValidator validator = new ItemsToCopyVirtualItemValidator();
@@ -270,17 +270,17 @@ public class VirtualCopyToClipboardActionDelegate extends AbstractDebugActionDel
IRunnableWithProgress runnable = new IRunnableWithProgress() {
@Override
public void run(final IProgressMonitor m) throws InvocationTargetException, InterruptedException {
- synchronized(listener) {
- listener.fProgressMonitor = m;
- listener.fProgressMonitor.beginTask(DebugUIPlugin.removeAccelerators(getAction().getText()), listener.fItemsToUpdate.size());
- }
-
- while (!listener.fItemsToUpdate.isEmpty() && !listener.fProgressMonitor.isCanceled()) {
- Thread.sleep(1);
- }
- synchronized(listener) {
- listener.fProgressMonitor = null;
- }
+ synchronized(listener) {
+ listener.fProgressMonitor = m;
+ listener.fProgressMonitor.beginTask(DebugUIPlugin.removeAccelerators(getAction().getText()), listener.fItemsToUpdate.size());
+ }
+
+ while (!listener.fItemsToUpdate.isEmpty() && !listener.fProgressMonitor.isCanceled()) {
+ Thread.sleep(1);
+ }
+ synchronized(listener) {
+ listener.fProgressMonitor = null;
+ }
}
};
try {
@@ -293,24 +293,24 @@ public class VirtualCopyToClipboardActionDelegate extends AbstractDebugActionDel
}
if (!monitor.isCanceled()) {
- copySelectionToClipboard(virtualViewer, validator.fItemsToCopy, listener.fSelectionRootDepth);
+ copySelectionToClipboard(virtualViewer, validator.fItemsToCopy, listener.fSelectionRootDepth);
}
- virtualViewer.removeLabelUpdateListener(listener);
- virtualViewer.getTree().removeItemListener(listener);
+ virtualViewer.removeLabelUpdateListener(listener);
+ virtualViewer.getTree().removeItemListener(listener);
virtualViewer.dispose();
}
private void copySelectionToClipboard(VirtualTreeModelViewer virtualViewer, Set<VirtualItem> itemsToCopy, int selectionRootDepth) {
- StringBuffer buffer = new StringBuffer();
- writeItemToBuffer (virtualViewer.getTree(), itemsToCopy, buffer, -selectionRootDepth);
- writeBufferToClipboard(buffer);
+ StringBuffer buffer = new StringBuffer();
+ writeItemToBuffer (virtualViewer.getTree(), itemsToCopy, buffer, -selectionRootDepth);
+ writeBufferToClipboard(buffer);
}
protected void writeItemToBuffer(VirtualItem item, Set<VirtualItem> itemsToCopy, StringBuffer buffer, int indent) {
- if (itemsToCopy.contains(item)) {
- append(item, buffer, indent);
- }
+ if (itemsToCopy.contains(item)) {
+ append(item, buffer, indent);
+ }
VirtualItem[] children = item.getItems();
if (children != null) {
for (int i = 0; i < children.length; i++) {
@@ -324,8 +324,8 @@ public class VirtualCopyToClipboardActionDelegate extends AbstractDebugActionDel
return;
}
- TextTransfer plainTextTransfer = TextTransfer.getInstance();
- Clipboard clipboard= new Clipboard(fClientViewer.getControl().getDisplay());
+ TextTransfer plainTextTransfer = TextTransfer.getInstance();
+ Clipboard clipboard= new Clipboard(fClientViewer.getControl().getDisplay());
try {
clipboard.setContents(
new String[]{buffer.toString()},
@@ -338,7 +338,7 @@ public class VirtualCopyToClipboardActionDelegate extends AbstractDebugActionDel
writeBufferToClipboard(buffer);
}
} finally {
- clipboard.dispose();
+ clipboard.dispose();
}
}
@@ -359,11 +359,11 @@ public class VirtualCopyToClipboardActionDelegate extends AbstractDebugActionDel
@Override
protected boolean getEnableStateForSelection(IStructuredSelection selection) {
- if (selection.isEmpty()) {
- return true;
- } else {
- return super.getEnableStateForSelection(selection);
- }
+ if (selection.isEmpty()) {
+ return true;
+ } else {
+ return super.getEnableStateForSelection(selection);
+ }
}
@Override

Back to the top