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
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 * 
6
 * 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
 * 
11
 * 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
 * 
16
 * 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
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
19
 * MA  02110-1301, USA.
20
 * 
21
 */
22
package org.gvsig.app.project.documents.view.gui;
23

    
24
import java.beans.PropertyChangeEvent;
25
import java.beans.PropertyChangeListener;
26
import java.util.ArrayList;
27
import java.util.List;
28

    
29
import javax.swing.ListModel;
30
import javax.swing.event.ListDataEvent;
31
import javax.swing.event.ListDataListener;
32

    
33
import org.gvsig.app.project.Project;
34

    
35
public class ExtentListSelectorModel implements ListModel,
36
    PropertyChangeListener {
37

    
38
    private Project project;
39
    private List<ListDataListener> listeners =
40
        new ArrayList<ListDataListener>();
41

    
42
    public ExtentListSelectorModel(Project p) {
43
        project = p;
44
    }
45

    
46
    public int getSize() {
47
        return project.getExtents().length;
48
    }
49

    
50
    public Object getElementAt(int arg0) {
51
        return project.getExtents()[arg0];
52
    }
53

    
54
    public void addListDataListener(ListDataListener arg0) {
55
        listeners.add(arg0);
56
    }
57

    
58
    public void removeListDataListener(ListDataListener arg0) {
59
        listeners.remove(arg0);
60
    }
61

    
62
    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

    
80
}