Statistics
| Revision:

gvsig-scripting / org.gvsig.scripting / trunk / org.gvsig.scripting / org.gvsig.scripting.swing / org.gvsig.scripting.swing.api / src / main / java / org / gvsig / scripting / swing / api / JScriptingComposer.java @ 639

History | View | Annotate | Download (3.4 KB)

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

    
3
import java.awt.event.ActionListener;
4
import javax.swing.JPanel;
5
import javax.swing.event.ChangeListener;
6
import javax.swing.event.ListSelectionListener;
7
import org.gvsig.scripting.ScriptingScript;
8

    
9
import org.gvsig.scripting.ScriptingUnit;
10
import org.gvsig.tools.swing.api.Component;
11
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
12

    
13
/**
14
 * <code>JScriptingComposer</code> provides services to the management and
15
 * edition of the {@link ScriptingUnit}s of the ScriptingFramework.
16
 *
17
 * @see JScriptingLauncher
18
 */
19
public interface JScriptingComposer extends Component {
20

    
21
    public static final String DOCKED_PROBLEMS = "Problems";
22
    public static final String DOCKED_CONSOLE = "Console";
23
    public static final String DOCKED_PROJECTS = "Projects";
24
    
25
    public interface Dock extends Iterable<Dock.DockedPanel> {
26
        public static final String DOCK_TOP = "North";
27
        public static final String DOCK_BOTTOM = "South";
28
        public static final String DOCK_LEFT = "West";
29
        public static final String DOCK_RIGHT = "East";
30
        public static final String DOCK_CENTER = "Center";
31
        
32
        public interface DockedPanel {
33
            public String getId();
34
            public Component getComponent();
35
            public String getTitle();
36
            public String getAlign();
37
            public boolean isModified();
38
            public void setModified(boolean modified);
39
            public void remove();
40
            public void select();
41
        }
42
        public DockedPanel add(String id, String title, Component compnent, String align);
43
        public void remove(String id);
44
        public DockedPanel get(String id);
45
        public void select(String id);
46
        public DockedPanel getSelected(String align);
47
        public void setModified(DockedPanel panel, boolean modified);
48
        public boolean getModified(DockedPanel panel);
49
        public void addCloseListener(ActionListener listener);
50
    }    
51
    
52
    public interface Problems extends Component {
53
        public interface Problem {
54
            public String getType();
55
            public String getMessage();
56
            public String getResource();
57
            public int getLineNumber();
58
        }
59
        public void addListSelectionListener(ListSelectionListener listener);
60
        public Problem getSelect();
61
        public int getCount();
62
        public Problem get(int n);
63
        public void removeAll();
64
        public void add(String type, String message, String resource, String location);
65
        public void add(String type, String message, String resource, int line, int column);
66
    }
67
        
68
    public interface StatusBar extends Component {
69
        public void clear();
70
        
71
        public void message(String message);
72
        
73
        public void setPosition(int line);
74
        
75
        public void setPosition(int line, int column);
76
    }
77

    
78
    public JPanel getAboutUsDialog();
79

    
80
    public void setWindowManager(WindowManager windowsManager);
81

    
82
    public WindowManager getWindowManager();
83

    
84
    public JEditor getCurrentEditor();
85

    
86
    public ScriptingScript getCurrentScript();
87

    
88
    public Dock getDock();
89
    
90
    public Problems getProblems();
91
    
92
    public JScriptingConsole getConsole();
93
    
94
    public JScriptingLauncher getProjects();
95
    
96
    public StatusBar getStatusbar();
97
    
98
    public void addChangeEditorListener(ChangeListener listener);
99
    
100
    public void refreshProjects();
101

    
102
}