001    package nl.cwi.sen1.gui.plugin;
002    
003    import java.awt.event.MouseListener;
004    import java.io.IOException;
005    
006    import javax.swing.JMenu;
007    
008    import nl.cwi.sen1.configapi.types.PropertyList;
009    import aterm.ATerm;
010    import errorapi.types.Area;
011    
012    public interface Editor {
013    
014            public void addMouseListener(MouseListener l);
015        
016        public void addEditorModifiedListener(EditorModifiedListener l);
017        
018        public void removeEditorModifiedListener(EditorModifiedListener l);
019    
020            public void writeContents(String filename) throws IOException;
021            
022            public void setCursorAtOffset(int offset);
023    
024            public void setFocus(Area focus);
025    
026            public String getId();
027    
028            public String getFilename();
029    
030            public void setModified(boolean modified);
031    
032            public boolean isModified();
033    
034            public void registerCategories(PropertyList properties);
035    
036            public void registerSlices(ATerm slices);
037    
038            public int getMouseOffset(int x, int y);
039    
040            public JMenu getEditMenu();
041            
042            public void rereadContents();
043        
044        public void setEditable(boolean b);
045        
046        public boolean isEditable();
047    
048            public String getContents();
049    
050            public void setContents(String contents);
051    
052            public void setSelection(Area area);
053            
054            public void clearSelections();
055    }