Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.installer / org.gvsig.installer.swing / org.gvsig.installer.swing.impl / src / main / java / org / gvsig / installer / swing / impl / execution / panel / SelectPackagesPanel.java @ 43126

History | View | Annotate | Download (4.78 KB)

1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or modify it under
7
 * the terms of the GNU General Public License as published by the Free Software
8
 * Foundation; either version 3 of the License, or (at your option) any later
9
 * version.
10
 *
11
 * This program is distributed in the hope that it will be useful, but WITHOUT
12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
13
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
14
 * details.
15
 *
16
 * You should have received a copy of the GNU General Public License along with
17
 * this program; if not, write to the Free Software Foundation, Inc., 51
18
 * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19
 *
20
 * For any additional information, do not hesitate to contact us at info AT
21
 * gvsig.com, or visit our website www.gvsig.com.
22
 */
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2010 {Prodevelop}   {Task}
26
 */
27
package org.gvsig.installer.swing.impl.execution.panel;
28

    
29
import java.awt.BorderLayout;
30
import java.util.ArrayList;
31
import java.util.List;
32

    
33
import javax.swing.JPanel;
34
import org.apache.commons.lang3.StringUtils;
35

    
36
import org.gvsig.installer.lib.api.PackageInfo;
37
import org.gvsig.installer.lib.api.execution.InstallPackageService;
38
import org.gvsig.installer.swing.api.SwingInstallerLocator;
39
import org.gvsig.installer.swing.api.execution.PackageFilter;
40
import org.gvsig.installer.swing.impl.DefaultSwingInstallerManager;
41
import org.gvsig.installer.swing.impl.execution.panel.filters.TypeFilter;
42
import org.gvsig.installer.swing.impl.execution.panel.model.PackagesTableModel;
43
import org.gvsig.installer.swing.impl.execution.wizard.SelectPackagesWizardPage;
44

    
45
/**
46
 * @author gvSIG Team
47
 * @version $Id$
48
 */
49
public class SelectPackagesPanel extends JPanel {
50

    
51
    private SelectPackagesWizardPage wizard;
52
    private static final long serialVersionUID = -7554097983061858479L;
53
    protected DefaultSwingInstallerManager swingInstallerManager = null;
54
    private PackagesTablePanel packagesTablePanel;
55

    
56
    private PackagesTableModel pluginsTableModel = null;
57

    
58
    public SelectPackagesPanel(SelectPackagesWizardPage selectPackagesWizard) {
59
        super();
60
        this.wizard = selectPackagesWizard;
61
        swingInstallerManager = (DefaultSwingInstallerManager) SwingInstallerLocator
62
                .getSwingInstallerManager();
63
        initComponents();
64
    }
65

    
66
    public JPanel getJPanel() {
67
        return this;
68
    }
69

    
70
    public void updateTableModel(PackagesTableModel pluginsTableModel) {
71
        packagesTablePanel.setTableModel(pluginsTableModel);
72
        add(packagesTablePanel, BorderLayout.CENTER);
73
    }
74

    
75
    public void selectPackages() {
76
        packagesTablePanel.selectPackages();
77
    }
78

    
79
    private void initComponents() {
80
        setLayout(new BorderLayout(0, 0));
81

    
82
        packagesTablePanel = new PackagesTablePanel(this);
83
        add(packagesTablePanel, BorderLayout.CENTER);
84
    }
85

    
86
    public List<PackageInfo> getPackagesToInstall() {
87

    
88
        List<PackageInfo> packages = packagesTablePanel.getPackagesToInstall();
89

    
90
        List<PackageInfo> packagesToInstall = new ArrayList<PackageInfo>();
91
        packagesToInstall.addAll(packages);
92
        return packagesToInstall;
93
    }
94

    
95
    public boolean isPackageSelected() {
96
        return packagesTablePanel.isPackageSelected();
97
    }
98

    
99
    public void checkIfPluginSelected() {
100
        wizard.checkIfPluginSelected();
101
    }
102

    
103
    public void packageSelectionChanged(Object value, int row, int column) {
104
    }
105

    
106
    public void updatePanel() {
107

    
108
        InstallPackageService installerExecutionService = wizard
109
                .getWizardPanel()
110
                .getInstallerExecutionService();
111

    
112
        if (pluginsTableModel == null) {
113
            pluginsTableModel = new PackagesTableModel(swingInstallerManager,
114
                    installerExecutionService, true);
115
        }
116
        pluginsTableModel.updatePackages();
117

    
118
        updateTableModel(pluginsTableModel);
119

    
120
        if (wizard.isDefaultPackagesSelectionSet()) {
121
            pluginsTableModel.selectDefaultPackages();
122
        }
123

    
124
    }
125

    
126
    public PackagesTableModel getModel() {
127
        return this.pluginsTableModel;
128
    }
129

    
130
    public void clearPanel() {
131
        packagesTablePanel.clearAllPanels();
132
    }
133

    
134
    /**
135
     *
136
     */
137
    public void setInitialFilter() {
138
        packagesTablePanel.setInitialFilter();
139

    
140
    }
141

    
142
    public void setBaseFilter(PackageFilter filter) {
143
        if (filter == null) {
144
            this.packagesTablePanel.setBaseFilter(null);
145
            this.packagesTablePanel.setEnabledTypeFilter(true);
146
        } else {
147
            this.packagesTablePanel.setBaseFilter(filter);
148
            if (filter instanceof TypeFilter) {
149
                this.packagesTablePanel.setEnabledTypeFilter(false);
150
            }
151
        }
152
    }
153

    
154
}