From: <iam...@us...> - 2010-03-15 16:19:09
|
Revision: 1315 http://eulergui.svn.sourceforge.net/eulergui/?rev=1315&view=rev Author: iamlolive Date: 2010-03-15 16:19:02 +0000 (Mon, 15 Mar 2010) Log Message: ----------- EditorManagement.openJavaEditor() now manages only one editor per N3Source. Modified Paths: -------------- trunk/eulergui/src/main/java/n3_project/EditorManagement.java Modified: trunk/eulergui/src/main/java/n3_project/EditorManagement.java =================================================================== --- trunk/eulergui/src/main/java/n3_project/EditorManagement.java 2010-03-15 16:09:32 UTC (rev 1314) +++ trunk/eulergui/src/main/java/n3_project/EditorManagement.java 2010-03-15 16:19:02 UTC (rev 1315) @@ -1,8 +1,12 @@ package n3_project; import java.awt.event.ActionEvent; +import java.awt.event.WindowEvent; +import java.awt.event.WindowListener; import java.io.File; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; import java.util.TreeMap; import javax.swing.AbstractAction; @@ -113,9 +117,61 @@ return null; } - void openJavaEditor( N3Source n3 ) { - TextEditor editor = new TextEditor(); - editor.displayEditor( projectGUI, n3); + + public Map<N3Source,TextEditor> n3SourceToEditor = new HashMap<N3Source, TextEditor>(); + + public TextEditor openJavaEditor( final N3Source n3 ) { + final TextEditor editor; + if(!n3SourceToEditor.containsKey(n3)){ + editor = new TextEditor(); + WindowListener editorClosedListener = new WindowListener() { + + @Override + public void windowOpened(WindowEvent e) { + //To change body of implemented methods use File | Settings | File Templates. + } + + @Override + public void windowClosing(WindowEvent e) { + + } + + @Override + public void windowClosed(WindowEvent e) { + editor.removeWindowListener(this); + n3SourceToEditor.remove(n3); + } + + @Override + public void windowIconified(WindowEvent e) { + //To change body of implemented methods use File | Settings | File Templates. + } + + @Override + public void windowDeiconified(WindowEvent e) { + //To change body of implemented methods use File | Settings | File Templates. + } + + @Override + public void windowActivated(WindowEvent e) { + //To change body of implemented methods use File | Settings | File Templates. + } + + @Override + public void windowDeactivated(WindowEvent e) { + //To change body of implemented methods use File | Settings | File Templates. + } + }; + n3SourceToEditor.put(n3, editor); + editor.displayEditor( projectGUI, n3); + editor.addWindowListener(editorClosedListener); + } + else { + editor = n3SourceToEditor.get(n3); + editor.setOnTop(); + } + return editor; + } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |