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 / DefaultJDialogEditor.java @ 457

History | View | Annotate | Download (2.37 KB)

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

    
3
import java.awt.BorderLayout;
4
import java.awt.event.ActionListener;
5

    
6
import javax.swing.JPanel;
7
import javax.swing.JScrollPane;
8
import javax.swing.JTabbedPane;
9
import javax.swing.text.JTextComponent;
10

    
11
import org.gvsig.scripting.ScriptingDialog;
12
import org.gvsig.scripting.ScriptingScript;
13
import org.gvsig.scripting.swing.api.JDialogEditor;
14
import org.gvsig.scripting.swing.api.JThinG;
15
import org.gvsig.scripting.swing.api.ScriptingUIManager;
16

    
17

    
18
public class DefaultJDialogEditor extends JDialogEditor{
19

    
20
        /**
21
         * 
22
         */
23
        private static final long serialVersionUID = 5032349017514086800L;
24
        JThinG thing;
25
        protected ScriptingDialog script;
26
        protected JTabbedPane pestana;
27
        EditorHelper editorHelper;
28
        private ScriptingUIManager uimanager;
29
        
30
        public DefaultJDialogEditor(ScriptingUIManager uimanager, ScriptingDialog script) {
31
                super();
32
                this.uimanager = uimanager;
33
                this.script = script;
34
                this.editorHelper = new EditorHelper(uimanager,(ScriptingScript) script);
35
                makeUI();
36
        }
37

    
38
        private void makeUI(){
39
                pestana = new JTabbedPane();
40
                pestana.setTabPlacement(JTabbedPane.BOTTOM);
41
                pestana.addTab(this.uimanager.getTranslation("Dialog"), getDialogPanel());
42
                pestana.addTab(this.uimanager.getTranslation("Code"), editorHelper.getCodePanel());
43
                pestana.addTab(this.uimanager.getTranslation("Properties"), editorHelper.getPropertiesPanel());
44
                this.setLayout( new BorderLayout() );
45
                this.add(BorderLayout.CENTER, pestana);
46
        }
47
        
48
        public ScriptingDialog getDialog(){
49
                return (ScriptingDialog) this.script;
50
        }
51

    
52
        public void save(){
53
                this.editorHelper.saveScript( ((JPropertiesScript)pestana.getComponent(2)));
54
                thing.save(this.getDialog().getDialogFile());
55
        }
56
        
57
        private JPanel getDialogPanel(){
58
                JPanel panel = new JPanel();
59
                panel.setLayout( new BorderLayout() );
60
                
61
                thing = this.editorHelper.getUIManager().createJThinG();
62
                thing.load(this.getDialog().getDialogFile());
63
        
64
                panel.add(new JScrollPane(thing),BorderLayout.CENTER);
65
                panel.setVisible(true);
66

    
67
                return panel;
68
        }        
69

    
70
        public void addDefaultActionListener(ActionListener actionlistener) {
71
                this.editorHelper.addDefaultActionListener(actionlistener);  
72
        }
73

    
74
        public JTextComponent getJTextComponent(){
75
                return this.editorHelper.getJEditorPanel();
76
        }
77

    
78
        public ScriptingScript getScript() {
79
                return (ScriptingScript) this.script;
80
        }
81
        
82
        public void reload() {
83
                
84
        }
85
        
86
        public void reloadDialog() {
87
                
88
        }
89
}