Statistics
| Revision:

gvsig-scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.api / src / main / java / org / gvsig / scripting / swing / composer / JImportHelp.java @ 75

History | View | Annotate | Download (5.42 KB)

1
package org.gvsig.scripting.swing.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.JLabel;
16
import javax.swing.JOptionPane;
17
import javax.swing.JPanel;
18
import javax.swing.JScrollPane;
19
import javax.swing.JTextField;
20
import javax.swing.JViewport;
21

    
22
import org.gvsig.scripting.ScriptingFolder;
23
import org.gvsig.scripting.ScriptingManager;
24
import org.gvsig.scripting.ScriptingUIManager;
25
import org.gvsig.scripting.swing.AbstractJDialogPanel;
26
import org.gvsig.scripting.swing.JScriptingBrowser;
27

    
28

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

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

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

    
97
        public void actionAccept() {
98
                //Comprobar que está rellenos los campos 'import' y 'name'
99
                if(from.getText().length()==0){
100
                        JOptionPane.showMessageDialog(null, "Please, insert the JavaDoc to include", "Error", JOptionPane.ERROR_MESSAGE);
101
                }else{
102
                        if(name.getText().length()==0){
103
                                JOptionPane.showMessageDialog(null, "Name mustn't be blank", "Error", JOptionPane.ERROR_MESSAGE);
104
                        }
105
                        else{
106
                                //Comprobar que no existe ya un Help con ese nombre
107
                                if(this.manager.existsHelp(name.getText())){
108
                                        JOptionPane.showMessageDialog(null, "This name already exists\nPlease, choose another one", "Error", JOptionPane.ERROR_MESSAGE);
109
                                }else{
110
                                        File packageListFile = new File(from.getText()+File.separator+"package-list");
111
                                        if(packageListFile.exists()){
112
                                                //Importar
113
                                                File file = new File(from.getText());
114
                                                URL url= null;
115
                                                try {
116
                                                        url = file.toURL();
117
                                                } catch (MalformedURLException e) {
118
                                                        // TODO Auto-generated catch block
119
                                                        e.printStackTrace();
120
                                                }
121
                                                if (url!= null){
122
                                                        this.manager.importHelp(name.getText(), url);
123
                                                        setVisible(false);
124
                                                        JOptionPane.showMessageDialog(null, "Import JavaDoc successfully", "Info", JOptionPane.INFORMATION_MESSAGE);
125
                                                        this.uimanager.getHelpDialog();
126
                                                }
127
                                        }else{
128
                                                JOptionPane.showMessageDialog(null, "This folder haven't got a 'package-list' file to make the JavaDoc\nPlease, choose another one", "Error", JOptionPane.ERROR_MESSAGE);
129
                                        }
130
                                }
131
                        }
132
                }
133
        }
134

    
135
        public void actionApply() {
136
        }
137

    
138
        public void actionCancel() {
139
                setVisible(false);
140
        }
141

    
142
        public boolean isVisibleAccept() {
143
                return true;
144
        }
145

    
146
        public boolean isVisibleApply() {
147
                return false;
148
        }
149

    
150
        public boolean isVisibleCancel() {
151
                return true;
152
        }
153

    
154
        public void actionPerformed(ActionEvent arg0) {
155
           /* chooser = new JFileChooser(); 
156
            chooser.setCurrentDirectory(new java.io.File("."));
157
            chooser.setDialogTitle(choosertitle);
158
            chooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY);
159
            chooser.setAcceptAllFileFilterUsed(false);
160
           
161
            if (chooser.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) { 
162
              String title = chooser.getSelectedFile().toString();
163
              String[] path = title.split(File.separator);
164
              from.setText(title);
165
              if(path.length>1){
166
                      name.setText(path[path.length-1]);
167
              }
168
              else{
169
                      name.setText(title);
170
              }
171
            } else {
172
                    JOptionPane.showMessageDialog(null, "Please, select a directory", "Error", JOptionPane.ERROR_MESSAGE);
173
             };*/
174
                
175
                JViewport jView = (JViewport)arg0.getSource();
176
                JScrollPane jScroll = (JScrollPane)jView.getParent();
177
                JScriptingBrowser jBrowser = (JScriptingBrowser)jScroll.getParent();
178
                if(jBrowser.getSelectedNode() instanceof ScriptingFolder){
179
                        ScriptingFolder selectedFolder = (ScriptingFolder)jBrowser.getSelectedNode();
180
                        from.setText(selectedFolder.getPath());
181
                }
182
        }
183
        
184
}