/*
* Created on 24 Aug 2007
*
* Copyright (c) 2004-2007 Peter Johan Salomonsen
*
* http://www.frinika.com
*
* This file is part of Frinika.
*
* Frinika is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
* Frinika is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
* You should have received a copy of the GNU General Public License
* along with Frinika; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
package com.frinika.tootX.gui;
import com.frinika.tootX.midi.MidiLearnIF;
import java.awt.Color;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JComponent;
import uk.org.toot.swingui.controlui.ControlPanel;
public class ControlFocus {
//private MidiLearnFrame learnFrame;
private MouseListener mouseListener;
private ControlPanel focus;
public ControlFocus(final MidiLearnIF midiLearnIF) {
mouseListener = new MouseListener() {
private boolean setFocus(MouseEvent arg0) {
JComponent c = (JComponent) arg0.getSource();
System.out.println(c.getClass());
if (c instanceof ControlPanel ) {
System.out.println("Clicked " + c);
if (c == focus)
return true;
if (focus != null)
((JComponent)focus).setBackground(null);
c.setBackground(Color.RED);
focus = (ControlPanel)c;
}
return true;
}
public void mouseClicked(MouseEvent arg0) {
System.out.println(" Click (focus) ");
setFocus(arg0);
}
public void mouseEntered(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
public void mousePressed(MouseEvent arg0) {
if (!setFocus(arg0)) return;
if(arg0.getButton() == MouseEvent.BUTTON3) {
// learnFrame=MidiLearnFrame.the();
midiLearnIF.setFocus(focus);
midiLearnIF.setVisible(true);
}
}
public void mouseReleased(MouseEvent arg0) {
// TODO Auto-generated method stub
}
};
}
public void addComponent(JComponent c) {
c.addMouseListener(mouseListener);
}
}