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);
}
}