Changeset 4 for trunk/src/org/modelica
- Timestamp:
- 09/08/05 19:40:05 (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/modelica/mdt/ProjectsView.java
r2 r4 5 5 import org.eclipse.core.resources.IProject; 6 6 import org.eclipse.core.resources.IResource; 7 import org.eclipse.core.resources.IResourceChangeEvent; 8 import org.eclipse.core.resources.IResourceChangeListener; 9 import org.eclipse.core.resources.IWorkspace; 7 10 import org.eclipse.core.resources.ResourcesPlugin; 8 11 import org.eclipse.core.runtime.CoreException; … … 26 29 private TreeViewer viewer; 27 30 private DrillDownAdapter drillDownAdapter; 31 private IResourceChangeListener resourceListener; 32 33 34 public class ProjectsLabelProvider extends WorkbenchLabelProvider 35 { 36 37 } 28 38 29 39 public class ProjectsTreeContentProvider implements ITreeContentProvider … … 31 41 32 42 public Object[] getElements(Object inputElement) 33 { 43 { 34 44 return getChildren(inputElement); 35 //return ((IWorkspaceRoot)inputElement).getProjects();36 45 } 37 46 … … 42 51 public void inputChanged(Viewer viewer, Object oldInput, Object newInput) 43 52 { 44 //TODO figure out what the heck this method is doing45 System.out.println("input changed !!!");46 53 } 47 54 … … 91 98 public void createPartControl(Composite parent) 92 99 { 100 IWorkspace workspace = ResourcesPlugin.getWorkspace(); 93 101 viewer = 94 102 new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); 95 103 96 104 viewer.setContentProvider(new ProjectsTreeContentProvider()); 97 viewer.setLabelProvider(new WorkbenchLabelProvider()); 98 viewer.setInput(ResourcesPlugin.getWorkspace().getRoot()); 105 viewer.setLabelProvider(new ProjectsLabelProvider()); 106 viewer.setInput(workspace.getRoot()); 107 99 108 drillDownAdapter = new DrillDownAdapter(viewer); 100 109 101 110 hookContextMenu(); 111 112 resourceListener = new IResourceChangeListener() 113 { 114 public void resourceChanged(IResourceChangeEvent event) 115 { 116 if (event.getType() != IResourceChangeEvent.POST_CHANGE) 117 { 118 return; 119 } 120 121 //TODO this must be made more selective 122 // a list of objects (tree-nodes) need to be made 123 // from resource delta and posted to UI thread 124 // se http://www.eclipse.org/articles/Article-Resource-deltas/resource-deltas.html 125 getViewSite().getShell().getDisplay().asyncExec(new Runnable() 126 { 127 public void run() 128 { 129 viewer.refresh(true); 130 } 131 }); 132 } 133 }; 134 workspace.addResourceChangeListener(resourceListener); 102 135 } 103 136 … … 108 141 } 109 142 110 private void hookContextMenu() { 143 private void hookContextMenu() 144 { 111 145 MenuManager menuMgr = new MenuManager("#PopupMenu"); 112 146 menuMgr.setRemoveAllWhenShown(true); 113 menuMgr.addMenuListener(new IMenuListener() { 114 public void menuAboutToShow(IMenuManager manager) { 147 menuMgr.addMenuListener(new IMenuListener() 148 { 149 public void menuAboutToShow(IMenuManager manager) 150 { 115 151 ProjectsView.this.fillContextMenu(manager); 116 152 } … … 129 165 } 130 166 167 @Override 168 public void dispose() 169 { 170 super.dispose(); 171 ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceListener); 172 } 173 131 174 }
Note: See TracChangeset
for help on using the changeset viewer.