Statistics
| Revision:

svn-gvsig-desktop / branches / v2_0_0_prep / applications / appgvSIG / src / org / gvsig / app / project / documents / view / gui / ExtentListSelectorModel.java @ 40331

History | View | Annotate | Download (2.54 KB)

1 36475 cordinyana
/* gvSIG. Geographic Information System of the Valencian Government
2 7304 caballero
 *
3 36475 cordinyana
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 *
6 7304 caballero
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10 36475 cordinyana
 *
11 7304 caballero
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15 36475 cordinyana
 *
16 7304 caballero
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18 36475 cordinyana
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21 7304 caballero
 */
22 29596 jpiera
package org.gvsig.app.project.documents.view.gui;
23 7304 caballero
24
import java.beans.PropertyChangeEvent;
25
import java.beans.PropertyChangeListener;
26
import java.util.ArrayList;
27 36475 cordinyana
import java.util.List;
28 7304 caballero
29
import javax.swing.ListModel;
30
import javax.swing.event.ListDataEvent;
31
import javax.swing.event.ListDataListener;
32
33 29596 jpiera
import org.gvsig.app.project.Project;
34 7304 caballero
35 36475 cordinyana
public class ExtentListSelectorModel implements ListModel,
36
    PropertyChangeListener {
37 7304 caballero
38 36475 cordinyana
    private Project project;
39
    private List<ListDataListener> listeners =
40
        new ArrayList<ListDataListener>();
41 7304 caballero
42 36475 cordinyana
    public ExtentListSelectorModel(Project p) {
43
        project = p;
44
    }
45 29596 jpiera
46 36475 cordinyana
    public int getSize() {
47
        return project.getExtents().length;
48
    }
49 7304 caballero
50 36475 cordinyana
    public Object getElementAt(int arg0) {
51
        return project.getExtents()[arg0];
52
    }
53 7304 caballero
54 36475 cordinyana
    public void addListDataListener(ListDataListener arg0) {
55
        listeners.add(arg0);
56
    }
57 7304 caballero
58 36475 cordinyana
    public void removeListDataListener(ListDataListener arg0) {
59
        listeners.remove(arg0);
60
    }
61 7304 caballero
62 36475 cordinyana
    public void propertyChange(PropertyChangeEvent change) {
63
        if (change.getPropertyName().equals("addExtent")) {
64
            ListDataEvent event =
65
                new ListDataEvent(this, ListDataEvent.INTERVAL_ADDED, 0,
66
                    getSize());
67
            for (int i = 0; i < listeners.size(); i++) {
68
                listeners.get(i).intervalAdded(event);
69
            }
70
        } else {
71
            ListDataEvent event =
72
                new ListDataEvent(this, ListDataEvent.INTERVAL_REMOVED, 0,
73
                    getSize());
74
            for (int i = 0; i < listeners.size(); i++) {
75
                listeners.get(i).intervalRemoved(event);
76
            }
77
        }
78
    }
79 7304 caballero
80
}