KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > eclipse > ui > internal > browser > InternalBrowserInstance


1 /*******************************************************************************
2  * Copyright (c) 2005, 2006 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/epl-v10.html
7  *
8  * Contributors:
9  * IBM Corporation - Initial API and implementation
10  *******************************************************************************/

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 /**
20  * An instance of a running Web browser.
21  */

22 public abstract class InternalBrowserInstance extends AbstractWebBrowser {
23     protected int style;
24
25     protected String JavaDoc name;
26
27     protected String JavaDoc tooltip;
28
29     protected IWorkbenchPart part;
30
31     protected IPartListener listener;
32     
33     private Integer JavaDoc windowKey;
34
35     public InternalBrowserInstance(String JavaDoc id, int style, String JavaDoc name,
36             String JavaDoc 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 JavaDoc name) {
44         this.name = name;
45     }
46
47     public void setTooltip(String JavaDoc 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                 // ignore
56
}
57
58             public void partBroughtToTop(IWorkbenchPart part3) {
59                 // ignore
60
}
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                 // ignore
73
}
74
75             public void partOpened(IWorkbenchPart part3) {
76                 // ignore
77
}
78         };
79         page.addPartListener(listener);
80         IWorkbenchWindow window = part.getSite().getWorkbenchWindow();
81         windowKey = new Integer JavaDoc(window.hashCode());
82     }
83
84     public Integer JavaDoc getWindowKey() {
85         return windowKey;
86     }
87 }
88
Popular Tags