Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] Applied: CDT_1_1 Outliner: PR 36759

Index: ChangeLog
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/ChangeLog,v
retrieving revision 1.94.2.3
diff -u -r1.94.2.3 ChangeLog
--- ChangeLog	29 Apr 2003 19:12:02 -0000	1.94.2.3
+++ ChangeLog	29 Apr 2003 19:21:59 -0000
@@ -1,5 +1,16 @@
 2003-04-29 Alain Magloire
 
+	PR 36759, Outliner did not update.
+
+	* src/org/eclipse/cdt/internal/ui/editor/CEditor.java (setOutlinePageInput):
+	New method to notify the outliner when the input changed.
+	* src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java (createElementInfo):
+	Use getBufferFactory(), parent class may overload.
+	* src/org/eclipse/cdt/internal/ui/editor/CContentOutliner.java (setInput):
+	New method to notify the Outliner that the CEditor changed input.
+
+2003-04-29 Alain Magloire
+
 	* src/org/eclipse/cdt/internal/ui/compare/ComparatorModelBuilder.java:
 	Fix NPE, PR 36976.
 
Index: src/org/eclipse/cdt/internal/ui/editor/CContentOutlinePage.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CContentOutlinePage.java,v
retrieving revision 1.10
diff -u -r1.10 CContentOutlinePage.java
--- src/org/eclipse/cdt/internal/ui/editor/CContentOutlinePage.java	7 Apr 2003 19:06:18 -0000	1.10
+++ src/org/eclipse/cdt/internal/ui/editor/CContentOutlinePage.java	29 Apr 2003 19:21:59 -0000
@@ -9,6 +9,7 @@
 import java.util.Iterator;
 
 import org.eclipse.cdt.core.model.ICElement;
+import org.eclipse.cdt.internal.core.model.IWorkingCopy;
 import org.eclipse.cdt.internal.core.model.WorkingCopy;
 import org.eclipse.cdt.internal.ui.CFileElementWorkingCopy;
 import org.eclipse.cdt.internal.ui.StandardCElementLabelProvider;
@@ -48,7 +49,8 @@
 
 public class CContentOutlinePage extends Page implements IContentOutlinePage, ISelectionChangedListener {
 	private CEditor fEditor;
-	private WorkingCopy fInput;
+	//private WorkingCopy fInput;
+	private IWorkingCopy fInput;
 	private ProblemTreeViewer treeViewer;
 	private ListenerList selectionChangedListeners = new ListenerList();
 	private TogglePresentationAction fTogglePresentation;
@@ -284,5 +286,16 @@
 	public void setSelection(ISelection selection) {
 		if (treeViewer != null) 
 			treeViewer.setSelection(selection);
+	}
+
+	/**
+	 * @param unit
+	 */
+	public void setInput(IWorkingCopy unit) {
+		fInput = unit;
+		if (treeViewer != null) {
+			treeViewer.setInput (fInput);
+		}
+		contentUpdated();		
 	}
 }
Index: src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java,v
retrieving revision 1.13
diff -u -r1.13 CDocumentProvider.java
--- src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java	21 Apr 2003 16:21:26 -0000	1.13
+++ src/org/eclipse/cdt/internal/ui/editor/CDocumentProvider.java	29 Apr 2003 19:21:59 -0000
@@ -194,7 +194,8 @@
 				}
 				
 				IAnnotationModel m= createAnnotationModel(input);
-				IWorkingCopy c= (IWorkingCopy) original.getSharedWorkingCopy(getProgressMonitor(), fBufferFactory);
+				IBufferFactory factory = getBufferFactory();
+				IWorkingCopy c= (IWorkingCopy) original.getSharedWorkingCopy(getProgressMonitor(), factory);
 				
 				DocumentAdapter a= null;
 				try {
@@ -321,6 +322,7 @@
 	public IBufferFactory getBufferFactory() {
 		return fBufferFactory;
 	}
+
 	/**
 	 * Returns the underlying resource for the given element.
 	 * 
Index: src/org/eclipse/cdt/internal/ui/editor/CEditor.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/editor/CEditor.java,v
retrieving revision 1.23
diff -u -r1.23 CEditor.java
--- src/org/eclipse/cdt/internal/ui/editor/CEditor.java	21 Apr 2003 17:05:46 -0000	1.23
+++ src/org/eclipse/cdt/internal/ui/editor/CEditor.java	29 Apr 2003 19:22:00 -0000
@@ -16,11 +16,13 @@
 import org.eclipse.cdt.core.model.ISourceRange;
 import org.eclipse.cdt.core.model.ISourceReference;
 import org.eclipse.cdt.core.model.ITranslationUnit;
+import org.eclipse.cdt.internal.core.model.IWorkingCopy;
 import org.eclipse.cdt.internal.ui.IContextMenuConstants;
 import org.eclipse.cdt.internal.ui.text.CPairMatcher;
 import org.eclipse.cdt.internal.ui.text.CSourceViewerConfiguration;
 import org.eclipse.cdt.internal.ui.text.CTextTools;
 import org.eclipse.cdt.ui.CUIPlugin;
+import org.eclipse.cdt.ui.IWorkingCopyManager;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.IMarker;
 import org.eclipse.core.resources.IProject;
@@ -139,6 +141,7 @@
 	protected void doSetInput(IEditorInput input) throws CoreException {
 		super.doSetInput(input);
 		fCEditorErrorTickUpdater.setAnnotationModel(getDocumentProvider().getAnnotationModel(input));
+		setOutlinePageInput(fOutlinePage, input);
 	}
 
 	/**
@@ -418,6 +421,13 @@
 		addAction(menu, IContextMenuConstants.GROUP_GENERATE, "ContentAssistProposal"); //$NON-NLS-1$
 		addAction(menu, IContextMenuConstants.GROUP_GENERATE, "AddIncludeOnSelection"); //$NON-NLS-1$
 		addAction(menu, IContextMenuConstants.GROUP_GENERATE, "OpenOnSelection"); //$NON-NLS-1$
+	}
+
+	public void setOutlinePageInput(CContentOutlinePage page, IEditorInput input) {
+		if (page != null) {
+			IWorkingCopyManager manager = CUIPlugin.getDefault().getWorkingCopyManager();
+			page.setInput((IWorkingCopy)manager.getWorkingCopy(input));
+		}
 	}
 
 	/**



Back to the top