/*
* Copyright (C) 2011 Peransin Nicolas.
* Use is subject to license terms.
*/
package org.mypsycho.swing;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
/**
* XXX Doc
* <p>Detail ... </p>
* @author Peransin Nicolas
*/
public class EventHandlerExtension implements MouseListener, PropertyChangeListener {
PropertyChangeListener superPropertyListener = null;
MouseListener superMouseListener = null;
public PropertyChangeListener createExtension(PropertyChangeListener s) {
superPropertyListener = s;
return this;
}
public MouseListener createExtension(MouseListener s) {
superMouseListener = s;
return this;
}
public void prePropertyChange(PropertyChangeEvent evt) {}
public void propertyChange(PropertyChangeEvent evt) {
prePropertyChange(evt);
if (superPropertyListener != null)
superPropertyListener.propertyChange(evt);
postPropertyChange(evt);
}
public void postPropertyChange(PropertyChangeEvent evt) {}
public void preMouseClicked(MouseEvent e) {}
public void mouseClicked(MouseEvent e) {
preMouseClicked(e);
if (superMouseListener != null)
superMouseListener.mouseClicked(e);
postMouseClicked(e);
}
public void postMouseClicked(MouseEvent e) {}
public void preMousePressed(MouseEvent e) {}
public void mousePressed(MouseEvent e) {
// On click, get tab, is close button, remove
preMousePressed(e);
if (superMouseListener != null)
superMouseListener.mousePressed(e);
postMousePressed(e);
}
public void postMousePressed(MouseEvent e) {}
public void preMouseReleased(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {
preMouseReleased(e);
if (superMouseListener != null)
superMouseListener.mouseReleased(e);
postMouseReleased(e);
}
public void postMouseReleased(MouseEvent e) {}
public void preMouseEntered(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {
preMouseEntered(e);
if (superMouseListener != null)
superMouseListener.mouseEntered(e);
postMouseEntered(e);
}
public void postMouseEntered(MouseEvent e) {}
public void preMouseExited(MouseEvent e) {}
public void mouseExited(MouseEvent e) {
preMouseExited(e);
if (superMouseListener != null)
superMouseListener.mouseExited(e);
postMouseExited(e);
}
public void postMouseExited(MouseEvent e) {}
}