Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.downloader / org.gvsig.downloader.swing / org.gvsig.downloader.swing.impl / src / main / java / org / gvsig / downloader / swing / impl / configController / DownloaderConfigControllerImpl.java @ 47853

History | View | Annotate | Download (4.7 KB)

1
package org.gvsig.downloader.swing.impl.configController;
2

    
3
import java.awt.event.ActionEvent;
4
import java.awt.event.ActionListener;
5
import java.util.function.Supplier;
6
import javax.swing.JButton;
7
import org.gvsig.downloader.DownloaderAuthenticationConfig;
8
import org.gvsig.downloader.DownloaderLocator;
9
import org.gvsig.downloader.DownloaderManager;
10
import org.gvsig.downloader.swing.DownloaderConfigController;
11
import org.gvsig.downloader.swing.DownloaderConfigPanel;
12
import org.gvsig.downloader.swing.DownloaderConfigServicePanel;
13
import org.gvsig.downloader.swing.DownloaderSwingLocator;
14
import org.gvsig.downloader.swing.DownloaderSwingManager;
15
import org.gvsig.tools.ToolsLocator;
16
import org.gvsig.tools.i18n.I18nManager;
17
import org.gvsig.tools.swing.api.ToolsSwingLocator;
18
import org.gvsig.tools.swing.api.ToolsSwingUtils;
19
import org.gvsig.tools.swing.api.windowmanager.Dialog;
20
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
21
import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2;
22

    
23
/**
24
 *
25
 * @author jjdelcerro
26
 */
27
public class DownloaderConfigControllerImpl implements DownloaderConfigController {
28

    
29
    private final Supplier<String> serviceUrl;
30
    private final JButton btnAddService;
31
    private final JButton btnShowConfig;
32
    
33
    public DownloaderConfigControllerImpl(Supplier<String> serviceUrl, JButton btnAddService, JButton btnShowConfig) {
34
        this.btnAddService = btnAddService==null? new JButton():btnAddService;
35
        this.btnShowConfig = btnShowConfig==null? new JButton():btnShowConfig;
36
        this.serviceUrl = serviceUrl;
37
        this.initComponents();
38
    }
39
    
40
    private void initComponents() {
41
        ToolsSwingUtils.configurePickersButton(btnAddService, 
42
                "_Add_configuration_for_service_authentication", 
43
                "downloader-addservice", 
44
                (ActionEvent e) -> {doAddService();},
45
                null
46
        );
47
        ToolsSwingUtils.configurePickersButton(
48
                btnShowConfig, 
49
                "_Edit_settings_for_service_authentication", 
50
                "downloader-admin", 
51
                (ActionEvent e) -> {doShowConfig();},
52
                null
53
        );
54
    }
55
    
56
    private void doAddService() {
57
        WindowManager_v2 winmgr = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
58
        DownloaderManager manager = DownloaderLocator.getDownloaderManager();
59
        DownloaderSwingManager swingManager = DownloaderSwingLocator.getDownloaderSwingManager();
60
        I18nManager i18n = ToolsLocator.getI18nManager();
61

    
62
        String theServiceUrl = null;
63
        if( this.serviceUrl!=null ) {
64
            theServiceUrl = this.serviceUrl.get();
65
        }
66
        DownloaderConfigServicePanel panel = swingManager.createDownloaderConfigServicePanel(theServiceUrl);
67
        
68
        Dialog dialog = winmgr.createDialog(
69
                panel.asJComponent(),
70
                i18n.getTranslation("_Add_service"),
71
                null, 
72
                WindowManager_v2.BUTTONS_OK_CANCEL
73
        );
74
        dialog.addActionListener((ActionEvent e) -> {
75
            if( dialog.getAction()==WindowManager_v2.BUTTON_OK ) {
76
                DownloaderAuthenticationConfig x = panel.fetch();
77
                manager.registerAuthenticationConfigurationService(x);
78
            }
79
        });
80
        dialog.show(WindowManager.MODE.DIALOG);
81
    }
82
    
83
    private void doShowConfig() {
84
        WindowManager_v2 winmgr = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
85
        DownloaderSwingManager manager = DownloaderSwingLocator.getDownloaderSwingManager();
86
        I18nManager i18n = ToolsLocator.getI18nManager();
87
        
88
        DownloaderConfigPanel panel = manager.createDownloaderConfigPanel();
89
        Dialog dialog = winmgr.createDialog(
90
                panel.asJComponent(),
91
                i18n.getTranslation("_Download_manager"),
92
                null, 
93
                WindowManager_v2.BUTTONS_OK
94
        );
95
        dialog.setButtonLabel(
96
                WindowManager_v2.BUTTONS_OK, 
97
                i18n.getTranslation("_Close")
98
        );
99
        dialog.addActionListener((ActionEvent e) -> {
100
            dialog.hideDialog();
101
        });
102
        dialog.show(WindowManager.MODE.DIALOG);
103
    }
104

    
105
    public static void selfRegister() {
106
        ToolsSwingUtils.registerIcons(DownloaderConfigServicePanel.class, 
107
                "/org/gvsig/downloader/swing/impl/images",
108
                "downloader",
109
                new String[] { "downloader", "downloader-admin" },
110
                new String[] { "downloader", "downloader-addservice" }
111
        );
112
//        ToolsSwingUtils.registerGroupIconScreenshot(DownloaderConfigServicePanel.class, 
113
//                "downloader",
114
//                "/org/gvsig/downloader/swing/impl/screenshots/downloader.png"
115
//        );
116
    }
117
}