Statistics
| Revision:

svn-document-layout / trunk / org.gvsig.app.document.layout2.app / org.gvsig.app.document.layout2.app.mainplugin / src / main / java / org / gvsig / app / extension / reportfromlayout / ExportReportToLayoutExtension.java @ 1654

History | View | Annotate | Download (3.13 KB)

1
/*
2
 * To change this license header, choose License Headers in Project Properties.
3
 * To change this template file, choose Tools | Templates
4
 * and open the template in the editor.
5
 */
6
package org.gvsig.app.extension.reportfromlayout;
7

    
8
import java.awt.GridBagConstraints;
9
import java.awt.event.ActionEvent;
10
import java.awt.event.ActionListener;
11
import java.util.Collections;
12
import javax.swing.JComponent;
13
import org.gvsig.andami.plugins.Extension;
14
import org.gvsig.tools.ToolsLocator;
15
import org.gvsig.tools.future.FutureUtils;
16
import org.gvsig.tools.i18n.I18nManager;
17
import org.gvsig.tools.swing.api.ToolsSwingLocator;
18
import org.gvsig.tools.swing.api.windowmanager.Dialog;
19
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
20
import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2;
21

    
22
/**
23
 *
24
 * @author fdiaz
25
 */
26
public class ExportReportToLayoutExtension extends Extension {
27

    
28
    @Override
29
    public void initialize() {
30
    }
31

    
32
    @Override
33
    public void execute(String actionCommand) {
34
        switch(actionCommand.toLowerCase()) {
35
        case "layout-exportreporttolayout":
36
            doExportReportToLayout();
37
            break;
38
        }
39
    }
40

    
41
    @Override
42
    public boolean isEnabled() {
43
        return true;
44
    }
45

    
46
    @Override
47
    public boolean isVisible() {
48
        return true;
49
    }
50
    
51
    @SuppressWarnings("Convert2Lambda")
52
    private void doExportReportToLayout() {
53
        WindowManager_v2 windowManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
54
        ExportReportToLayout panel = new ExportReportToLayout();
55
        I18nManager i18n = ToolsLocator.getI18nManager();
56
        Dialog dialog = windowManager.createDialog(
57
                panel,
58
                i18n.getTranslation("_Export_report_to_layout"), 
59
                i18n.getTranslation("_Export_a_report_to_a_layout"),
60
                WindowManager_v2.BUTTONS_OK_CANCEL
61
        );
62
        dialog.setAutoclose(false);
63
        dialog.setButtonLabel(WindowManager_v2.BUTTON_OK, i18n.getTranslation("_Export_report"));
64
        dialog.setButtonLabel(WindowManager_v2.BUTTON_CANCEL, i18n.getTranslation("_Close"));
65
        dialog.addActionListener(new ActionListener() {
66
            @Override
67
            public void actionPerformed(ActionEvent e) {
68
                switch( dialog.getAction()) {
69
                    case WindowManager_v2.BUTTON_OK:
70
                        dialog.setButtonEnabled(WindowManager_v2.BUTTON_OK, false);                        
71
                        ExportReportToLayoutParametersImpl params = new ExportReportToLayoutParametersImpl();
72
                        panel.fetch(params);
73
                        if(panel.doExportReportToLayout(params)){
74
                            ((JComponent)dialog).setVisible(false);
75
                        }
76
                        break;
77

    
78

    
79
                    case WindowManager_v2.BUTTON_CANCEL:
80
                        ((JComponent)dialog).setVisible(false);
81
                        break;
82
                }
83
            }
84

    
85
        });
86
        panel.setDialog(dialog);
87
        dialog.show(WindowManager.MODE.WINDOW, 
88
                Collections.singletonMap("align", GridBagConstraints.CENTER)
89
        );    
90
    }
91
}