1 11 package org.eclipse.ui.internal.browser; 12 13 import org.eclipse.ui.IPartListener; 14 import org.eclipse.ui.IWorkbenchPage; 15 import org.eclipse.ui.IWorkbenchPart; 16 import org.eclipse.ui.IWorkbenchWindow; 17 import org.eclipse.ui.browser.AbstractWebBrowser; 18 19 22 public abstract class InternalBrowserInstance extends AbstractWebBrowser { 23 protected int style; 24 25 protected String name; 26 27 protected String tooltip; 28 29 protected IWorkbenchPart part; 30 31 protected IPartListener listener; 32 33 private Integer windowKey; 34 35 public InternalBrowserInstance(String id, int style, String name, 36 String tooltip) { 37 super(WebBrowserUtil.encodeStyle(id, style)); 38 this.style = style; 39 this.name = name; 40 this.tooltip = tooltip; 41 } 42 43 public void setName(String name) { 44 this.name = name; 45 } 46 47 public void setTooltip(String tooltip) { 48 this.tooltip = tooltip; 49 } 50 51 protected void hookPart(final IWorkbenchPage page, IWorkbenchPart part2) { 52 this.part = part2; 53 listener = new IPartListener() { 54 public void partActivated(IWorkbenchPart part3) { 55 } 57 58 public void partBroughtToTop(IWorkbenchPart part3) { 59 } 61 62 public void partClosed(IWorkbenchPart part3) { 63 if (part3.equals(InternalBrowserInstance.this.part)) { 64 InternalBrowserInstance.this.part = null; 65 page.removePartListener(listener); 66 DefaultBrowserSupport.getInstance().removeBrowser( 67 InternalBrowserInstance.this); 68 } 69 } 70 71 public void partDeactivated(IWorkbenchPart part3) { 72 } 74 75 public void partOpened(IWorkbenchPart part3) { 76 } 78 }; 79 page.addPartListener(listener); 80 IWorkbenchWindow window = part.getSite().getWorkbenchWindow(); 81 windowKey = new Integer (window.hashCode()); 82 } 83 84 public Integer getWindowKey() { 85 return windowKey; 86 } 87 } 88 | Popular Tags |