Statistics
| Revision:

gvsig-projects-pool / org.gvsig.vcsgis / trunk / org.gvsig.vcsgis / org.gvsig.vcsgis.swing / org.gvsig.vcsgis.swing.impl / src / main / java / org / gvsig / vcsgis / swing / impl / VCSGisSwingManagerImpl.java @ 3630

History | View | Annotate | Download (9.03 KB)

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

    
25
import java.net.URL;
26
import javax.swing.ImageIcon;
27
import javax.swing.JButton;
28
import javax.swing.JComboBox;
29
import javax.swing.JList;
30
import javax.swing.JTextField;
31
import javax.swing.JTree;
32
import org.apache.commons.io.FilenameUtils;
33
import org.gvsig.tools.swing.api.ToolsSwingLocator;
34
import org.gvsig.tools.swing.api.pickercontroller.PickerController;
35
import org.gvsig.tools.swing.icontheme.IconTheme;
36
import org.gvsig.vcsgis.lib.VCSGisLocator;
37
import static org.gvsig.vcsgis.lib.VCSGisManager.STATE_UNKNOWN;
38
import org.gvsig.vcsgis.lib.workspace.VCSGisWorkspace;
39
import org.gvsig.vcsgis.lib.workspace.VCSGisWorkspaceEntity;
40
import org.gvsig.vcsgis.swing.VCSGisEntitySelectorController;
41
import org.gvsig.vcsgis.swing.VCSGisJAddToWorkspace;
42
import org.gvsig.vcsgis.swing.VCSGisJChanges;
43
import org.gvsig.vcsgis.swing.VCSGisJCheckout;
44
import org.gvsig.vcsgis.swing.VCSGisJCheckoutDataModel;
45
import org.gvsig.vcsgis.swing.VCSGisJCreateResourceTable;
46
import org.gvsig.vcsgis.swing.VCSGisJExport;
47
import org.gvsig.vcsgis.swing.VCSGisJImportHistory;
48
import org.gvsig.vcsgis.swing.VCSGisJInitServer;
49
import org.gvsig.vcsgis.swing.VCSGisJInitWorkspace;
50
import org.gvsig.vcsgis.swing.VCSGisJLogout;
51
import org.gvsig.vcsgis.swing.VCSGisJRegisterWorkspace;
52
import org.gvsig.vcsgis.swing.VCSGisJRevisions;
53
import org.gvsig.vcsgis.swing.VCSGisJShowServerTableForm;
54
import org.gvsig.vcsgis.swing.VCSGisSwingManager;
55
import org.gvsig.vcsgis.swing.VCSGisSwingServices;
56
import static org.gvsig.vcsgis.swing.impl.VCSGisSwingCommons.getHTMLColorTag;
57
import org.gvsig.vcsgis.swing.impl.addToWorkspace.VCSGisJAddToWorkspaceImpl;
58
import org.gvsig.vcsgis.swing.impl.changes.VCSGisJChangesImpl;
59
import org.gvsig.vcsgis.swing.impl.checkout.VCSGisJCheckoutImpl;
60
import org.gvsig.vcsgis.swing.impl.checkoutDataModel.VCSGisJCheckoutDataModelImpl;
61
import org.gvsig.vcsgis.swing.impl.export.VCSGisJExportImpl;
62
import org.gvsig.vcsgis.swing.impl.importhistory.ImportHistoryImpl;
63
import org.gvsig.vcsgis.swing.impl.initserver.VCSGisJInitServerImpl;
64
import org.gvsig.vcsgis.swing.impl.initworkspace.VCSGisJInitWorkspaceImpl;
65
import org.gvsig.vcsgis.swing.impl.loggin.VCSGisUserIdentificationRequesterDialog;
66
import org.gvsig.vcsgis.swing.impl.logout.VCSGisJLogoutImpl;
67
import org.gvsig.vcsgis.swing.impl.registerWorkspace.VCSGisJRegisterWorkspaceImpl;
68
import org.gvsig.vcsgis.swing.impl.resourceTable.VCSGisJCreateResourceTableImpl;
69
import org.gvsig.vcsgis.swing.impl.revisions.VCSGisJRevisionsImpl;
70
import org.gvsig.vcsgis.swing.impl.showServerTableForm.VCSGisJShowServerTableFormImpl;
71

    
72
/**
73
 * @author gvSIG Team
74
 *
75
 */
76
public class VCSGisSwingManagerImpl implements VCSGisSwingManager {
77
    
78
    public static final String ICON_COMMON_GROUP_NAME = "Common";
79
    public static final String ICON_GROUP_NAME = "VCSGis";
80
    public static final String ICON_PROVIDER_NAME = "VCSGis";
81
    
82
    private VCSGisSwingServices services;
83

    
84
    public VCSGisSwingManagerImpl() {
85
        VCSGisLocator.getVCSGisManager().setUserIdentificationRequester(
86
                new VCSGisUserIdentificationRequesterDialog()
87
        );
88
    }
89
    
90
    public static void registerIcons(String[][] iconsInfo) {
91
        IconTheme theme = ToolsSwingLocator.getIconThemeManager().getCurrent();
92
        for (String[] icon : iconsInfo) {
93
            // 0 - Provider, 1 - Group, 2 - Name
94
            URL url = VCSGisSwingManagerImpl.class.getResource("images/"+ icon[2] + ".png");
95
            theme.registerDefault(icon[0], icon[1], icon[2], null, url);
96
        }
97
    }
98
    
99
    public static ImageIcon loadImage(String imageName) {
100
        String name = FilenameUtils.getBaseName(imageName);
101
        IconTheme theme = ToolsSwingLocator.getIconThemeManager().getDefault();
102
        if (theme.exists(name)) {
103
            return theme.get(name);
104
        }
105
        URL url = VCSGisSwingManagerImpl.class.getResource("images/"+name + ".png");
106
        if (url == null) {
107
            return null;
108
        }
109
        return new ImageIcon(url);
110
    }    
111
    
112
    @Override
113
    public VCSGisJChanges createChangesPanel() {
114
        return new VCSGisJChangesImpl();
115
    }
116

    
117
    @Override
118
    public PickerController<VCSGisWorkspace> createPickerWorkspaceController(JComboBox combo) {
119
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
120
    }
121

    
122
    @Override
123
    public VCSGisJInitServer createInitRepositoryPanel() {
124
        return new VCSGisJInitServerImpl();
125
    }
126

    
127
    @Override
128
    public VCSGisJInitWorkspace createInitWorkspacePanel() {
129
        return new VCSGisJInitWorkspaceImpl();
130
    }
131

    
132
    @Override
133
    public VCSGisJAddToWorkspace createAddToWorkspacePanel() {
134
        return new VCSGisJAddToWorkspaceImpl();
135
    }
136

    
137
    @Override
138
    public VCSGisJCheckout createCheckoutPanel() {
139
        return new VCSGisJCheckoutImpl();
140
    }
141

    
142
    @Override
143
    public VCSGisJCheckoutDataModel createCheckoutDataModelPanel() {
144
        return new VCSGisJCheckoutDataModelImpl();
145
    }
146

    
147
    @Override
148
    public VCSGisJExport createExportPanel() {
149
        return new VCSGisJExportImpl();
150
    }
151

    
152
    @Override
153
    public void setDefaultServices(VCSGisSwingServices services) {
154
        this.services = services;
155
    }
156

    
157
    @Override
158
    public VCSGisSwingServices getDefaultServices() {
159
        return this.services;
160
    }
161

    
162
    @Override
163
    public PickerController<VCSGisWorkspace> createWorkspacePickerController(JComboBox combo, JButton button) {
164
        return new VCSWorkspacePickerControllerImpl(combo, button);
165
    }
166

    
167
    @Override
168
    public VCSGisJRegisterWorkspace createRegisterWorkspacePanel() {
169
        return new VCSGisJRegisterWorkspaceImpl();
170
    }
171

    
172
    @Override
173
    public VCSGisJShowServerTableForm createShowTableServerFormPanel(String tableName) {
174
        return new VCSGisJShowServerTableFormImpl(tableName);
175
    }
176

    
177
    @Override
178
    public String getHTMLColoredForEntity(VCSGisWorkspaceEntity entity, String name){
179
        return getHTMLColoredForEntity(entity, name, STATE_UNKNOWN);
180
    }
181

    
182
    @Override
183
    public String getHTMLColoredForEntity(VCSGisWorkspaceEntity entity, String name, int defaultState){
184
        return getHTMLColorTag(
185
                entity == null ? defaultState : entity.getState(),
186
                name
187
        );
188
    }
189

    
190
    @Override
191
    public VCSGisJRevisions createRevisionsPanel() {
192
        return new VCSGisJRevisionsImpl();
193
    }
194

    
195
    @Override
196
    public VCSGisJImportHistory createImportHistoryPanel() {
197
        return new ImportHistoryImpl();
198
    }
199

    
200
    @Override
201
    public VCSGisJCreateResourceTable createResourceTablePanel() {
202
        return new VCSGisJCreateResourceTableImpl();
203
    }
204

    
205
    @Override
206
    public VCSGisJLogout createLogoutPanel() {
207
        return new VCSGisJLogoutImpl();
208
    }
209
    
210
    public VCSGisEntitySelectorController createEntitySelectorController(JList lstTables, JTextField txtFilter, JButton btnTable, JButton btnCheckAll, JButton btnUnCheckAll) {
211
        return new VCSGisEntitySelectorControllerJList(lstTables, txtFilter, btnTable, btnCheckAll, btnUnCheckAll);
212
    }
213
    
214
    public VCSGisEntitySelectorController createEntitySelectorController(JList lstTables, JTextField txtFilter, JButton btnTable) {
215
        return new VCSGisEntitySelectorControllerJList(lstTables, txtFilter, btnTable, null, null);
216
    }
217
    
218
    public VCSGisEntitySelectorController createEntitySelectorController(JList lstTables) {
219
        return new VCSGisEntitySelectorControllerJList(lstTables, null, null, null, null);
220
    }
221
    
222
    public VCSGisEntitySelectorController createEntitySelectorController(JTree treeEntities, JTextField txtFilter, JButton btnTable, JButton btnCheckAll, JButton btnUnCheckAll) {
223
        return new VCSGisEntitySelectorControllerJTree(treeEntities, txtFilter, btnTable, btnCheckAll, btnUnCheckAll);
224
    }
225

    
226
    public VCSGisEntitySelectorController createEntitySelectorController(JTree treeEntities, JTextField txtFilter, JButton btnTable) {
227
        return new VCSGisEntitySelectorControllerJTree(treeEntities, txtFilter, btnTable, null, null);
228
    }
229
    
230
    public VCSGisEntitySelectorController createEntitySelectorController(JTree treeEntities) {
231
        return new VCSGisEntitySelectorControllerJTree(treeEntities, null, null, null, null);
232
    }
233

    
234
}