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 / JPropertiesScript.java @ 188

History | View | Annotate | Download (4.03 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.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

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

    
27
        private ScriptingUnit unit;
28
        
29
        JTextField name = null;
30
        JTextArea description = null;
31
        JTextField createdBy =null;
32
        JTextField version =null;
33
        
34
        public JPropertiesScript(final ScriptingUnit unit){
35
                this(unit,true);
36
        }
37
        
38
        public JPropertiesScript(final ScriptingUnit unit, boolean isOpen){
39
                this.unit = unit;
40
                
41
                setLayout(new GridBagLayout());
42
                GridBagConstraints gbc = new GridBagConstraints();
43

    
44
                gbc.insets = new Insets(25,10,0,5);
45
                gbc.weightx = 0.5;
46
                gbc.fill = GridBagConstraints.HORIZONTAL;
47
                gbc.gridx = 0;
48
                gbc.gridy = 0;        
49
                add(new JLabel("Name: "),gbc);
50
                gbc.gridx = 1;
51
                name = new JTextField(20);
52
                if(unit instanceof ScriptingFolder){
53
                        name.setEditable(false);
54
                }else{
55
                        name.setText(unit.getName());
56
                }
57
                add(name, gbc);
58
                
59
                gbc.gridx = 0;
60
                gbc.gridy = 1;        
61
                add(new JLabel("Description: "),gbc);
62
                gbc.gridx = 1;
63
                description = new JTextArea(5,20);
64
                if(unit instanceof ScriptingFolder){
65
                        description.setEditable(false);
66
                }else{
67
                        description.setText(unit.getDescription());
68
                }
69
                JScrollPane scroll = new JScrollPane(description);
70
                add(scroll, gbc);
71
                
72
                gbc.gridx = 0;
73
                gbc.gridy = 2;
74
                add(new JLabel("Created by: "),gbc);
75
                gbc.gridx = 1;
76
                createdBy = new JTextField(20);
77
                if(unit instanceof ScriptingFolder){
78
                        createdBy.setEditable(false);
79
                }else{
80
                createdBy.setText(unit.getCreatedBy());
81
                }
82
                add(createdBy, gbc);
83
                
84
                gbc.insets = new Insets(10,10,25,5);
85
                gbc.gridx = 0;
86
                gbc.gridy = 3;
87
                add(new JLabel("Version: "),gbc);
88
                gbc.gridx = 1;
89
                version = new JTextField(20);
90
                if(unit instanceof ScriptingFolder){
91
                        version.setEditable(false);
92
                }else{
93
                        version.setText(unit.getVersion());
94
                }
95
                add(version, gbc);
96
                
97
                if(isOpen){
98
                        KeyListener keylistener = new KeyListener(){
99
        
100
                                public void keyPressed(KeyEvent arg0) {
101
                                        // TODO Auto-generated method stub
102
                                }
103
        
104
                                public void keyReleased(KeyEvent arg0) {
105
                                        // TODO Auto-generated method stub
106
                                }
107
        
108
                                public void keyTyped(KeyEvent arg0) {
109
                                        JPropertiesScript jProperties = null;
110
                                        if(arg0.getSource() instanceof JTextField){
111
                                                JTextField jText = (JTextField)arg0.getSource();
112
                                                jProperties = (JPropertiesScript)jText.getParent();
113
                                        } else {
114
                                                JTextArea jText = (JTextArea)arg0.getSource();
115
                                                JViewport jView = (JViewport)jText.getParent();
116
                                                JScrollPane jScroll = (JScrollPane)jView.getParent();
117
                                                jProperties = (JPropertiesScript)jScroll.getParent();
118
                                        }
119
                                        
120
                                        JTabbedPane tabsCode = (JTabbedPane)jProperties.getParent();
121
                                        JTabbedPane tabs = null;
122
                                        if (tabsCode.getParent() instanceof DefaultJCodeEditor){
123
                                                DefaultJCodeEditor jCode = (DefaultJCodeEditor)tabsCode.getParent();
124
                                                tabs = (JTabbedPane)jCode.getParent();
125
                                        }else{
126
                                                if (tabsCode.getParent() instanceof DefaultJDialogEditor){
127
                                                        DefaultJDialogEditor jCode = (DefaultJDialogEditor)tabsCode.getParent();
128
                                                        tabs = (JTabbedPane)jCode.getParent();
129
                                                }
130
                                        }
131
                                        
132
                                        int pestana = tabs.getSelectedIndex();
133
                                        
134
                                        String title = tabs.getTitleAt(pestana);
135
                                        if(unit instanceof ScriptingBaseScript){
136
                                                ScriptingBaseScript script = (ScriptingBaseScript)unit;
137
                                                if (script.isSaved()){
138
                                                        tabs.setTitleAt(pestana, "*"+title);
139
                                                        script.setSaved(false);
140
                                                }
141
                                        }
142
                                }
143
                        };
144
                        name.addKeyListener(keylistener);
145
                        description.addKeyListener(keylistener);
146
                        createdBy.addKeyListener(keylistener);
147
                        version.addKeyListener(keylistener);
148
                }
149
                
150
        }
151
        
152
}