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 }