Statistics
| Revision:

gvsig-scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.api / src / main / java / org / gvsig / scripting / swing / composer / JPropertiesScript.java @ 132

History | View | Annotate | Download (3.64 KB)

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

    
3
import java.awt.GridBagConstraints;
4
import java.awt.GridBagLayout;
5
import java.awt.Insets;
6
import java.awt.event.KeyEvent;
7
import java.awt.event.KeyListener;
8

    
9
import javax.swing.JLabel;
10
import javax.swing.JPanel;
11
import javax.swing.JScrollPane;
12
import javax.swing.JTabbedPane;
13
import javax.swing.JTextArea;
14
import javax.swing.JTextField;
15
import javax.swing.JViewport;
16

    
17
import org.gvsig.scripting.ScriptingBaseScript;
18
import org.gvsig.scripting.ScriptingFolder;
19
import org.gvsig.scripting.ScriptingUnit;
20
import org.gvsig.scripting.swing.syntaxhighlight.JEditorPaneSyntaxHighlighting;
21

    
22
public class JPropertiesScript extends JPanel{
23
        /**
24
         * 
25
         */
26
        private static final long serialVersionUID = 7514233502900249406L;
27

    
28
        private ScriptingUnit unit;
29
        
30
        JTextField name = null;
31
        JTextArea description = null;
32
        JTextField createdBy =null;
33
        JTextField version =null;
34
                
35
        public JPropertiesScript(final ScriptingUnit unit){
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("Name: "),gbc);
47
                gbc.gridx = 1;
48
                name = new JTextField(20);
49
                if(unit instanceof ScriptingFolder){
50
                        name.setEditable(false);
51
                }else{
52
                        name.setText(unit.getName());
53
                }
54
                add(name, gbc);
55
                
56
                gbc.gridx = 0;
57
                gbc.gridy = 1;        
58
                add(new JLabel("Description: "),gbc);
59
                gbc.gridx = 1;
60
                description = new JTextArea(5,20);
61
                if(unit instanceof ScriptingFolder){
62
                        description.setEditable(false);
63
                }else{
64
                        description.setText(unit.getDescription());
65
                }
66
                JScrollPane scroll = new JScrollPane(description);
67
                add(scroll, gbc);
68
                
69
                gbc.gridx = 0;
70
                gbc.gridy = 2;
71
                add(new JLabel("Created by: "),gbc);
72
                gbc.gridx = 1;
73
                createdBy = new JTextField(20);
74
                if(unit instanceof ScriptingFolder){
75
                        createdBy.setEditable(false);
76
                }else{
77
                createdBy.setText(unit.getCreatedBy());
78
                }
79
                add(createdBy, gbc);
80
                
81
                gbc.insets = new Insets(10,10,25,5);
82
                gbc.gridx = 0;
83
                gbc.gridy = 3;
84
                add(new JLabel("Version: "),gbc);
85
                gbc.gridx = 1;
86
                version = new JTextField(20);
87
                if(unit instanceof ScriptingFolder){
88
                        version.setEditable(false);
89
                }else{
90
                        version.setText(unit.getVersion());
91
                }
92
                add(version, gbc);
93
                
94
                KeyListener keylistener = new KeyListener(){
95

    
96
                        public void keyPressed(KeyEvent arg0) {
97
                                // TODO Auto-generated method stub
98
                        }
99

    
100
                        public void keyReleased(KeyEvent arg0) {
101
                                // TODO Auto-generated method stub
102
                        }
103

    
104
                        public void keyTyped(KeyEvent arg0) {
105
                                JPropertiesScript jProperties = null;
106
                                if(arg0.getSource() instanceof JTextField){
107
                                        JTextField jText = (JTextField)arg0.getSource();
108
                                        jProperties = (JPropertiesScript)jText.getParent();
109
                                } else {
110
                                        JTextArea jText = (JTextArea)arg0.getSource();
111
                                        JViewport jView = (JViewport)jText.getParent();
112
                                        JScrollPane jScroll = (JScrollPane)jView.getParent();
113
                                        jProperties = (JPropertiesScript)jScroll.getParent();
114
                                }
115
                                
116
                                JTabbedPane tabsCode = (JTabbedPane)jProperties.getParent();
117
                                JCodeEditor jCode = (JCodeEditor)tabsCode.getParent();
118
                                JTabbedPane tabs = (JTabbedPane)jCode.getParent();
119
                                
120
                                int pestana = tabs.getSelectedIndex();
121
                                
122
                                String title = tabs.getTitleAt(pestana);
123
                                if(unit instanceof ScriptingBaseScript){
124
                                        ScriptingBaseScript script = (ScriptingBaseScript)unit;
125
                                        if (script.isSaved()){
126
                                                tabs.setTitleAt(pestana, "*"+title);
127
                                                script.setSaved(false);
128
                                        }
129
                                }
130
                        }
131
                };
132
                name.addKeyListener(keylistener);
133
                description.addKeyListener(keylistener);
134
                createdBy.addKeyListener(keylistener);
135
                version.addKeyListener(keylistener);
136

    
137
                
138
        }
139
        
140
}