From 0d7e3bcbf0a5256ff2b145750e922c12e6f15bae Mon Sep 17 00:00:00 2001 From: Hoda Amer Date: Tue, 13 Apr 2004 18:03:29 +0000 Subject: [PATCH] Fix for bug#57804 : refactoring. --- core/org.eclipse.cdt.ui/ChangeLog | 3 ++ .../rename/RenameElementProcessor.java | 4 +-- .../cdt/ui/CElementContentProvider.java | 32 ++++++++++++------- 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/core/org.eclipse.cdt.ui/ChangeLog b/core/org.eclipse.cdt.ui/ChangeLog index 8c7d8dd8e5b..172bf4e0ac2 100644 --- a/core/org.eclipse.cdt.ui/ChangeLog +++ b/core/org.eclipse.cdt.ui/ChangeLog @@ -1,3 +1,6 @@ +2004-04-13 Hoda Amer + Fix for bug#57804: [Refactoring] Constructor and Destructor are not refactored when class is defined inside a namespace + 2004-04-13 Hoda Amer From Chris Wiebe This patch makes sure the class wizard works as long as the selection diff --git a/core/org.eclipse.cdt.ui/refactor/org/eclipse/cdt/internal/corext/refactoring/rename/RenameElementProcessor.java b/core/org.eclipse.cdt.ui/refactor/org/eclipse/cdt/internal/corext/refactoring/rename/RenameElementProcessor.java index ab3014c8d6b..fa7a92c4b25 100644 --- a/core/org.eclipse.cdt.ui/refactor/org/eclipse/cdt/internal/corext/refactoring/rename/RenameElementProcessor.java +++ b/core/org.eclipse.cdt.ui/refactor/org/eclipse/cdt/internal/corext/refactoring/rename/RenameElementProcessor.java @@ -406,9 +406,9 @@ public class RenameElementProcessor extends RenameProcessor implements IReferenc ICSearchConstants.TYPE, ICSearchConstants.REFERENCES, false )); IStructure structure = (IStructure) fCElement; if(structure.getElementType() == ICElement.C_CLASS){ - orPattern.addPattern(SearchEngine.createSearchPattern( searchPrefix, + orPattern.addPattern(SearchEngine.createSearchPattern( searchPrefix + "::" + structure.getElementName(), //$NON-NLS-1$ ICSearchConstants.METHOD, ICSearchConstants.ALL_OCCURRENCES, false )); - orPattern.addPattern(SearchEngine.createSearchPattern( "~"+ searchPrefix, //$NON-NLS-1$ + orPattern.addPattern(SearchEngine.createSearchPattern( searchPrefix + "::~" + structure.getElementName(), //$NON-NLS-1$ ICSearchConstants.METHOD, ICSearchConstants.ALL_OCCURRENCES, false )); } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CElementContentProvider.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CElementContentProvider.java index 81b45c10a2a..89e910fd20c 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CElementContentProvider.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/ui/CElementContentProvider.java @@ -253,12 +253,15 @@ public class CElementContentProvider extends BaseCElementContentProvider impleme // 1GF87WR: ITPUI:ALL - SWTEx + NPE closing a workbench window. Control ctrl= fViewer.getControl(); if (ctrl != null && !ctrl.isDisposed()){ - fViewer.refresh(element); if(element instanceof IWorkingCopy){ - fViewer.refresh(((IWorkingCopy)element).getOriginalElement()); + if(fViewer.testFindItem(element) != null){ + fViewer.refresh(element); + }else { + fViewer.refresh(((IWorkingCopy)element).getOriginalElement()); + } + } else { + fViewer.refresh(element); } - - } } }); @@ -271,11 +274,15 @@ public class CElementContentProvider extends BaseCElementContentProvider impleme // 1GF87WR: ITPUI:ALL - SWTEx + NPE closing a workbench window. Control ctrl= fViewer.getControl(); if (ctrl != null && !ctrl.isDisposed()){ - fViewer.refresh(parent); if(parent instanceof IWorkingCopy){ - fViewer.refresh(((IWorkingCopy)parent).getOriginalElement()); + if(fViewer.testFindItem(parent) != null){ + fViewer.refresh(parent); + }else { + fViewer.refresh(((IWorkingCopy)parent).getOriginalElement()); + } + }else { + fViewer.refresh(parent); } - } } }); @@ -289,13 +296,16 @@ public class CElementContentProvider extends BaseCElementContentProvider impleme Control ctrl= fViewer.getControl(); if (ctrl != null && !ctrl.isDisposed()) { Object parent = internalGetParent(element); - fViewer.refresh(parent); if(parent instanceof IWorkingCopy){ - fViewer.refresh(((IWorkingCopy)parent).getOriginalElement()); + if(fViewer.testFindItem(parent) != null){ + fViewer.refresh(parent); + }else { + fViewer.refresh(((IWorkingCopy)parent).getOriginalElement()); + } + }else { + fViewer.refresh(parent); } - } - } }); }