/**
*
*/
package org.hyperdata.scute.main;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;
import javax.swing.JEditorPane;
import org.hyperdata.scute.source.EditorPane;
import org.hyperdata.scute.source.RdfSourcePanel;
import org.hyperdata.scute.toolbars.source.EditorToolbar;
/**
* @author danny
*
*/
public class FocusMonitor implements FocusListener {
private EditorToolbar editorToolbar;
public void setEditorToolbar(EditorToolbar editorToolbar){
this.editorToolbar = editorToolbar;
}
/* (non-Javadoc)
* @see java.awt.event.FocusListener#focusGained(java.awt.event.FocusEvent)
*/
@Override
public void focusGained(FocusEvent event) {
Object source = event.getSource();
if(source instanceof EditorPane){
editorToolbar.enableAll();
editorToolbar.setEditorPane((EditorPane)source);
editorToolbar.setVisible(true);
} else {
editorToolbar.setVisible(false);
}
// System.out.println("FOCUS="+event.getSource());
}
/* (non-Javadoc)
* @see java.awt.event.FocusListener#focusLost(java.awt.event.FocusEvent)
*/
@Override
public void focusLost(FocusEvent event) {
Object source = event.getSource();
if(source instanceof EditorPane){
EditorPane editorPane = (EditorPane)source;
editorPane.save();
// editorPane.
}
// XXXMODEL
if(source instanceof RdfSourcePanel){
RdfSourcePanel sourcePanel = (RdfSourcePanel)source;
sourcePanel.refreshModelFromText();
sourcePanel.saveModel();
}
editorToolbar.setVisible(false);
}
}