diff options
author | cvs2svn | 2010-09-14 15:29:39 +0000 |
---|---|---|
committer | cvs2svn | 2010-09-14 15:29:39 +0000 |
commit | 76aa9b88331ff3ef3374e65b52db63d85f193065 (patch) | |
tree | c3fba5fa234b9893118738ce38533407762fc43c /codan | |
parent | f4ca6178d7f459802e49dd871c13bac9d25fb811 (diff) | |
download | org.eclipse.cdt-76aa9b88331ff3ef3374e65b52db63d85f193065.tar.gz org.eclipse.cdt-76aa9b88331ff3ef3374e65b52db63d85f193065.tar.xz org.eclipse.cdt-76aa9b88331ff3ef3374e65b52db63d85f193065.zip |
This commit was manufactured by cvs2svn to create branch 'cdt_7_0_1'.
Sprout from cdt_7_0 2010-09-14 15:29:34 UTC Andrew Gvozdev <angvoz.dev@gmail.com> 'bug 318812: Reverted as it broke translation work'
Delete:
codan/org.eclipse.cdt.codan.ui.cfgview/.classpath
codan/org.eclipse.cdt.codan.ui.cfgview/.project
codan/org.eclipse.cdt.codan.ui.cfgview/.settings/org.eclipse.jdt.core.prefs
codan/org.eclipse.cdt.codan.ui.cfgview/META-INF/MANIFEST.MF
codan/org.eclipse.cdt.codan.ui.cfgview/build.properties
codan/org.eclipse.cdt.codan.ui.cfgview/icons/connector.png
codan/org.eclipse.cdt.codan.ui.cfgview/icons/decision.png
codan/org.eclipse.cdt.codan.ui.cfgview/icons/exit.png
codan/org.eclipse.cdt.codan.ui.cfgview/icons/jump.png
codan/org.eclipse.cdt.codan.ui.cfgview/icons/labeled.png
codan/org.eclipse.cdt.codan.ui.cfgview/icons/refresh_view.gif
codan/org.eclipse.cdt.codan.ui.cfgview/icons/start.png
codan/org.eclipse.cdt.codan.ui.cfgview/icons/task.png
codan/org.eclipse.cdt.codan.ui.cfgview/plugin.xml
codan/org.eclipse.cdt.codan.ui.cfgview/src/org/eclipse/cdt/codan/ui/cfgview/ControlFlowGraphPlugin.java
codan/org.eclipse.cdt.codan.ui.cfgview/src/org/eclipse/cdt/codan/ui/cfgview/views/ControlFlowGraphView.java
windows/org.eclipse.cdt.msw.build/.classpath
windows/org.eclipse.cdt.msw.build/.cvsignore
windows/org.eclipse.cdt.msw.build/.project
windows/org.eclipse.cdt.msw.build/.settings/org.eclipse.jdt.core.prefs
windows/org.eclipse.cdt.msw.build/META-INF/MANIFEST.MF
windows/org.eclipse.cdt.msw.build/build.properties
windows/org.eclipse.cdt.msw.build/plugin.properties
windows/org.eclipse.cdt.msw.build/plugin.xml
windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/Activator.java
windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinDiscoveredPathInfo.java
windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinEnvironmentVariableSupplier.java
windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinScannerInfoCollector.java
Diffstat (limited to 'codan')
16 files changed, 0 insertions, 598 deletions
diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/.classpath b/codan/org.eclipse.cdt.codan.ui.cfgview/.classpath deleted file mode 100644 index 64c5e31b7a2..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/.classpath +++ /dev/null @@ -1,7 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<classpath> - <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> - <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> - <classpathentry kind="src" path="src"/> - <classpathentry kind="output" path="bin"/> -</classpath> diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/.project b/codan/org.eclipse.cdt.codan.ui.cfgview/.project deleted file mode 100644 index 3df8f20cc97..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/.project +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<projectDescription> - <name>org.eclipse.cdt.codan.ui.cfgview</name> - <comment></comment> - <projects> - </projects> - <buildSpec> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.ManifestBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.SchemaBuilder</name> - <arguments> - </arguments> - </buildCommand> - <buildCommand> - <name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name> - <arguments> - </arguments> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.pde.PluginNature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature> - </natures> -</projectDescription> diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/.settings/org.eclipse.jdt.core.prefs b/codan/org.eclipse.cdt.codan.ui.cfgview/.settings/org.eclipse.jdt.core.prefs deleted file mode 100644 index 345c8c82184..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/.settings/org.eclipse.jdt.core.prefs +++ /dev/null @@ -1,8 +0,0 @@ -#Sat Mar 27 20:39:28 EDT 2010 -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 -org.eclipse.jdt.core.compiler.compliance=1.5 -org.eclipse.jdt.core.compiler.problem.assertIdentifier=error -org.eclipse.jdt.core.compiler.problem.enumIdentifier=error -org.eclipse.jdt.core.compiler.source=1.5 diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/META-INF/MANIFEST.MF b/codan/org.eclipse.cdt.codan.ui.cfgview/META-INF/MANIFEST.MF deleted file mode 100644 index 927ab94ffdf..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/META-INF/MANIFEST.MF +++ /dev/null @@ -1,19 +0,0 @@ -Manifest-Version: 1.0 -Bundle-ManifestVersion: 2 -Bundle-Name: Control Flow Graph -Bundle-SymbolicName: org.eclipse.cdt.codan.ui.cfgview;singleton:=true -Bundle-Version: 1.0.0.qualifier -Bundle-Activator: org.eclipse.cdt.codan.ui.cfgview.ControlFlowGraphPlugin -Bundle-Vendor: Eclipse CDT -Require-Bundle: org.eclipse.ui, - org.eclipse.core.runtime, - org.eclipse.cdt.codan.core;bundle-version="1.0.0", - org.eclipse.cdt.codan.core.cxx;bundle-version="1.0.0", - org.eclipse.cdt.core, - org.eclipse.cdt.ui, - org.eclipse.core.resources, - org.eclipse.ui.editors -Bundle-RequiredExecutionEnvironment: J2SE-1.5 -Bundle-ActivationPolicy: lazy -Export-Package: org.eclipse.cdt.codan.ui.cfgview;x-internal:=true, - org.eclipse.cdt.codan.ui.cfgview.views;x-internal:=true diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/build.properties b/codan/org.eclipse.cdt.codan.ui.cfgview/build.properties deleted file mode 100644 index 0d3d3a745d4..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/build.properties +++ /dev/null @@ -1,6 +0,0 @@ -source.. = src/ -output.. = bin/ -bin.includes = plugin.xml,\ - META-INF/,\ - .,\ - icons/ diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/connector.png b/codan/org.eclipse.cdt.codan.ui.cfgview/icons/connector.png Binary files differdeleted file mode 100644 index f7e9831d347..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/connector.png +++ /dev/null diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/decision.png b/codan/org.eclipse.cdt.codan.ui.cfgview/icons/decision.png Binary files differdeleted file mode 100644 index 621d2c5c181..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/decision.png +++ /dev/null diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/exit.png b/codan/org.eclipse.cdt.codan.ui.cfgview/icons/exit.png Binary files differdeleted file mode 100644 index c1c59a95330..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/exit.png +++ /dev/null diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/jump.png b/codan/org.eclipse.cdt.codan.ui.cfgview/icons/jump.png Binary files differdeleted file mode 100644 index 0684374bdcf..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/jump.png +++ /dev/null diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/labeled.png b/codan/org.eclipse.cdt.codan.ui.cfgview/icons/labeled.png Binary files differdeleted file mode 100644 index dad4626a9e6..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/labeled.png +++ /dev/null diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/refresh_view.gif b/codan/org.eclipse.cdt.codan.ui.cfgview/icons/refresh_view.gif Binary files differdeleted file mode 100644 index a063c230aca..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/refresh_view.gif +++ /dev/null diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/start.png b/codan/org.eclipse.cdt.codan.ui.cfgview/icons/start.png Binary files differdeleted file mode 100644 index ce34b006b1c..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/start.png +++ /dev/null diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/task.png b/codan/org.eclipse.cdt.codan.ui.cfgview/icons/task.png Binary files differdeleted file mode 100644 index ba992a8ace8..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/icons/task.png +++ /dev/null diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/plugin.xml b/codan/org.eclipse.cdt.codan.ui.cfgview/plugin.xml deleted file mode 100644 index 40df7b700c2..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/plugin.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<?eclipse version="3.4"?> -<plugin> - - <extension - point="org.eclipse.ui.views"> - <view - category="org.eclipse.cdt.ui.views" - class="org.eclipse.cdt.codan.ui.cfgview.views.ControlFlowGraphView" - icon="icons/decision.png" - id="oeg.eclipse.cdt.codan.ui.cfgview.views.ControlFlowGraphView" - name="Control Flow Graph"> - </view> - </extension> - -</plugin> diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/src/org/eclipse/cdt/codan/ui/cfgview/ControlFlowGraphPlugin.java b/codan/org.eclipse.cdt.codan.ui.cfgview/src/org/eclipse/cdt/codan/ui/cfgview/ControlFlowGraphPlugin.java deleted file mode 100644 index 5c04087efa2..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/src/org/eclipse/cdt/codan/ui/cfgview/ControlFlowGraphPlugin.java +++ /dev/null @@ -1,82 +0,0 @@ -package org.eclipse.cdt.codan.ui.cfgview; - -import org.eclipse.jface.resource.ImageDescriptor; -import org.eclipse.jface.resource.ImageRegistry; -import org.eclipse.swt.graphics.Image; -import org.eclipse.ui.plugin.AbstractUIPlugin; -import org.osgi.framework.BundleContext; - -/** - * The activator class controls the plug-in life cycle - */ -public class ControlFlowGraphPlugin extends AbstractUIPlugin { - - // The plug-in ID - public static final String PLUGIN_ID = "org.eclipse.cdt.codan.ui.cfgview"; //$NON-NLS-1$ - - // The shared instance - private static ControlFlowGraphPlugin plugin; - - /** - * The constructor - */ - public ControlFlowGraphPlugin() { - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) - */ - public void start(BundleContext context) throws Exception { - super.start(context); - plugin = this; - } - - /* - * (non-Javadoc) - * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) - */ - public void stop(BundleContext context) throws Exception { - plugin = null; - super.stop(context); - } - - /** - * Returns the shared instance - * - * @return the shared instance - */ - public static ControlFlowGraphPlugin getDefault() { - return plugin; - } - - /** - * Returns an image descriptor for the image file at the given - * plug-in relative path - * - * @param path the path - * @return the image descriptor - */ - public ImageDescriptor getImageDescriptor(String key) { - ImageRegistry registry = getImageRegistry(); - ImageDescriptor descriptor = registry.getDescriptor(key); - if (descriptor == null) { - descriptor = imageDescriptorFromPlugin(PLUGIN_ID,key); - registry.put(key, descriptor); - } - return descriptor; - } - - public Image getImage(String key) { - ImageRegistry registry = getImageRegistry(); - Image image = registry.get(key); - if (image == null) { - ImageDescriptor descriptor = imageDescriptorFromPlugin(PLUGIN_ID,key); - registry.put(key, descriptor); - image = registry.get(key); - } - return image; - } - - -} diff --git a/codan/org.eclipse.cdt.codan.ui.cfgview/src/org/eclipse/cdt/codan/ui/cfgview/views/ControlFlowGraphView.java b/codan/org.eclipse.cdt.codan.ui.cfgview/src/org/eclipse/cdt/codan/ui/cfgview/views/ControlFlowGraphView.java deleted file mode 100644 index ccb391c52eb..00000000000 --- a/codan/org.eclipse.cdt.codan.ui.cfgview/src/org/eclipse/cdt/codan/ui/cfgview/views/ControlFlowGraphView.java +++ /dev/null @@ -1,426 +0,0 @@ -package org.eclipse.cdt.codan.ui.cfgview.views; - -import java.util.ArrayList; -import java.util.Collection; - -import org.eclipse.cdt.codan.core.cxx.internal.model.cfg.ControlFlowGraphBuilder; -import org.eclipse.cdt.codan.core.cxx.internal.model.cfg.CxxControlFlowGraph; -import org.eclipse.cdt.codan.core.model.cfg.IBasicBlock; -import org.eclipse.cdt.codan.core.model.cfg.IBranchNode; -import org.eclipse.cdt.codan.core.model.cfg.ICfgData; -import org.eclipse.cdt.codan.core.model.cfg.IConnectorNode; -import org.eclipse.cdt.codan.core.model.cfg.IControlFlowGraph; -import org.eclipse.cdt.codan.core.model.cfg.IDecisionNode; -import org.eclipse.cdt.codan.core.model.cfg.IExitNode; -import org.eclipse.cdt.codan.core.model.cfg.IJumpNode; -import org.eclipse.cdt.codan.core.model.cfg.ISingleOutgoing; -import org.eclipse.cdt.codan.core.model.cfg.IStartNode; -import org.eclipse.cdt.codan.internal.core.cfg.AbstractBasicBlock; -import org.eclipse.cdt.codan.ui.cfgview.ControlFlowGraphPlugin; -import org.eclipse.cdt.core.dom.ast.IASTDeclaration; -import org.eclipse.cdt.core.dom.ast.IASTFileLocation; -import org.eclipse.cdt.core.dom.ast.IASTFunctionDefinition; -import org.eclipse.cdt.core.dom.ast.IASTNode; -import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; -import org.eclipse.cdt.core.dom.ast.c.CASTVisitor; -import org.eclipse.cdt.core.model.CModelException; -import org.eclipse.cdt.core.model.ILanguage; -import org.eclipse.cdt.core.model.ITranslationUnit; -import org.eclipse.cdt.core.parser.ParserUtil; -import org.eclipse.cdt.core.resources.FileStorage; -import org.eclipse.cdt.internal.ui.util.EditorUtility; -import org.eclipse.cdt.ui.CDTUITools; -import org.eclipse.cdt.ui.text.SharedASTJob; -import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IResource; -import org.eclipse.core.resources.ResourcesPlugin; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; -import org.eclipse.core.runtime.Path; -import org.eclipse.core.runtime.Status; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.jface.action.Action; -import org.eclipse.jface.action.IMenuListener; -import org.eclipse.jface.action.IMenuManager; -import org.eclipse.jface.action.IToolBarManager; -import org.eclipse.jface.action.MenuManager; -import org.eclipse.jface.action.Separator; -import org.eclipse.jface.dialogs.MessageDialog; -import org.eclipse.jface.viewers.DoubleClickEvent; -import org.eclipse.jface.viewers.IDoubleClickListener; -import org.eclipse.jface.viewers.ISelection; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.IStructuredContentProvider; -import org.eclipse.jface.viewers.IStructuredSelection; -import org.eclipse.jface.viewers.ITreeContentProvider; -import org.eclipse.jface.viewers.LabelProvider; -import org.eclipse.jface.viewers.SelectionChangedEvent; -import org.eclipse.jface.viewers.TreeViewer; -import org.eclipse.jface.viewers.Viewer; -import org.eclipse.swt.SWT; -import org.eclipse.swt.graphics.Image; -import org.eclipse.swt.widgets.Composite; -import org.eclipse.swt.widgets.Menu; -import org.eclipse.ui.IActionBars; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IWorkbenchActionConstants; -import org.eclipse.ui.PartInitException; -import org.eclipse.ui.PlatformUI; -import org.eclipse.ui.part.DrillDownAdapter; -import org.eclipse.ui.part.ViewPart; -import org.eclipse.ui.texteditor.AbstractTextEditor; - -/** - * This sample class demonstrates how to plug-in a new workbench view. The view - * shows data obtained from the model. The sample creates a dummy model on the - * fly, but a real implementation would connect to the model available either in - * this or another plug-in (e.g. the workspace). The view is connected to the - * model using a content provider. - * <p> - * The view uses a label provider to define how model objects should be - * presented in the view. Each view can present the same model objects using - * different labels and icons, if needed. Alternatively, a single label provider - * can be shared between views in order to ensure that objects of the same type - * are presented in the same way everywhere. - * <p> - */ -public class ControlFlowGraphView extends ViewPart { - /** - * The ID of the view as specified by the extension. - */ - public static final String ID = "org.eclipse.cdt.codan.ui.cfgview.views.ControlFlowGraphView"; - private TreeViewer viewer; - private DrillDownAdapter drillDownAdapter; - private Action action1; - private Action doubleClickAction; - - class ViewContentProvider implements IStructuredContentProvider, - ITreeContentProvider { - public void inputChanged(Viewer v, Object oldInput, Object newInput) { - } - - public void dispose() { - } - - public Object[] getElements(Object parent) { - return getChildren(parent); - } - - public Object getParent(Object child) { - return null; - } - - public Object[] getChildren(Object parent) { - if (parent instanceof Collection) { - return ((Collection) parent).toArray(); - } else if (parent instanceof IControlFlowGraph) { - Collection<IBasicBlock> blocks = getFlat( - ((IControlFlowGraph) parent).getStartNode(), - new ArrayList<IBasicBlock>()); - return blocks.toArray(); - } else if (parent instanceof IDecisionNode) { - ArrayList blocks = new ArrayList(); - IBasicBlock[] outgoingNodes = ((IDecisionNode) parent) - .getOutgoingNodes(); - for (int i = 0; i < outgoingNodes.length; i++) { - IBasicBlock arc= outgoingNodes[i]; - blocks.add(arc); - } - blocks.add(((IDecisionNode) parent).getMergeNode()); - return blocks.toArray(); - } else if (parent instanceof IBranchNode) { - Collection<IBasicBlock> blocks = getFlat(((IBranchNode) parent) - .getOutgoing(), new ArrayList<IBasicBlock>()); - return blocks.toArray(); - } - return new Object[0]; - } - - public boolean hasChildren(Object parent) { - return getChildren(parent).length > 0; - } - - /** - * @param list - * @param startNode - * @return - */ - public Collection<IBasicBlock> getFlat(IBasicBlock node, - Collection<IBasicBlock> list) { - list.add(node); - if (node instanceof IJumpNode) - return list; - if (node instanceof ISingleOutgoing) { - getFlat(((ISingleOutgoing) node).getOutgoing(), list); - } else if (node instanceof IDecisionNode) { - getFlat(((IDecisionNode) node).getMergeNode().getOutgoing(), - list); - } - return list; - } - } - - class ViewLabelProvider extends LabelProvider { - public String getText(Object obj) { - if (obj == null) - return null; - String strdata = ""; - if (obj instanceof ICfgData) { - strdata = ((AbstractBasicBlock) obj).toStringData(); - } - if (obj instanceof IConnectorNode) { - strdata = blockHexLabel(obj) ; - } else if (obj instanceof IJumpNode) { - strdata = "jump to "+blockHexLabel(((IJumpNode) obj).getJumpNode()); - } - return obj.getClass().getSimpleName() + ": " + strdata; - } - - /** - * @param obj - * @return - */ - protected String blockHexLabel(Object obj) { - return "0x" + Integer.toHexString(System.identityHashCode(obj)); - } - - public Image getImage(Object obj) { - String imageKey = "task.png"; - if (obj instanceof IDecisionNode - || obj instanceof IControlFlowGraph) - imageKey = "decision.png"; - else if (obj instanceof IExitNode) - imageKey = "exit.png"; - else if (obj instanceof IStartNode) - imageKey = "start.png"; - else if (obj instanceof IJumpNode) - imageKey = "jump.png"; - else if (obj instanceof IBranchNode) - imageKey = "labeled.png"; - else if (obj instanceof IConnectorNode) - imageKey = "connector.png"; - return ControlFlowGraphPlugin.getDefault().getImage( - "icons/" + imageKey); - } - } - - /** - * The constructor. - */ - public ControlFlowGraphView() { - } - - /** - * This is a callback that will allow us to create the viewer and initialize - * it. - */ - public void createPartControl(Composite parent) { - viewer = new TreeViewer(parent, SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL); - drillDownAdapter = new DrillDownAdapter(viewer); - viewer.setContentProvider(new ViewContentProvider()); - viewer.setLabelProvider(new ViewLabelProvider()); - viewer.setInput(getViewSite()); - makeActions(); - hookContextMenu(); - hookSingleClickAction(); - contributeToActionBars(); - } - - private void hookContextMenu() { - MenuManager menuMgr = new MenuManager("#PopupMenu"); - menuMgr.setRemoveAllWhenShown(true); - menuMgr.addMenuListener(new IMenuListener() { - public void menuAboutToShow(IMenuManager manager) { - ControlFlowGraphView.this.fillContextMenu(manager); - } - }); - Menu menu = menuMgr.createContextMenu(viewer.getControl()); - viewer.getControl().setMenu(menu); - getSite().registerContextMenu(menuMgr, viewer); - } - - private void contributeToActionBars() { - IActionBars bars = getViewSite().getActionBars(); - fillLocalPullDown(bars.getMenuManager()); - fillLocalToolBar(bars.getToolBarManager()); - } - - private void fillLocalPullDown(IMenuManager manager) { - manager.add(action1); - manager.add(new Separator()); - } - - private void fillContextMenu(IMenuManager manager) { - manager.add(action1); - manager.add(new Separator()); - drillDownAdapter.addNavigationActions(manager); - // Other plug-ins can contribute there actions here - manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); - } - - private void fillLocalToolBar(IToolBarManager manager) { - manager.add(action1); - manager.add(new Separator()); - drillDownAdapter.addNavigationActions(manager); - } - - private void makeActions() { - action1 = new Action() { - public void run() { - IEditorPart e = PlatformUI.getWorkbench() - .getActiveWorkbenchWindow().getActivePage() - .getActiveEditor(); - ITranslationUnit tu = (ITranslationUnit) CDTUITools - .getEditorInputCElement(e.getEditorInput()); - Job job = new SharedASTJob("Job Name", tu) { - @Override - public IStatus runOnAST(ILanguage lang, - IASTTranslationUnit ast) throws CoreException { - processAst(ast); - return Status.OK_STATUS; - } - }; - job.schedule(); - } - }; - action1.setText("Synchronize"); - action1.setToolTipText("Synchronize"); - action1.setImageDescriptor(ControlFlowGraphPlugin.getDefault() - .getImageDescriptor("icons/refresh_view.gif")); - doubleClickAction = new Action() { - public void run() { - ISelection selection = viewer.getSelection(); - Object obj = ((IStructuredSelection) selection) - .getFirstElement(); - showMessage("Double-click detected on " + obj.toString()); - } - }; - } - - private void hookDoubleClickAction() { - viewer.addDoubleClickListener(new IDoubleClickListener() { - public void doubleClick(DoubleClickEvent event) { - doubleClickAction.run(); - } - }); - } - - private void showMessage(String message) { - MessageDialog.openInformation(viewer.getControl().getShell(), - "Control Flow Graph", message); - } - - protected void processAst(IASTTranslationUnit ast) { - final ArrayList<IControlFlowGraph> functions = new ArrayList<IControlFlowGraph>(); - CASTVisitor visitor = new CASTVisitor() { - { - shouldVisitDeclarations = true; - } - - public int visit(IASTDeclaration decl) { - if (decl instanceof IASTFunctionDefinition) { - CxxControlFlowGraph graph = new ControlFlowGraphBuilder() - .build((IASTFunctionDefinition) decl); - functions.add(graph); - return PROCESS_SKIP; - } - return PROCESS_CONTINUE; - } - }; - ast.accept(visitor); - viewer.getControl().getDisplay().asyncExec(new Runnable() { - public void run() { - // TODO Auto-generated method stub - viewer.setInput(functions); - } - }); - } - - /** - * Passing the focus request to the viewer's control. - */ - public void setFocus() { - viewer.getControl().setFocus(); - } - - private class ASTHighlighterAction extends Action { - private static final String A_PART_INSTANCEOF = "aPart instanceof "; //$NON-NLS-1$ - IEditorPart aPart = null; - - public ASTHighlighterAction(IEditorPart part) { - this.aPart = part; - } - - public void setPart(IEditorPart part) { - this.aPart = part; - } - - protected boolean open(String filename) throws PartInitException, - CModelException { - IPath path = new Path(filename); - IFile f = ResourcesPlugin.getWorkspace().getRoot() - .getFileForLocation(path); - if (f != null) { - EditorUtility.openInEditor(f); - return true; - } - FileStorage storage = new FileStorage(null, path); - EditorUtility.openInEditor(storage); - return true; - } - - @Override - public void run() { - ISelection selection = viewer.getSelection(); - Object obj = ((IStructuredSelection) selection).getFirstElement(); - if (obj instanceof ICfgData) { - Object data = ((ICfgData) obj).getData(); - if (data instanceof IASTNode) { - IASTNode node = (IASTNode) data; - if (node instanceof IASTTranslationUnit) // don't - return; - IASTFileLocation loc = node.getFileLocation(); - String filename = loc.getFileName(); - if (filename.equals("")) - return; - IResource r = ParserUtil.getResourceForFilename(filename); - if (r != null) { - try { - aPart = EditorUtility.openInEditor(r); - } catch (PartInitException pie) { - return; - } catch (CModelException e) { - return; - } - } else { - // IPath path = new Path(filename); - // if (tu != null) { - // try { - // aPart = EditorUtility.openInEditor(path, tu); - // } catch (PartInitException e) { - // return; - // } - // } - } - if (aPart instanceof AbstractTextEditor) { - ((AbstractTextEditor) aPart).selectAndReveal(loc - .getNodeOffset(), loc.getNodeLength()); - } else - System.out.println(A_PART_INSTANCEOF - + aPart.getClass().getName()); - aPart.getSite().getPage().activate( - aPart.getSite().getPage().findView(ID)); - } - } - } - } - - private void hookSingleClickAction() { - viewer.addSelectionChangedListener(new ISelectionChangedListener() { - public void selectionChanged(SelectionChangedEvent event) { - new ASTHighlighterAction(null).run(); - } - }); - } -}
\ No newline at end of file |