[jbosstools-commits] JBoss Tools SVN: r23770 - trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Wed Jul 28 06:38:35 EDT 2010


Author: dazarov
Date: 2010-07-28 06:38:34 -0400 (Wed, 28 Jul 2010)
New Revision: 23770

Added:
   trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/MultipleHyperlinkPresenterManager.java
Modified:
   trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventListHyperlink.java
   trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointListHyperlink.java
   trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodListHyperlink.java
Log:
https://jira.jboss.org/browse/JBIDE-3124

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventListHyperlink.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventListHyperlink.java	2010-07-28 09:58:55 UTC (rev 23769)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/EventListHyperlink.java	2010-07-28 10:38:34 UTC (rev 23770)
@@ -16,13 +16,7 @@
 import org.eclipse.jface.text.IRegion;
 import org.eclipse.jface.text.ITextViewer;
 import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jface.text.hyperlink.MultipleHyperlinkPresenter;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
 import org.jboss.tools.cdi.core.IInjectionPoint;
-import org.jboss.tools.cdi.core.IObserverMethod;
 import org.jboss.tools.cdi.text.ext.CDIExtensionsMessages;
 import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
 
@@ -31,16 +25,12 @@
 	private Set<IInjectionPoint> events;
 	private IRegion region;
 	
-	private static MultipleHyperlinkPresenter mhp = new MultipleHyperlinkPresenter(new RGB(0, 0, 255));
-	private static boolean installed = false;
-	
 	public EventListHyperlink(ITextViewer viewer, IRegion region, Set<IInjectionPoint> events, IDocument document){
 		this.viewer = viewer;
 		this.events = events;
 		this.region = region;
 		setDocument(document);
 	}
-	
 
 	@Override
 	protected IRegion doGetHyperlinkRegion(int offset) {
@@ -60,39 +50,10 @@
 			return;
 		}
 		
-		if(installed){
-			installed = false;
-			mhp.uninstall();
-		}
-		
 		if(hyperlinks.length == 1){
 			((EventHyperlink)hyperlinks[0]).doHyperlink(region);
 		}else{
-			installed = true;
-			
-			mhp.install(viewer);
-			mhp.showHyperlinks(hyperlinks);
-			PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(new IPartListener(){
-				public void partActivated(IWorkbenchPart arg0) {
-				}
-
-				public void partBroughtToTop(IWorkbenchPart arg0) {
-				}
-
-				public void partClosed(IWorkbenchPart arg0) {
-					if(installed){
-						installed = false;
-						mhp.uninstall();
-					}
-				}
-
-				public void partDeactivated(IWorkbenchPart arg0) {
-					
-				}
-
-				public void partOpened(IWorkbenchPart arg0) {
-				}
-			});
+			MultipleHyperlinkPresenterManager.installAndShow(viewer, hyperlinks);
 		}
 	}
 

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointListHyperlink.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointListHyperlink.java	2010-07-28 09:58:55 UTC (rev 23769)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/InjectedPointListHyperlink.java	2010-07-28 10:38:34 UTC (rev 23770)
@@ -19,12 +19,6 @@
 import org.eclipse.jface.text.IRegion;
 import org.eclipse.jface.text.ITextViewer;
 import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jface.text.hyperlink.MultipleHyperlinkPresenter;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.texteditor.ITextEditor;
 import org.jboss.tools.cdi.core.CDICoreNature;
 import org.jboss.tools.cdi.core.CDICorePlugin;
 import org.jboss.tools.cdi.core.CDIUtil;
@@ -41,9 +35,6 @@
 	private IRegion region;
 	private ITextViewer viewer;
 	
-	private static MultipleHyperlinkPresenter mhp = new MultipleHyperlinkPresenter(new RGB(0, 0, 255));
-	private static boolean installed = false;
-	
 	public InjectedPointListHyperlink(IFile file, ITextViewer viewer, IRegion region, IJavaElement element, int position, IDocument document){
 		this.file = file;
 		this.element = element;
@@ -97,39 +88,10 @@
 			return;
 		}
 		
-		if(installed){
-			installed = false;
-			mhp.uninstall();
-		}
-		
 		if(hyperlinks.length == 1){
 			((InjectedPointHyperlink)hyperlinks[0]).doHyperlink(region);
 		}else{
-			installed = true;
-			
-			mhp.install(viewer);
-			mhp.showHyperlinks(hyperlinks);
-			PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(new IPartListener(){
-				public void partActivated(IWorkbenchPart arg0) {
-				}
-
-				public void partBroughtToTop(IWorkbenchPart arg0) {
-				}
-
-				public void partClosed(IWorkbenchPart arg0) {
-					if(installed){
-						installed = false;
-						mhp.uninstall();
-					}
-				}
-
-				public void partDeactivated(IWorkbenchPart arg0) {
-					
-				}
-
-				public void partOpened(IWorkbenchPart arg0) {
-				}
-			});
+			MultipleHyperlinkPresenterManager.installAndShow(viewer, hyperlinks);
 		}
 	}
 

Added: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/MultipleHyperlinkPresenterManager.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/MultipleHyperlinkPresenterManager.java	                        (rev 0)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/MultipleHyperlinkPresenterManager.java	2010-07-28 10:38:34 UTC (rev 23770)
@@ -0,0 +1,66 @@
+/******************************************************************************* 
+ * Copyright (c) 2010 Red Hat, Inc. 
+ * Distributed under license by Red Hat, Inc. All rights reserved. 
+ * This program is made available under the terms of the 
+ * Eclipse Public License v1.0 which accompanies this distribution, 
+ * and is available at http://www.eclipse.org/legal/epl-v10.html 
+ * 
+ * Contributors: 
+ * Red Hat, Inc. - initial API and implementation 
+ ******************************************************************************/ 
+package org.jboss.tools.cdi.text.ext.hyperlink;
+
+import org.eclipse.jface.text.ITextViewer;
+import org.eclipse.jface.text.hyperlink.IHyperlink;
+import org.eclipse.jface.text.hyperlink.MultipleHyperlinkPresenter;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.ui.IPartListener;
+import org.eclipse.ui.IWorkbenchPart;
+import org.eclipse.ui.PlatformUI;
+
+public class MultipleHyperlinkPresenterManager {
+	private static MultipleHyperlinkPresenter mhp = new MultipleHyperlinkPresenter(new RGB(0, 0, 255));
+	private static boolean installed = false;
+	private static MyPartListener listener = new MyPartListener();
+	
+	public static void installAndShow(ITextViewer viewer, IHyperlink[] hyperlinks){
+		if(installed)
+			uninstall();
+		
+		mhp.install(viewer);
+		mhp.showHyperlinks(hyperlinks);
+		PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(listener);
+		installed = true;
+	}
+	
+	public static void uninstall(){
+		installed = false;
+		mhp.uninstall();
+		PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().removePartListener(listener);
+	}
+	
+	static class MyPartListener implements IPartListener{
+		public MyPartListener(){
+			
+		}
+		
+		public void partActivated(IWorkbenchPart arg0) {
+		}
+
+		public void partBroughtToTop(IWorkbenchPart arg0) {
+		}
+
+		public void partClosed(IWorkbenchPart arg0) {
+			if(installed){
+				uninstall();
+			}
+		}
+
+		public void partDeactivated(IWorkbenchPart arg0) {
+			
+		}
+
+		public void partOpened(IWorkbenchPart arg0) {
+		}
+	}
+}


Property changes on: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/MultipleHyperlinkPresenterManager.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodListHyperlink.java
===================================================================
--- trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodListHyperlink.java	2010-07-28 09:58:55 UTC (rev 23769)
+++ trunk/cdi/plugins/org.jboss.tools.cdi.text.ext/src/org/jboss/tools/cdi/text/ext/hyperlink/ObserverMethodListHyperlink.java	2010-07-28 10:38:34 UTC (rev 23770)
@@ -16,11 +16,6 @@
 import org.eclipse.jface.text.IRegion;
 import org.eclipse.jface.text.ITextViewer;
 import org.eclipse.jface.text.hyperlink.IHyperlink;
-import org.eclipse.jface.text.hyperlink.MultipleHyperlinkPresenter;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.ui.IPartListener;
-import org.eclipse.ui.IWorkbenchPart;
-import org.eclipse.ui.PlatformUI;
 import org.jboss.tools.cdi.core.IObserverMethod;
 import org.jboss.tools.cdi.text.ext.CDIExtensionsMessages;
 import org.jboss.tools.common.text.ext.hyperlink.AbstractHyperlink;
@@ -30,16 +25,12 @@
 	private Set<IObserverMethod> observerMethods;
 	private IRegion region;
 	
-	private static MultipleHyperlinkPresenter mhp = new MultipleHyperlinkPresenter(new RGB(0, 0, 255));
-	private static boolean installed = false;
-	
 	public ObserverMethodListHyperlink(ITextViewer viewer, IRegion region, Set<IObserverMethod> observerMethods, IDocument document){
 		this.viewer = viewer;
 		this.observerMethods = observerMethods;
 		this.region = region;
 		setDocument(document);
 	}
-	
 
 	@Override
 	protected IRegion doGetHyperlinkRegion(int offset) {
@@ -59,39 +50,10 @@
 			return;
 		}
 		
-		if(installed){
-			installed = false;
-			mhp.uninstall();
-		}
-		
 		if(hyperlinks.length == 1){
 			((ObserverMethodHyperlink)hyperlinks[0]).doHyperlink(region);
 		}else{
-			installed = true;
-			
-			mhp.install(viewer);
-			mhp.showHyperlinks(hyperlinks);
-			PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService().addPartListener(new IPartListener(){
-				public void partActivated(IWorkbenchPart arg0) {
-				}
-
-				public void partBroughtToTop(IWorkbenchPart arg0) {
-				}
-
-				public void partClosed(IWorkbenchPart arg0) {
-					if(installed){
-						installed = false;
-						mhp.uninstall();
-					}
-				}
-
-				public void partDeactivated(IWorkbenchPart arg0) {
-					
-				}
-
-				public void partOpened(IWorkbenchPart arg0) {
-				}
-			});
+			MultipleHyperlinkPresenterManager.installAndShow(viewer, hyperlinks);
 		}
 	}
 



More information about the jbosstools-commits mailing list