Statistics
| Revision:

gvsig-scripting / org.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 @ 457

History | View | Annotate | Download (4.37 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.ScriptingLocator;
20
import org.gvsig.scripting.ScriptingUnit;
21
import org.gvsig.scripting.swing.api.ScriptingSwingLocator;
22
import org.gvsig.scripting.swing.api.ScriptingUIManager;
23

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

    
30
        //private ScriptingUnit unit;
31
        
32
        JTextField name = null;
33
        JTextArea description = null;
34
        JTextField createdBy =null;
35
        JTextField version =null;
36

    
37
        private ScriptingUIManager uimanager;
38
        
39
        public JPropertiesScript(final ScriptingUnit unit){
40
                this(unit,true);
41
        }
42
        
43
        public JPropertiesScript(final ScriptingUnit unit, boolean isOpen){
44
                //this.unit = unit;
45
                this.uimanager = ScriptingSwingLocator.getUIManager();
46
                setLayout(new GridBagLayout());
47
                GridBagConstraints gbc = new GridBagConstraints();
48

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