mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-21 23:33:57 +02:00
New action ToggleLinkEditor.
This commit is contained in:
parent
a69b7ae3ae
commit
2080d7ecfb
7 changed files with 152 additions and 8 deletions
|
@ -1,3 +1,18 @@
|
||||||
|
2004-03-05 Alain Magloire
|
||||||
|
|
||||||
|
Support for ToggleEditor link action.
|
||||||
|
This action was only in the preference page.
|
||||||
|
Now it is also in the toolbar. It permits the CView
|
||||||
|
to track the CEdito selection.
|
||||||
|
|
||||||
|
* src/org/eclipse/cdt/internal/ui/cview/CView.java
|
||||||
|
* src/org/eclipse/cdt/internal/ui/cview/CViewAction.java
|
||||||
|
* src/org/eclipse/cdt/internal/ui/cview/CViewActionGroup.java
|
||||||
|
* src/org/eclipse/cdt/internal/ui/cview/MainActionGroup.java
|
||||||
|
* src/org/eclipse/cdt/internal/ui/cview/ToggleLinkingAction.java
|
||||||
|
* src/org/eclipse/cdt/internal/ui/preferences/CPluginPreferencePage.java
|
||||||
|
|
||||||
|
|
||||||
2004-03-04 Bogdan Gheorghe
|
2004-03-04 Bogdan Gheorghe
|
||||||
Added Hyperlinks to CEditor
|
Added Hyperlinks to CEditor
|
||||||
Added Navigation preference page for CEditor
|
Added Navigation preference page for CEditor
|
||||||
|
|
|
@ -818,14 +818,23 @@ public class CView extends ViewPart implements ISetSelectionTarget, IPropertyCha
|
||||||
if (viewer == null) return;
|
if (viewer == null) return;
|
||||||
|
|
||||||
boolean refreshViewer = false;
|
boolean refreshViewer = false;
|
||||||
|
String property = event.getProperty();
|
||||||
|
|
||||||
if (event.getProperty() == PreferenceConstants.PREF_SHOW_CU_CHILDREN) {
|
if (property.equals(PreferenceConstants.PREF_SHOW_CU_CHILDREN)) {
|
||||||
boolean showCUChildren = CPluginPreferencePage.showCompilationUnitChildren();
|
boolean showCUChildren = CPluginPreferencePage.showCompilationUnitChildren();
|
||||||
((CElementContentProvider) viewer.getContentProvider()).setProvideMembers(showCUChildren);
|
((CElementContentProvider) viewer.getContentProvider()).setProvideMembers(showCUChildren);
|
||||||
refreshViewer = true;
|
refreshViewer = true;
|
||||||
|
} else if (property.equals(PreferenceConstants.PREF_LINK_TO_EDITOR)) {
|
||||||
|
CViewActionGroup group = getActionGroup();
|
||||||
|
if (group instanceof MainActionGroup) {
|
||||||
|
boolean enable = isLinkingEnabled();
|
||||||
|
((MainActionGroup)group).toggleLinkingAction.setChecked(enable);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (refreshViewer) viewer.refresh();
|
if (refreshViewer) {
|
||||||
|
viewer.refresh();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -839,6 +848,10 @@ public class CView extends ViewPart implements ISetSelectionTarget, IPropertyCha
|
||||||
return CPluginPreferencePage.isLinkToEditor();
|
return CPluginPreferencePage.isLinkToEditor();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setLinkingEnabled(boolean enable) {
|
||||||
|
CPluginPreferencePage.setLinkingEnabled(enable);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Links to editor (if option enabled)
|
* Links to editor (if option enabled)
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2000, 2003 IBM Corporation and others.
|
||||||
|
* All rights reserved. This program and the accompanying materials
|
||||||
|
* are made available under the terms of the Common Public License v1.0
|
||||||
|
* which accompanies this distribution, and is available at
|
||||||
|
* http://www.eclipse.org/legal/cpl-v10.html
|
||||||
|
*
|
||||||
|
* Contributors:
|
||||||
|
* IBM Corporation - initial API and implementation
|
||||||
|
*******************************************************************************/
|
||||||
|
package org.eclipse.cdt.internal.ui.cview;
|
||||||
|
|
||||||
|
import org.eclipse.cdt.ui.CUIPlugin;
|
||||||
|
import org.eclipse.jface.viewers.Viewer;
|
||||||
|
import org.eclipse.swt.widgets.Shell;
|
||||||
|
import org.eclipse.ui.IWorkbench;
|
||||||
|
import org.eclipse.ui.IWorkbenchWindow;
|
||||||
|
import org.eclipse.ui.actions.SelectionProviderAction;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Superclass of all actions provided by the cview.
|
||||||
|
*/
|
||||||
|
public abstract class CViewAction extends SelectionProviderAction {
|
||||||
|
|
||||||
|
private CView cview;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new instance of the class.
|
||||||
|
*/
|
||||||
|
public CViewAction(CView cview, String label) {
|
||||||
|
super(cview.getViewer(), label);
|
||||||
|
this.cview = cview;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the cview for which this action was created.
|
||||||
|
*/
|
||||||
|
public CView getCView() {
|
||||||
|
return cview;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the viewer
|
||||||
|
*/
|
||||||
|
protected Viewer getViewer() {
|
||||||
|
return getCView().getViewer();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the shell to use within actions.
|
||||||
|
*/
|
||||||
|
protected Shell getShell() {
|
||||||
|
return getCView().getSite().getShell();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the workbench.
|
||||||
|
*/
|
||||||
|
protected IWorkbench getWorkbench() {
|
||||||
|
return CUIPlugin.getDefault().getWorkbench();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns the workbench window.
|
||||||
|
*/
|
||||||
|
protected IWorkbenchWindow getWorkbenchWindow() {
|
||||||
|
return getCView().getSite().getWorkbenchWindow();
|
||||||
|
}
|
||||||
|
}
|
|
@ -13,15 +13,13 @@ package org.eclipse.cdt.internal.ui.cview;
|
||||||
import java.net.MalformedURLException;
|
import java.net.MalformedURLException;
|
||||||
import java.net.URL;
|
import java.net.URL;
|
||||||
|
|
||||||
import org.eclipse.core.runtime.Platform;
|
import org.eclipse.cdt.ui.CUIPlugin;
|
||||||
import org.eclipse.jface.action.IMenuManager;
|
import org.eclipse.jface.action.IMenuManager;
|
||||||
import org.eclipse.jface.resource.ImageDescriptor;
|
import org.eclipse.jface.resource.ImageDescriptor;
|
||||||
import org.eclipse.jface.viewers.IStructuredSelection;
|
import org.eclipse.jface.viewers.IStructuredSelection;
|
||||||
import org.eclipse.swt.events.KeyEvent;
|
import org.eclipse.swt.events.KeyEvent;
|
||||||
import org.eclipse.ui.IActionBars;
|
import org.eclipse.ui.IActionBars;
|
||||||
import org.eclipse.ui.PlatformUI;
|
|
||||||
import org.eclipse.ui.actions.ActionGroup;
|
import org.eclipse.ui.actions.ActionGroup;
|
||||||
import org.eclipse.ui.plugin.AbstractUIPlugin;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the action group for all the view actions.
|
* This is the action group for all the view actions.
|
||||||
|
@ -57,8 +55,9 @@ public abstract class CViewActionGroup extends ActionGroup {
|
||||||
protected ImageDescriptor getImageDescriptor(String relativePath) {
|
protected ImageDescriptor getImageDescriptor(String relativePath) {
|
||||||
String iconPath = "icons/full/"; //$NON-NLS-1$
|
String iconPath = "icons/full/"; //$NON-NLS-1$
|
||||||
try {
|
try {
|
||||||
AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
|
//AbstractUIPlugin plugin = (AbstractUIPlugin) Platform.getPlugin(PlatformUI.PLUGIN_ID);
|
||||||
URL installURL = plugin.getDescriptor().getInstallURL();
|
//URL installURL = plugin.getDescriptor().getInstallURL();
|
||||||
|
URL installURL = CUIPlugin.getDefault().getDescriptor().getInstallURL();
|
||||||
URL url = new URL(installURL, iconPath + relativePath);
|
URL url = new URL(installURL, iconPath + relativePath);
|
||||||
return ImageDescriptor.createFromURL(url);
|
return ImageDescriptor.createFromURL(url);
|
||||||
} catch (MalformedURLException e) {
|
} catch (MalformedURLException e) {
|
||||||
|
|
|
@ -66,6 +66,7 @@ public class MainActionGroup extends CViewActionGroup {
|
||||||
ShowLibrariesAction clibFilterAction;
|
ShowLibrariesAction clibFilterAction;
|
||||||
// Collapsing
|
// Collapsing
|
||||||
CollapseAllAction collapseAllAction;
|
CollapseAllAction collapseAllAction;
|
||||||
|
ToggleLinkingAction toggleLinkingAction;
|
||||||
|
|
||||||
//Search
|
//Search
|
||||||
FileSearchAction fFileSearchAction;
|
FileSearchAction fFileSearchAction;
|
||||||
|
@ -153,6 +154,11 @@ public class MainActionGroup extends CViewActionGroup {
|
||||||
|
|
||||||
collapseAllAction = new CollapseAllAction(getCView());
|
collapseAllAction = new CollapseAllAction(getCView());
|
||||||
|
|
||||||
|
toggleLinkingAction = new ToggleLinkingAction(getCView(), CViewMessages.getString("ToggleLinkingAction.text")); //$NON-NLS-1$
|
||||||
|
toggleLinkingAction.setToolTipText(CViewMessages.getString("ToggleLinkingAction.toolTip")); //$NON-NLS-1$
|
||||||
|
toggleLinkingAction.setImageDescriptor(getImageDescriptor("elcl16/synced.gif"));//$NON-NLS-1$
|
||||||
|
toggleLinkingAction.setHoverImageDescriptor(getImageDescriptor("clcl16/synced.gif"));//$NON-NLS-1$
|
||||||
|
|
||||||
fFileSearchAction = new FileSearchAction(viewer);
|
fFileSearchAction = new FileSearchAction(viewer);
|
||||||
fFileSearchActionInWorkingSet = new FileSearchActionInWorkingSet(viewer);
|
fFileSearchActionInWorkingSet = new FileSearchActionInWorkingSet(viewer);
|
||||||
fSearchDialogAction = new SearchDialogAction(viewer, getCView().getViewSite().getWorkbenchWindow());
|
fSearchDialogAction = new SearchDialogAction(viewer, getCView().getViewSite().getWorkbenchWindow());
|
||||||
|
@ -320,11 +326,12 @@ public class MainActionGroup extends CViewActionGroup {
|
||||||
IToolBarManager toolBar = actionBars.getToolBarManager();
|
IToolBarManager toolBar = actionBars.getToolBarManager();
|
||||||
toolBar.add(new Separator());
|
toolBar.add(new Separator());
|
||||||
toolBar.add(collapseAllAction);
|
toolBar.add(collapseAllAction);
|
||||||
|
toolBar.add(toggleLinkingAction);
|
||||||
|
|
||||||
IMenuManager menu = actionBars.getMenuManager();
|
IMenuManager menu = actionBars.getMenuManager();
|
||||||
//menu.add (clibFilterAction);
|
//menu.add (clibFilterAction);
|
||||||
menu.add(patternFilterAction);
|
menu.add(patternFilterAction);
|
||||||
|
menu.add(toggleLinkingAction);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void dispose() {
|
public void dispose() {
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
/*******************************************************************************
|
||||||
|
* Copyright (c) 2000, 2003 IBM Corporation and others.
|
||||||
|
* All rights reserved. This program and the accompanying materials
|
||||||
|
* are made available under the terms of the Common Public License v1.0
|
||||||
|
* which accompanies this distribution, and is available at
|
||||||
|
* http://www.eclipse.org/legal/cpl-v10.html
|
||||||
|
*
|
||||||
|
* Contributors:
|
||||||
|
* IBM Corporation - initial API and implementation
|
||||||
|
*******************************************************************************/
|
||||||
|
|
||||||
|
package org.eclipse.cdt.internal.ui.cview;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This action toggles whether this navigator links its selection to the active
|
||||||
|
* editor.
|
||||||
|
*
|
||||||
|
* @since 2.0
|
||||||
|
*/
|
||||||
|
public class ToggleLinkingAction extends CViewAction {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructs a new action.
|
||||||
|
*/
|
||||||
|
public ToggleLinkingAction(CView cview, String label) {
|
||||||
|
super(cview, label);
|
||||||
|
setChecked(cview.isLinkingEnabled());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Runs the action.
|
||||||
|
*/
|
||||||
|
public void run() {
|
||||||
|
getCView().setLinkingEnabled(isChecked());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -61,6 +61,10 @@ public class CPluginPreferencePage extends FieldEditorPreferencePage implements
|
||||||
return CUIPlugin.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.PREF_LINK_TO_EDITOR);
|
return CUIPlugin.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.PREF_LINK_TO_EDITOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static void setLinkingEnabled(boolean enable) {
|
||||||
|
CUIPlugin.getDefault().getPreferenceStore().setValue(PreferenceConstants.PREF_LINK_TO_EDITOR, enable);
|
||||||
|
}
|
||||||
|
|
||||||
public static boolean showCompilationUnitChildren() {
|
public static boolean showCompilationUnitChildren() {
|
||||||
return CUIPlugin.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.PREF_SHOW_CU_CHILDREN);
|
return CUIPlugin.getDefault().getPreferenceStore().getBoolean(PreferenceConstants.PREF_SHOW_CU_CHILDREN);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue