package controller.interfaces; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import java.util.Observable; import java.util.Observer; import model.exception.ControllerInitException; import view.interfaces.AbstractTab; abstract public class AbstractController extends Observable implements Observer, ActionListener, MouseListener { /** * command to dis or enable the main window */ protected ICommandEnableWindow mainWindow; /** * initialises the controller with the given new tab, in this method the * listener and so on should be set. The AbstractTab can be casted here. * * @param tab * the given tab panel * * @throws ControllerInitException * thrown if an error during init occurs */ abstract public void init(AbstractTab tab) throws ControllerInitException; /** * saves all configs if something is to save */ abstract public void saveConfig(); /** * sets the command to enable or disable the main window * * @param cmd * the command */ public void setMainWindowCommand(ICommandEnableWindow cmd) { this.mainWindow = cmd; } /* * (non-Javadoc) * * @see java.awt.event.MouseListener#mousePressed(java.awt.event.MouseEvent) */ @Override public void mousePressed(MouseEvent e) { } /* * (non-Javadoc) * * @see java.awt.event.MouseListener#mouseClicked(java.awt.event.MouseEvent) */ @Override public void mouseClicked(MouseEvent e) { } /* * (non-Javadoc) * * @see java.awt.event.MouseListener#mouseEntered(java.awt.event.MouseEvent) */ @Override public void mouseEntered(MouseEvent e) { } /* * (non-Javadoc) * * @see java.awt.event.MouseListener#mouseExited(java.awt.event.MouseEvent) */ @Override public void mouseExited(MouseEvent e) { } /* * (non-Javadoc) * * @see * java.awt.event.MouseListener#mouseReleased(java.awt.event.MouseEvent) */ @Override public void mouseReleased(MouseEvent e) { } }