Debugger now steps through embedded PHP in HTML files.
[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.  
35          * This is called by the viewer when it is disposed.
36          */
37         public void dispose() { }
38
39         /**
40          * Returns the elements to display in the viewer 
41          * when its input is set to the given element. 
42          * These elements can be presented as rows in a table, items in a list, etc.
43          * The result is not modified by the viewer.
44          *
45          * @param inputElement the input element
46          * @return the array of elements to display in the viewer
47          */
48         public Object[] getElements(Object inputElement) {
49                 List list = new ArrayList();
50                 Iterator iterator = BrowserManager.getInstance().getWebBrowsers().iterator();
51                 while (iterator.hasNext()) {
52                         IWebBrowser browser = (IWebBrowser) iterator.next();
53                         list.add(browser);
54                 }
55                 return list.toArray();
56                 }
57
58         /**
59          * Notifies this content provider that the given viewer's input
60          * has been switched to a different element.
61          * <p>
62          * A typical use for this method is registering the content provider as a listener
63          * to changes on the new input (using model-specific means), and deregistering the viewer 
64          * from the old input. In response to these change notifications, the content provider
65          * propagates the changes to the viewer.
66          * </p>
67          *
68          * @param viewer the viewer
69          * @param oldInput the old input element, or <code>null</code> if the viewer
70          *   did not previously have an input
71          * @param newInput the new input element, or <code>null</code> if the viewer
72          *   does not have an input
73          */
74         public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {}
75 }