Adding patch from pteague for templates.
[phpeclipse.git] / net.sourceforge.phpeclipse.webbrowser / src / net / sourceforge / phpeclipse / webbrowser / internal / BrowserContentProvider.java
1 /**********************************************************************
2  * Copyright (c) 2003 IBM Corporation and others.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Common Public License v1.0
5  * which accompanies this distribution, and is available at
6  * http://www.eclipse.org/legal/cpl-v10.html
7  �*
8  * Contributors:
9  *    IBM - Initial API and implementation
10  **********************************************************************/
11 package net.sourceforge.phpeclipse.webbrowser.internal;
12
13 import java.util.ArrayList;
14 import java.util.Iterator;
15 import java.util.List;
16
17 import net.sourceforge.phpeclipse.webbrowser.IWebBrowser;
18
19 import org.eclipse.jface.viewers.IStructuredContentProvider;
20 import org.eclipse.jface.viewers.Viewer;
21
22 /**
23  * Monitor content provider.
24  */
25 public class BrowserContentProvider implements IStructuredContentProvider {
26         /**
27          * BrowserContentProvider constructor comment.
28          */
29         public BrowserContentProvider() {
30                 super();
31         }
32
33         /**
34          * Disposes of this content provider. This is called by the viewer when it
35          * is disposed.
36          */
37         public void dispose() {
38         }
39
40         /**
41          * Returns the elements to display in the viewer when its input is set to
42          * the given element. These elements can be presented as rows in a table,
43          * items in a list, etc. The result is not modified by the viewer.
44          * 
45          * @param inputElement
46          *            the input element
47          * @return the array of elements to display in the viewer
48          */
49         public Object[] getElements(Object inputElement) {
50                 List list = new ArrayList();
51                 Iterator iterator = BrowserManager.getInstance().getWebBrowsers()
52                                 .iterator();
53                 while (iterator.hasNext()) {
54                         IWebBrowser browser = (IWebBrowser) iterator.next();
55                         list.add(browser);
56                 }
57                 return list.toArray();
58         }
59
60         /**
61          * Notifies this content provider that the given viewer's input has been
62          * switched to a different element.
63          * <p>
64          * A typical use for this method is registering the content provider as a
65          * listener to changes on the new input (using model-specific means), and
66          * deregistering the viewer from the old input. In response to these change
67          * notifications, the content provider propagates the changes to the viewer.
68          * </p>
69          * 
70          * @param viewer
71          *            the viewer
72          * @param oldInput
73          *            the old input element, or <code>null</code> if the viewer
74          *            did not previously have an input
75          * @param newInput
76          *            the new input element, or <code>null</code> if the viewer
77          *            does not have an input
78          */
79         public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
80         }
81 }