Statistics
| Revision:

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 @ 212

History | View | Annotate | Download (4.94 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.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.swing.api.ScriptingUIManager;
25
import org.gvsig.scripting.swing.impl.AbstractJDialogPanel;
26
import org.gvsig.scripting.swing.impl.DefaultJScriptingBrowser;
27

    
28

    
29
public class JImportHelp extends AbstractJDialogPanel implements ActionListener{
30
        /**
31
         * 
32
         */
33
        private static final long serialVersionUID = 8870253601718801072L;
34
        private final ScriptingUIManager uimanager;
35
        private final 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, DefaultJScriptingComposer 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
                DefaultJScriptingBrowser jbrowser = new DefaultJScriptingBrowser(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
        @Override
98
    public void actionAccept() {
99
                //Comprobar que está rellenos los campos 'import' y 'name'
100
                if(from.getText().length()==0){
101
                        JOptionPane.showMessageDialog(null, "Please, insert the JavaDoc to include", "Error", JOptionPane.ERROR_MESSAGE);
102
                }else{
103
                        if(name.getText().length()==0){
104
                                JOptionPane.showMessageDialog(null, "Name mustn't be blank", "Error", JOptionPane.ERROR_MESSAGE);
105
                        }
106
                        else{
107
                                //Comprobar que no existe ya un Help con ese nombre
108
                                if(this.manager.getHelpManager().existsHelp(name.getText())){
109
                                        JOptionPane.showMessageDialog(null, "This name already exists\nPlease, choose another one", "Error", JOptionPane.ERROR_MESSAGE);
110
                                }else{
111
                                        File packageListFile = new File(from.getText()+File.separator+"package-list");
112
                                        if(packageListFile.exists()){
113
                                                //Importar
114
                                                File file = new File(from.getText());
115
                                                URL url= null;
116
                                                try {
117
                            url = file.toURI().toURL();
118
                                                } catch (MalformedURLException e) {
119
                                                        // TODO Auto-generated catch block
120
                                                        e.printStackTrace();
121
                                                }
122
                                                if (url!= null){
123
                                                        this.manager.getHelpManager().importHelp(name.getText(), url);
124
                                                        setVisible(false);
125
                                                        JOptionPane.showMessageDialog(null, "Import JavaDoc successfully", "Info", JOptionPane.INFORMATION_MESSAGE);
126
                                                        uimanager.showWindow(uimanager.getAPIHelp(),"JavaDoc");
127
                                                }
128
                                        }else{
129
                                                JOptionPane.showMessageDialog(null, "This folder haven't got a 'package-list' file to make the JavaDoc\nPlease, choose another one", "Error", JOptionPane.ERROR_MESSAGE);
130
                                        }
131
                                }
132
                        }
133
                }
134
        }
135

    
136
        @Override
137
    public void actionApply() {
138
        }
139

    
140
        @Override
141
    public void actionCancel() {
142
                setVisible(false);
143
        }
144

    
145
        @Override
146
    public boolean isVisibleAccept() {
147
                return true;
148
        }
149

    
150
        @Override
151
    public boolean isVisibleApply() {
152
                return false;
153
        }
154

    
155
        @Override
156
    public boolean isVisibleCancel() {
157
                return true;
158
        }
159

    
160
        public void actionPerformed(ActionEvent arg0) {
161

    
162
                JViewport jView = (JViewport)arg0.getSource();
163
                JScrollPane jScroll = (JScrollPane)jView.getParent();
164
                DefaultJScriptingBrowser jBrowser = (DefaultJScriptingBrowser)jScroll.getParent();
165
                if(jBrowser.getSelectedNode() instanceof ScriptingFolder){
166
                        ScriptingFolder selectedFolder = (ScriptingFolder)jBrowser.getSelectedNode();
167
                        from.setText(selectedFolder.getPath());
168
                }
169
        }
170
        
171
}