mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-29 11:13:34 +02:00
2004-08-04 Alain Magloire
Fix ShowInCView class * src/org/eclipse/cdt/internal/ui/BaseCElementContentProvider.java * src/org/eclipse/cdt/ui/CElementGrouping.java * src/org/eclipse/cdt/ui/Includes/Grouping.java * src/org/eclipse/cdt/ui/actions/ShowInCViewAction.java
This commit is contained in:
parent
2e49ff5679
commit
53bb3add57
5 changed files with 35 additions and 4 deletions
|
@ -1,3 +1,11 @@
|
||||||
|
2004-08-04 Alain Magloire
|
||||||
|
|
||||||
|
Fix ShowInCView class
|
||||||
|
* src/org/eclipse/cdt/internal/ui/BaseCElementContentProvider.java
|
||||||
|
* src/org/eclipse/cdt/ui/CElementGrouping.java
|
||||||
|
* src/org/eclipse/cdt/ui/Includes/Grouping.java
|
||||||
|
* src/org/eclipse/cdt/ui/actions/ShowInCViewAction.java
|
||||||
|
|
||||||
2004-08-04 Alain Magloire
|
2004-08-04 Alain Magloire
|
||||||
|
|
||||||
Implementation of Grouping for includes.
|
Implementation of Grouping for includes.
|
||||||
|
|
|
@ -18,6 +18,7 @@ import org.eclipse.cdt.core.model.ICContainer;
|
||||||
import org.eclipse.cdt.core.model.ICElement;
|
import org.eclipse.cdt.core.model.ICElement;
|
||||||
import org.eclipse.cdt.core.model.ICModel;
|
import org.eclipse.cdt.core.model.ICModel;
|
||||||
import org.eclipse.cdt.core.model.ICProject;
|
import org.eclipse.cdt.core.model.ICProject;
|
||||||
|
import org.eclipse.cdt.core.model.IInclude;
|
||||||
import org.eclipse.cdt.core.model.IParent;
|
import org.eclipse.cdt.core.model.IParent;
|
||||||
import org.eclipse.cdt.core.model.ISourceRoot;
|
import org.eclipse.cdt.core.model.ISourceRoot;
|
||||||
import org.eclipse.cdt.core.model.ITranslationUnit;
|
import org.eclipse.cdt.core.model.ITranslationUnit;
|
||||||
|
@ -32,6 +33,7 @@ import org.eclipse.core.resources.IResource;
|
||||||
import org.eclipse.core.runtime.CoreException;
|
import org.eclipse.core.runtime.CoreException;
|
||||||
import org.eclipse.jface.viewers.ITreeContentProvider;
|
import org.eclipse.jface.viewers.ITreeContentProvider;
|
||||||
import org.eclipse.jface.viewers.Viewer;
|
import org.eclipse.jface.viewers.Viewer;
|
||||||
|
import org.eclipse.ui.model.IWorkbenchAdapter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A base content provider for C elements. It provides access to the
|
* A base content provider for C elements. It provides access to the
|
||||||
|
@ -244,7 +246,10 @@ public class BaseCElementContentProvider implements ITreeContentProvider {
|
||||||
Object parent = null;
|
Object parent = null;
|
||||||
if (element instanceof ICElement) {
|
if (element instanceof ICElement) {
|
||||||
parent = ((ICElement)element).getParent();
|
parent = ((ICElement)element).getParent();
|
||||||
|
} else if (element instanceof IWorkbenchAdapter) {
|
||||||
|
parent = ((IWorkbenchAdapter)element).getParent(element);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if the parent is the default ISourceRoot == ICProject return the project
|
// if the parent is the default ISourceRoot == ICProject return the project
|
||||||
if (parent instanceof ISourceRoot) {
|
if (parent instanceof ISourceRoot) {
|
||||||
if (isProjectSourceRoot((ISourceRoot)parent)) {
|
if (isProjectSourceRoot((ISourceRoot)parent)) {
|
||||||
|
@ -259,6 +264,11 @@ public class BaseCElementContentProvider implements ITreeContentProvider {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if we are doing grouping for the includes return the grouping container.
|
||||||
|
if (element instanceof IInclude && fIncludesGrouping) {
|
||||||
|
parent = new IncludesGrouping(((IInclude)element).getTranslationUnit());
|
||||||
|
}
|
||||||
return parent;
|
return parent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ import org.eclipse.ui.model.WorkbenchAdapter;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*/
|
*/
|
||||||
public class CElementGrouping extends WorkbenchAdapter implements IAdaptable {
|
public abstract class CElementGrouping extends WorkbenchAdapter implements IAdaptable {
|
||||||
|
|
||||||
public final static int INCLUDES_GROUPING = 0x00001;
|
public final static int INCLUDES_GROUPING = 0x00001;
|
||||||
public final static int NAMESPACE_GROUPING = 0x00010;
|
public final static int NAMESPACE_GROUPING = 0x00010;
|
||||||
|
|
|
@ -45,4 +45,13 @@ public class IncludesGrouping extends CElementGrouping {
|
||||||
return tu;
|
return tu;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* (non-Javadoc)
|
||||||
|
* @see java.lang.Object#equals(java.lang.Object)
|
||||||
|
*/
|
||||||
|
public boolean equals(Object obj) {
|
||||||
|
if (obj instanceof IncludesGrouping) {
|
||||||
|
return tu.equals(((IncludesGrouping)obj).getParent(obj)) ;
|
||||||
|
}
|
||||||
|
return super.equals(obj);
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -63,9 +63,6 @@ public class ShowInCViewAction extends SelectionProviderAction {
|
||||||
* @see IAction#actionPerformed
|
* @see IAction#actionPerformed
|
||||||
*/
|
*/
|
||||||
public void run() {
|
public void run() {
|
||||||
if(page == null) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
ISelection selection = getSelection();
|
ISelection selection = getSelection();
|
||||||
if (selection instanceof ITextSelection) {
|
if (selection instanceof ITextSelection) {
|
||||||
run(fEditor);
|
run(fEditor);
|
||||||
|
@ -76,6 +73,13 @@ public class ShowInCViewAction extends SelectionProviderAction {
|
||||||
}
|
}
|
||||||
|
|
||||||
public void run(IStructuredSelection selection) {
|
public void run(IStructuredSelection selection) {
|
||||||
|
if (page == null) {
|
||||||
|
page = CUIPlugin.getActivePage();
|
||||||
|
if (page == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//Locate a source and a target for us to use
|
//Locate a source and a target for us to use
|
||||||
try {
|
try {
|
||||||
IWorkbenchPart part = page.showView(CUIPlugin.CVIEW_ID);
|
IWorkbenchPart part = page.showView(CUIPlugin.CVIEW_ID);
|
||||||
|
|
Loading…
Add table
Reference in a new issue