Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[cdt-patch] link with editor action

This patch cleans up code using the ToggleLinkingAction (subclass off AbstractToggleLinkingAction).

Chris

Index: browser/org/eclipse/cdt/internal/ui/browser/cbrowsing/CBrowsingPart.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/browser/org/eclipse/cdt/internal/ui/browser/cbrowsing/CBrowsingPart.java,v
retrieving revision 1.7
diff -u -r1.7 CBrowsingPart.java
--- browser/org/eclipse/cdt/internal/ui/browser/cbrowsing/CBrowsingPart.java	15 Jul 2004 18:27:15 -0000	1.7
+++ browser/org/eclipse/cdt/internal/ui/browser/cbrowsing/CBrowsingPart.java	16 Jul 2004 22:49:51 -0000
@@ -124,7 +124,7 @@
 //	private OpenEditorActionGroup fOpenEditorGroup;
 //	private CCPActionGroup fCCPActionGroup;
 //	private BuildActionGroup fBuildActionGroup;
-//	private ToggleLinkingAction fToggleLinkingAction;
+	private ToggleLinkingAction fToggleLinkingAction;
 //	protected CompositeActionGroup fActionGroups;
 
 
@@ -435,8 +435,8 @@
 //		if (fHasCustomFilter)
 //			fCustomFiltersActionGroup.fillActionBars(actionBars);
 //			
-//		IMenuManager menu= actionBars.getMenuManager();
-//		menu.add(fToggleLinkingAction);
+		IMenuManager menu= actionBars.getMenuManager();
+		menu.add(fToggleLinkingAction);
 	}
 	
 	//---- IWorkbenchPart ------------------------------------------------------
@@ -548,7 +548,7 @@
 //		if (fHasCustomFilter)
 //			fCustomFiltersActionGroup= new CustomFiltersActionGroup(this, fViewer);
 //	
-//		fToggleLinkingAction= new ToggleLinkingAction(this);
+		fToggleLinkingAction= new ToggleLinkingAction(this);
 	}
 	
 	private void doWorkingSetChanged(PropertyChangeEvent event) {
@@ -933,10 +933,10 @@
 		if (!needsToProcessSelectionChanged(part, selection))
 			return;
 		
-//		if (fToggleLinkingAction.isChecked() && (part instanceof ITextEditor)) {
-//			setSelectionFromEditor(part, selection);
-//			return;
-//		}
+		if (fToggleLinkingAction.isChecked() && (part instanceof ITextEditor)) {
+			setSelectionFromEditor(part, selection);
+			return;
+		}
 
 		if (!(selection instanceof IStructuredSelection))
 			return;
Index: src/org/eclipse/cdt/internal/ui/cview/MainActionGroup.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/MainActionGroup.java,v
retrieving revision 1.17
diff -u -r1.17 MainActionGroup.java
--- src/org/eclipse/cdt/internal/ui/cview/MainActionGroup.java	15 Jul 2004 18:27:15 -0000	1.17
+++ src/org/eclipse/cdt/internal/ui/cview/MainActionGroup.java	16 Jul 2004 22:49:51 -0000
@@ -149,7 +149,7 @@
 
 		collapseAllAction = new CollapseAllAction(getCView());
 
-		toggleLinkingAction = new ToggleLinkingAction(getCView(), CViewMessages.getString("ToggleLinkingAction.label")); //$NON-NLS-1$
+		toggleLinkingAction = new ToggleLinkingAction(getCView()); //$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$
Index: src/org/eclipse/cdt/internal/ui/cview/ToggleLinkingAction.java
===================================================================
RCS file: /home/tools/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/cview/ToggleLinkingAction.java,v
retrieving revision 1.2
diff -u -r1.2 ToggleLinkingAction.java
--- src/org/eclipse/cdt/internal/ui/cview/ToggleLinkingAction.java	24 Jun 2004 19:29:33 -0000	1.2
+++ src/org/eclipse/cdt/internal/ui/cview/ToggleLinkingAction.java	16 Jul 2004 22:49:51 -0000
@@ -11,27 +11,31 @@
 
 package org.eclipse.cdt.internal.ui.cview;
 
+import org.eclipse.cdt.internal.ui.actions.AbstractToggleLinkingAction;
+
 /**
  * This action toggles whether this navigator links its selection to the active
  * editor.
  * 
  * @since 2.0
  */
-public class ToggleLinkingAction extends CViewAction {
-
+public class ToggleLinkingAction extends AbstractToggleLinkingAction {
+	
+    CView fCView;
+    
 	/**
 	 * Constructs a new action.
 	 */
-	public ToggleLinkingAction(CView cview, String label) {
-		super(cview, label);
-		setChecked(cview.isLinkingEnabled());
+	public ToggleLinkingAction(CView cView) {
+		fCView = cView;
+		setChecked(cView.isLinkingEnabled());
 	}
 
 	/**
 	 * Runs the action.
 	 */
 	public void run() {
-		getCView().setLinkingEnabled(isChecked());
+	    fCView.setLinkingEnabled(isChecked());
 	}
 
 }
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.31
diff -u -r1.31 CContentOutlinePage.java
--- src/org/eclipse/cdt/internal/ui/editor/CContentOutlinePage.java	15 Jul 2004 18:27:15 -0000	1.31
+++ src/org/eclipse/cdt/internal/ui/editor/CContentOutlinePage.java	16 Jul 2004 22:49:51 -0000
@@ -11,13 +11,13 @@
 import org.eclipse.cdt.core.model.ICElement;
 import org.eclipse.cdt.core.model.ITranslationUnit;
 import org.eclipse.cdt.internal.ui.ICHelpContextIds;
-import org.eclipse.cdt.internal.ui.IContextMenuConstants;
 import org.eclipse.cdt.internal.ui.StandardCElementLabelProvider;
-import org.eclipse.cdt.internal.ui.cview.CViewMessages;
+import org.eclipse.cdt.internal.ui.actions.AbstractToggleLinkingAction;
 import org.eclipse.cdt.internal.ui.search.actions.SelectionSearchGroup;
 import org.eclipse.cdt.internal.ui.util.ProblemTreeViewer;
 import org.eclipse.cdt.ui.CElementContentProvider;
 import org.eclipse.cdt.ui.CUIPlugin;
+import org.eclipse.cdt.ui.PreferenceConstants;
 import org.eclipse.cdt.ui.actions.MemberFilterActionGroup;
 import org.eclipse.cdt.ui.actions.OpenViewActionGroup;
 import org.eclipse.cdt.ui.actions.RefactoringActionGroup;
@@ -58,6 +58,7 @@
 	private String fContextMenuId;
 	
 	private OpenIncludeAction fOpenIncludeAction;
+	private ToggleLinkingAction fToggleLinkingAction;
 	
 	private MemberFilterActionGroup fMemberFilterActionGroup;
 
@@ -65,6 +66,40 @@
 	private ActionGroup fRefactoringActionGroup;
 	private ActionGroup fOpenViewActionGroup;
 	
+	/**
+	 * This action toggles whether this C Outline page links
+	 * its selection to the active editor.
+	 * 
+	 * @since 3.0
+	 */
+	public class ToggleLinkingAction extends AbstractToggleLinkingAction {
+	
+	    CContentOutlinePage fOutlinePage;
+	
+		/**
+		 * Constructs a new action.
+		 * 
+		 * @param outlinePage the Java outline page
+		 */
+		public ToggleLinkingAction(CContentOutlinePage outlinePage) {
+			//boolean isLinkingEnabled= PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE);
+			boolean isLinkingEnabled= true;
+			setChecked(isLinkingEnabled);
+			fOutlinePage= outlinePage;
+		}
+
+		/**
+		 * Runs the action.
+		 */
+		public void run() {
+			//TODO synchronize selection with editor
+			//PreferenceConstants.getPreferenceStore().setValue(PreferenceConstants.EDITOR_SYNC_OUTLINE_ON_CURSOR_MOVE, isChecked());
+			//if (isChecked() && fEditor != null)
+			//	fEditor.synchronizeOutlinePage(fEditor.computeHighlightRangeSourceReference(), false);
+		}
+
+	}
+	
 	public CContentOutlinePage(CEditor editor) {
 		this("#TranslationUnitOutlinerContext", editor); //$NON-NLS-1$
 	}
@@ -250,7 +285,13 @@
 
 		fMemberFilterActionGroup= new MemberFilterActionGroup(treeViewer, "COutlineViewer"); //$NON-NLS-1$
 		fMemberFilterActionGroup.fillActionBars(actionBars);
-	}
+		
+/*		IMenuManager menu= actionBars.getMenuManager();
+		menu.add(new Separator("EndFilterGroup")); //$NON-NLS-1$
+		
+		fToggleLinkingAction= new ToggleLinkingAction(this);
+		menu.add(fToggleLinkingAction);
+*/	}
 
 	/* (non-Javadoc)
 	 * Method declared on ISelectionProvider.
Index: browser/org/eclipse/cdt/internal/ui/browser/cbrowsing/ToggleLinkingAction.java
===================================================================
RCS file: browser/org/eclipse/cdt/internal/ui/browser/cbrowsing/ToggleLinkingAction.java
diff -N browser/org/eclipse/cdt/internal/ui/browser/cbrowsing/ToggleLinkingAction.java
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ browser/org/eclipse/cdt/internal/ui/browser/cbrowsing/ToggleLinkingAction.java	1 Jan 1970 00:00:00 -0000
@@ -0,0 +1,40 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2004 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.browser.cbrowsing;
+
+import org.eclipse.cdt.internal.ui.actions.AbstractToggleLinkingAction;
+
+/**
+ * This action toggles whether this package explorer links its selection to the active
+ * editor.
+ * 
+ * @since 2.1
+ */
+public class ToggleLinkingAction extends AbstractToggleLinkingAction {
+	
+	CBrowsingPart fCBrowsingPart;
+	
+	/**
+	 * Constructs a new action.
+	 */
+	public ToggleLinkingAction(CBrowsingPart part) {
+		setChecked(part.isLinkingEnabled());
+		fCBrowsingPart= part;
+	}
+
+	/**
+	 * Runs the action.
+	 */
+	public void run() {
+	    fCBrowsingPart.setLinkingEnabled(isChecked());
+	}
+
+}

Back to the top