Statistics
| Revision:

gvsig-scripting / org.gvsig.scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.swing / org.gvsig.scripting.swing.impl / src / main / java / org / gvsig / scripting / swing / impl / composer / JImportHelp.java @ 457

History | View | Annotate | Download (5.39 KB)

1
package org.gvsig.scripting.swing.impl.composer;
2

    
3
import java.awt.BorderLayout;
4
import java.awt.GridBagConstraints;
5
import java.awt.GridBagLayout;
6
import java.awt.Insets;
7
import java.awt.event.ActionEvent;
8
import java.awt.event.ActionListener;
9
import java.io.File;
10
import java.net.MalformedURLException;
11
import java.net.URL;
12

    
13
import javax.swing.BorderFactory;
14
import javax.swing.JButton;
15
import javax.swing.JComponent;
16
import javax.swing.JLabel;
17
import javax.swing.JOptionPane;
18
import javax.swing.JPanel;
19
import javax.swing.JScrollPane;
20
import javax.swing.JTextField;
21
import javax.swing.JViewport;
22

    
23
import org.gvsig.scripting.ScriptingFolder;
24
import org.gvsig.scripting.ScriptingManager;
25
import org.gvsig.scripting.swing.api.ScriptingUIManager;
26
import org.gvsig.scripting.swing.impl.DefaultJScriptingBrowser;
27
import org.gvsig.scripting.swing.impl.DialogPanel;
28

    
29

    
30
public class JImportHelp extends JPanel implements DialogPanel, ActionListener{
31
        /**
32
         * 
33
         */
34
        private static final long serialVersionUID = 8870253601718801072L;
35
        private final ScriptingUIManager uimanager;
36
        private final ScriptingManager manager;
37
        
38
        JTextField from = null;
39
        JTextField name =null;
40
        JButton browse = null;
41
        //JFileChooser chooser;
42
        String choosertitle;
43
        
44

    
45
        public JImportHelp(ScriptingUIManager uimanager, DefaultJScriptingComposer composer){
46
                this.uimanager = uimanager;
47
                this.manager = this.uimanager.getManager();
48
                
49
                setLayout(new GridBagLayout());
50
                GridBagConstraints gbc = new GridBagConstraints();
51

    
52
                JPanel panel = new JPanel(new BorderLayout());
53
                
54
                from = new JTextField(20);
55
                from.setEditable(false);
56
                
57
                //add(from, gbc);
58
                browse = new JButton(this.uimanager.getTranslation("Browse"));
59
                browse.addActionListener(this);
60
                browse.setBorder(BorderFactory.createEmptyBorder(0, 10, 0, 0));
61
                //add(browse, gbc);
62
                panel.add(from,BorderLayout.CENTER);
63
                panel.add(browse,BorderLayout.EAST);
64
                
65
                gbc.insets = new Insets(25,10,0,5);
66
                gbc.weightx = 0.5;
67
                gbc.fill = GridBagConstraints.HORIZONTAL;
68
                gbc.gridx = 0;
69
                gbc.gridy = 0;        
70
                add(new JLabel(this.uimanager.getTranslation("Import_from")+": "),gbc);
71
                gbc.gridx = 1;
72
                add(from,gbc);
73
                
74
                //add(panel, gbc);
75
                gbc.insets = new Insets(25,10,0,5);
76
                gbc.weightx = 0.5;
77
                gbc.fill = GridBagConstraints.HORIZONTAL;
78
                gbc.gridx = 0;
79
                gbc.gridwidth=2;
80
                gbc.gridy = 1;        
81
                File file = new File(System.getProperty("user.home"));
82
                ScriptingFolder folder = manager.getFolder(file);
83
                DefaultJScriptingBrowser jbrowser = new DefaultJScriptingBrowser(this.uimanager, folder,true);
84
                jbrowser.addSelectionActionListener(this);
85
                add(jbrowser,gbc);
86
                
87
                gbc.insets = new Insets(10,10,25,5);
88
                gbc.gridx = 0;
89
                gbc.gridy = 2;
90
                add(new JLabel(this.uimanager.getTranslation("Name")+": "),gbc);
91
                gbc.gridx = 1;
92
                name = new JTextField(20);
93
                name.setEditable(true);
94
                add(name, gbc);
95
                        
96
        }
97

    
98
        @Override
99
    public void actionAccept() {
100
                //Comprobar que está rellenos los campos 'import' y 'name'
101
                String resource = from.getText(); 
102
                String name = this.name.getText();
103
        URL url = null;                
104
                if(resource.length()==0){
105
                        JOptionPane.showMessageDialog(null, 
106
                                        this.uimanager.getTranslation("JavaDoc_Error"), 
107
                                        this.uimanager.getTranslation("Error"), JOptionPane.ERROR_MESSAGE);
108
                }else{
109
                        if(name.length()==0){
110
                                JOptionPane.showMessageDialog(null, 
111
                                                this.uimanager.getTranslation("Name_blank"), 
112
                                                this.uimanager.getTranslation("Error"), JOptionPane.ERROR_MESSAGE);
113
                        }
114
                        else{
115
                                //Comprobar que no existe ya un Help con ese nombre
116
                                if(this.manager.getHelpManager().existsHelp(name)){
117
                                        JOptionPane.showMessageDialog(null, 
118
                                                        this.uimanager.getTranslation("Name_exists"), 
119
                                                        this.uimanager.getTranslation("Error"), JOptionPane.ERROR_MESSAGE);
120
                                }else{
121
//                                        File packageListFile = new File(resource+File.separator+"package-list");
122
//                                        if(!packageListFile.exists()){
123
//                                                JOptionPane.showMessageDialog(null, "This folder haven't got a 'package-list' file to make the JavaDoc\nPlease, choose another one", "Error", JOptionPane.ERROR_MESSAGE);
124
//                                        } else {
125
                                                //Importar
126
                                                File file = new File(resource);
127
                                                try {
128
                            url = file.toURI().toURL();
129
                                                } catch (MalformedURLException e) {
130
                                                        // TODO Auto-generated catch block
131
                                                        e.printStackTrace();
132
                                                }
133
                                                if (url!= null){
134
                                                        this.manager.getHelpManager().importHelp(name, url);
135
                                                        setVisible(false);
136
                                                        JOptionPane.showMessageDialog(null, 
137
                                                                        this.uimanager.getTranslation("Import_success"), 
138
                                                                        this.uimanager.getTranslation("Success"), JOptionPane.INFORMATION_MESSAGE);
139
                                                        uimanager.showWindow(uimanager.getAPIHelp(),"JavaDoc");
140
                                                }
141
//                                        }
142
                                }
143
                        }
144
                }
145
        }
146

    
147
        @Override
148
    public void actionApply() {
149
        }
150

    
151
        @Override
152
    public void actionCancel() {
153
                setVisible(false);
154
        }
155

    
156
        @Override
157
    public boolean isVisibleAccept() {
158
                return true;
159
        }
160

    
161
        @Override
162
    public boolean isVisibleApply() {
163
                return false;
164
        }
165

    
166
        @Override
167
    public boolean isVisibleCancel() {
168
                return true;
169
        }
170

    
171
        public void actionPerformed(ActionEvent arg0) {
172

    
173
                JViewport jView = (JViewport)arg0.getSource();
174
                JScrollPane jScroll = (JScrollPane)jView.getParent();
175
                DefaultJScriptingBrowser jBrowser = (DefaultJScriptingBrowser)jScroll.getParent();
176
                if(jBrowser.getSelectedNode() instanceof ScriptingFolder){
177
                        ScriptingFolder selectedFolder = (ScriptingFolder)jBrowser.getSelectedNode();
178
                        from.setText(selectedFolder.getFile().getAbsolutePath());
179
                }
180
        }
181

    
182
        public JComponent getJComponent() {
183
                return this;
184
        }
185
        
186
}