|
Lines 17-30
Link Here
|
| 17 |
import java.util.Iterator; |
17 |
import java.util.Iterator; |
| 18 |
import java.util.List; |
18 |
import java.util.List; |
| 19 |
|
19 |
|
| 20 |
import com.ibm.icu.text.MessageFormat; |
20 |
import org.eclipse.core.commands.operations.IUndoContext; |
| 21 |
|
21 |
import org.eclipse.core.commands.operations.ObjectUndoContext; |
| 22 |
import org.osgi.framework.Bundle; |
22 |
import org.eclipse.core.resources.IFile; |
| 23 |
|
23 |
import org.eclipse.core.resources.IMarker; |
|
|
24 |
import org.eclipse.core.resources.IResource; |
| 25 |
import org.eclipse.core.resources.mapping.ResourceMapping; |
| 26 |
import org.eclipse.core.runtime.CoreException; |
| 27 |
import org.eclipse.core.runtime.IAdaptable; |
| 28 |
import org.eclipse.core.runtime.IAdapterFactory; |
| 29 |
import org.eclipse.core.runtime.IProgressMonitor; |
| 30 |
import org.eclipse.core.runtime.IStatus; |
| 31 |
import org.eclipse.core.runtime.Platform; |
| 32 |
import org.eclipse.core.runtime.Status; |
| 33 |
import org.eclipse.core.runtime.jobs.Job; |
| 24 |
import org.eclipse.help.IContext; |
34 |
import org.eclipse.help.IContext; |
| 25 |
import org.eclipse.help.IContextProvider; |
35 |
import org.eclipse.help.IContextProvider; |
|
|
36 |
import org.eclipse.jface.action.ContributionManager; |
| 37 |
import org.eclipse.jface.action.IAction; |
| 38 |
import org.eclipse.jface.action.MenuManager; |
| 39 |
import org.eclipse.jface.util.IPropertyChangeListener; |
| 40 |
import org.eclipse.jface.util.OpenStrategy; |
| 41 |
import org.eclipse.jface.util.PropertyChangeEvent; |
| 42 |
import org.eclipse.jface.viewers.ColumnPixelData; |
| 43 |
import org.eclipse.jface.viewers.EditingSupport; |
| 44 |
import org.eclipse.jface.viewers.ISelection; |
| 45 |
import org.eclipse.jface.viewers.IStructuredSelection; |
| 46 |
import org.eclipse.jface.viewers.ITreeContentProvider; |
| 47 |
import org.eclipse.jface.viewers.StructuredSelection; |
| 48 |
import org.eclipse.jface.viewers.TableLayout; |
| 49 |
import org.eclipse.jface.viewers.TreeViewer; |
| 50 |
import org.eclipse.jface.viewers.TreeViewerColumn; |
| 51 |
import org.eclipse.jface.viewers.Viewer; |
| 52 |
import org.eclipse.jface.window.SameShellProvider; |
| 53 |
import org.eclipse.jface.window.Window; |
| 26 |
import org.eclipse.osgi.util.NLS; |
54 |
import org.eclipse.osgi.util.NLS; |
| 27 |
|
|
|
| 28 |
import org.eclipse.swt.SWT; |
55 |
import org.eclipse.swt.SWT; |
| 29 |
import org.eclipse.swt.dnd.Clipboard; |
56 |
import org.eclipse.swt.dnd.Clipboard; |
| 30 |
import org.eclipse.swt.dnd.DND; |
57 |
import org.eclipse.swt.dnd.DND; |
|
Lines 50-88
Link Here
|
| 50 |
import org.eclipse.swt.widgets.Scrollable; |
77 |
import org.eclipse.swt.widgets.Scrollable; |
| 51 |
import org.eclipse.swt.widgets.Tree; |
78 |
import org.eclipse.swt.widgets.Tree; |
| 52 |
import org.eclipse.swt.widgets.TreeColumn; |
79 |
import org.eclipse.swt.widgets.TreeColumn; |
| 53 |
|
80 |
import org.eclipse.ui.IActionBars; |
| 54 |
import org.eclipse.core.runtime.CoreException; |
|
|
| 55 |
import org.eclipse.core.runtime.IAdaptable; |
| 56 |
import org.eclipse.core.runtime.IAdapterFactory; |
| 57 |
import org.eclipse.core.runtime.IProgressMonitor; |
| 58 |
import org.eclipse.core.runtime.IStatus; |
| 59 |
import org.eclipse.core.runtime.Platform; |
| 60 |
import org.eclipse.core.runtime.Status; |
| 61 |
import org.eclipse.core.runtime.jobs.Job; |
| 62 |
|
| 63 |
import org.eclipse.core.resources.IFile; |
| 64 |
import org.eclipse.core.resources.IMarker; |
| 65 |
import org.eclipse.core.resources.IResource; |
| 66 |
import org.eclipse.core.resources.mapping.ResourceMapping; |
| 67 |
|
| 68 |
import org.eclipse.jface.action.ContributionManager; |
| 69 |
import org.eclipse.jface.action.MenuManager; |
| 70 |
import org.eclipse.jface.util.IPropertyChangeListener; |
| 71 |
import org.eclipse.jface.util.OpenStrategy; |
| 72 |
import org.eclipse.jface.util.PropertyChangeEvent; |
| 73 |
import org.eclipse.jface.viewers.ColumnPixelData; |
| 74 |
import org.eclipse.jface.viewers.EditingSupport; |
| 75 |
import org.eclipse.jface.viewers.ISelection; |
| 76 |
import org.eclipse.jface.viewers.IStructuredSelection; |
| 77 |
import org.eclipse.jface.viewers.ITreeContentProvider; |
| 78 |
import org.eclipse.jface.viewers.StructuredSelection; |
| 79 |
import org.eclipse.jface.viewers.TableLayout; |
| 80 |
import org.eclipse.jface.viewers.TreeViewer; |
| 81 |
import org.eclipse.jface.viewers.TreeViewerColumn; |
| 82 |
import org.eclipse.jface.viewers.Viewer; |
| 83 |
import org.eclipse.jface.window.SameShellProvider; |
| 84 |
import org.eclipse.jface.window.Window; |
| 85 |
|
| 86 |
import org.eclipse.ui.IEditorInput; |
81 |
import org.eclipse.ui.IEditorInput; |
| 87 |
import org.eclipse.ui.IEditorPart; |
82 |
import org.eclipse.ui.IEditorPart; |
| 88 |
import org.eclipse.ui.IMemento; |
83 |
import org.eclipse.ui.IMemento; |
|
Lines 96-107
Link Here
|
| 96 |
import org.eclipse.ui.OpenAndLinkWithEditorHelper; |
91 |
import org.eclipse.ui.OpenAndLinkWithEditorHelper; |
| 97 |
import org.eclipse.ui.PartInitException; |
92 |
import org.eclipse.ui.PartInitException; |
| 98 |
import org.eclipse.ui.PlatformUI; |
93 |
import org.eclipse.ui.PlatformUI; |
|
|
94 |
import org.eclipse.ui.actions.ActionFactory; |
| 99 |
import org.eclipse.ui.ide.IDE; |
95 |
import org.eclipse.ui.ide.IDE; |
| 100 |
import org.eclipse.ui.ide.ResourceUtil; |
96 |
import org.eclipse.ui.ide.ResourceUtil; |
| 101 |
import org.eclipse.ui.internal.ide.IDEInternalPreferences; |
97 |
import org.eclipse.ui.internal.ide.IDEInternalPreferences; |
| 102 |
import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin; |
98 |
import org.eclipse.ui.internal.ide.IDEWorkbenchPlugin; |
| 103 |
import org.eclipse.ui.internal.ide.StatusUtil; |
99 |
import org.eclipse.ui.internal.ide.StatusUtil; |
| 104 |
import org.eclipse.ui.menus.IMenuService; |
100 |
import org.eclipse.ui.menus.IMenuService; |
|
|
101 |
import org.eclipse.ui.operations.RedoActionHandler; |
| 102 |
import org.eclipse.ui.operations.UndoActionHandler; |
| 105 |
import org.eclipse.ui.part.MarkerTransfer; |
103 |
import org.eclipse.ui.part.MarkerTransfer; |
| 106 |
import org.eclipse.ui.part.ViewPart; |
104 |
import org.eclipse.ui.part.ViewPart; |
| 107 |
import org.eclipse.ui.progress.IWorkbenchSiteProgressService; |
105 |
import org.eclipse.ui.progress.IWorkbenchSiteProgressService; |
|
Lines 113-118
Link Here
|
| 113 |
import org.eclipse.ui.views.markers.internal.MarkerMessages; |
111 |
import org.eclipse.ui.views.markers.internal.MarkerMessages; |
| 114 |
import org.eclipse.ui.views.markers.internal.MarkerSupportRegistry; |
112 |
import org.eclipse.ui.views.markers.internal.MarkerSupportRegistry; |
| 115 |
import org.eclipse.ui.views.tasklist.ITaskListResourceAdapter; |
113 |
import org.eclipse.ui.views.tasklist.ITaskListResourceAdapter; |
|
|
114 |
import org.osgi.framework.Bundle; |
| 115 |
|
| 116 |
import com.ibm.icu.text.MessageFormat; |
| 116 |
|
117 |
|
| 117 |
/** |
118 |
/** |
| 118 |
* The ExtendedMarkersView is the internal implementation of the view that shows |
119 |
* The ExtendedMarkersView is the internal implementation of the view that shows |
|
Lines 297-302
Link Here
|
| 297 |
private String[] defaultGeneratorIds = new String[0]; |
298 |
private String[] defaultGeneratorIds = new String[0]; |
| 298 |
|
299 |
|
| 299 |
private IPropertyChangeListener workingSetListener; |
300 |
private IPropertyChangeListener workingSetListener; |
|
|
301 |
|
| 302 |
private IUndoContext undoContext; |
| 300 |
|
303 |
|
| 301 |
/** |
304 |
/** |
| 302 |
* Return a new instance of the receiver. |
305 |
* Return a new instance of the receiver. |
|
Lines 1450-1461
Link Here
|
| 1450 |
Object service = site.getAdapter(IWorkbenchSiteProgressService.class); |
1453 |
Object service = site.getAdapter(IWorkbenchSiteProgressService.class); |
| 1451 |
if (service != null) |
1454 |
if (service != null) |
| 1452 |
builder.setProgressService((IWorkbenchSiteProgressService) service); |
1455 |
builder.setProgressService((IWorkbenchSiteProgressService) service); |
|
|
1456 |
|
| 1457 |
addUndoRedoSupport(); |
| 1458 |
|
| 1453 |
this.memento = memento; |
1459 |
this.memento = memento; |
| 1454 |
|
1460 |
|
| 1455 |
if (memento == null || memento.getString(TAG_PART_NAME) == null) |
1461 |
if (memento == null || memento.getString(TAG_PART_NAME) == null) |
| 1456 |
return; |
1462 |
return; |
| 1457 |
|
1463 |
|
| 1458 |
setPartName(memento.getString(TAG_PART_NAME)); |
1464 |
setPartName(memento.getString(TAG_PART_NAME)); |
|
|
1465 |
|
| 1466 |
|
| 1459 |
} |
1467 |
} |
| 1460 |
|
1468 |
|
| 1461 |
/** |
1469 |
/** |
|
Lines 1882-1886
Link Here
|
| 1882 |
TreeViewer getViewer() { |
1890 |
TreeViewer getViewer() { |
| 1883 |
return viewer; |
1891 |
return viewer; |
| 1884 |
} |
1892 |
} |
|
|
1893 |
|
| 1894 |
/** |
| 1895 |
* @return true if the view supports undo/redo, else false |
| 1896 |
* @since 3.5 |
| 1897 |
*/ |
| 1898 |
public boolean supportsUndoRedo(){ |
| 1899 |
return true; |
| 1900 |
} |
| 1901 |
|
| 1902 |
/** |
| 1903 |
* @return the IUndoContext |
| 1904 |
* @since 3.5 |
| 1905 |
*/ |
| 1906 |
protected IUndoContext getUndoContext(){ |
| 1907 |
if(!supportsUndoRedo()) |
| 1908 |
return null; |
| 1909 |
if(undoContext==null){ |
| 1910 |
undoContext=new ObjectUndoContext(this); |
| 1911 |
} |
| 1912 |
return undoContext; |
| 1913 |
} |
| 1885 |
|
1914 |
|
|
|
1915 |
/** |
| 1916 |
* Add GlobalActionHandler for Undo/Redo |
| 1917 |
* @since 3.5 |
| 1918 |
*/ |
| 1919 |
protected void addUndoRedoSupport() { |
| 1920 |
if(!supportsUndoRedo()) |
| 1921 |
return; |
| 1922 |
IAction undoAction = new UndoActionHandler(this.getSite(), getUndoContext()); |
| 1923 |
IAction redoAction = new RedoActionHandler(this.getSite(), getUndoContext()); |
| 1924 |
IActionBars actionBars = getViewSite().getActionBars(); |
| 1925 |
actionBars.setGlobalActionHandler(ActionFactory.UNDO.getId(), |
| 1926 |
undoAction); |
| 1927 |
actionBars.setGlobalActionHandler(ActionFactory.REDO.getId(), |
| 1928 |
redoAction); |
| 1929 |
} |
| 1886 |
} |
1930 |
} |