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 / JMoveScript.java @ 165

History | View | Annotate | Download (3.41 KB)

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

    
3
import java.awt.GridBagConstraints;
4
import java.awt.GridBagLayout;
5
import java.awt.Insets;
6
import java.awt.event.ActionEvent;
7
import java.awt.event.ActionListener;
8
import java.io.File;
9

    
10
import javax.swing.JLabel;
11
import javax.swing.JOptionPane;
12
import javax.swing.JScrollPane;
13
import javax.swing.JTextField;
14
import javax.swing.JViewport;
15

    
16
import org.gvsig.scripting.ScriptingFolder;
17
import org.gvsig.scripting.ScriptingManager;
18
import org.gvsig.scripting.ScriptingUnit;
19
import org.gvsig.scripting.swing.api.ScriptingUIManager;
20
import org.gvsig.scripting.swing.impl.AbstractJDialogPanel;
21
import org.gvsig.scripting.swing.impl.DefaultJScriptingBrowser;
22

    
23
public class JMoveScript extends AbstractJDialogPanel implements ActionListener{
24
        private ScriptingUIManager uimanager;
25
        private ScriptingManager manager;
26
        private DefaultJScriptingComposer composer;
27
        private ScriptingUnit unit;
28
        
29
        JTextField from = null;
30
        JTextField moveTo =null;
31
                
32
        public JMoveScript(ScriptingUIManager uimanager, DefaultJScriptingComposer composer, ScriptingUnit unit){
33
                this.uimanager = uimanager;
34
                this.manager = this.uimanager.getManager();
35
                this.composer = composer;
36
                this.unit = unit;
37
                
38
                setLayout(new GridBagLayout());
39
                GridBagConstraints gbc = new GridBagConstraints();
40

    
41
                gbc.insets = new Insets(25,10,0,5);
42
                gbc.weightx = 0.5;
43
                gbc.fill = GridBagConstraints.HORIZONTAL;
44
                gbc.gridx = 0;
45
                gbc.gridy = 0;        
46
                add(new JLabel("Move from: "),gbc);
47
                gbc.gridx = 1;
48
                from = new JTextField(20);
49
                from.setText(unit.getParent().getPath());
50
                from.setEditable(false);
51
                add(from, gbc);
52
                
53
                gbc.gridx = 0;
54
                gbc.gridy = 1;
55
                add(new JLabel("To: "),gbc);
56
                gbc.gridx = 1;
57
                moveTo = new JTextField(20);
58
                moveTo.setEditable(false);
59
                moveTo.setText(this.manager.getRootUserFolder());
60
                add(moveTo, gbc);
61
                
62
                gbc.insets = new Insets(10,10,25,5);
63
                gbc.gridx = 0;
64
                gbc.gridy = 2;
65
                gbc.gridwidth = 2;
66
                DefaultJScriptingBrowser jbrowser = new DefaultJScriptingBrowser(this.uimanager,this.manager.getUserFolder(),true);
67
                jbrowser.addSelectionActionListener(this);
68
                add(jbrowser,gbc);
69
                
70
        }
71

    
72
        public void actionAccept() {
73
                ScriptingFolder folder = manager.getFolder(new File(moveTo.getText()));
74
                if(manager.validateUnitId(folder,unit.getId())){
75
                        if (unit.move(folder)){
76
                                JOptionPane.showMessageDialog(null, "File moved succesfully.", "Info", JOptionPane.INFORMATION_MESSAGE);
77
                                setVisible(false);
78
                                composer.launcherRefresh();
79
                        }else{
80
                                JOptionPane.showMessageDialog(null, "Unexpected error moving the file", "Error", JOptionPane.ERROR_MESSAGE);
81
                        }
82
                }
83
                else
84
                        JOptionPane.showMessageDialog(null, "There're another file with the same name on the final directory\nRename the file or select another destiny.", "Error", JOptionPane.ERROR_MESSAGE);
85
        }
86

    
87
        public void actionApply() {
88
        }
89

    
90
        public void actionCancel() {
91
                setVisible(false);
92
        }
93

    
94
        public boolean isVisibleAccept() {
95
                return true;
96
        }
97

    
98
        public boolean isVisibleApply() {
99
                return false;
100
        }
101

    
102
        public boolean isVisibleCancel() {
103
                return true;
104
        }
105

    
106
        public void actionPerformed(ActionEvent arg0) {
107
                JViewport jView = (JViewport)arg0.getSource();
108
                JScrollPane jScroll = (JScrollPane)jView.getParent();
109
                DefaultJScriptingBrowser jBrowser = (DefaultJScriptingBrowser)jScroll.getParent();
110
                if(jBrowser.getSelectedNode() instanceof ScriptingFolder){
111
                        ScriptingFolder selectedFolder = (ScriptingFolder)jBrowser.getSelectedNode();
112
                        moveTo.setText(selectedFolder.getPath());
113
                }
114
        }
115
        
116
}