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 }