package voxo.client.listeners;
import java.awt.Color;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import javax.swing.ImageIcon;
import javax.swing.SwingConstants;
import javax.swing.border.BevelBorder;
import javax.swing.border.EtchedBorder;
import javax.swing.border.LineBorder;
import voxo.client.views.MainView;
import voxo.client.views.components.CustomChatWindow;
import voxo.client.views.components.CustomContact;
import voxo.client.views.components.CustomPanel;
import voxo.client.views.components.CustomUserList;
public class SelectingUserListener extends MouseAdapter {
private MainView m;
public SelectingUserListener(MainView m) {
this.m = m;
}
@Override
public void mouseClicked(MouseEvent e) {
super.mouseClicked(e);
// check if selected user have a yellow border, and erase it
if (m.getSelectedUser() != null) {
m.getContactListHash().get(m.getSelectedUser().getUsername()).setBorder(null);
}
if (e.getSource().toString() == "CustomContact") {
m.openChatEvent((((CustomContact) e.getSource()).getU()));
// setter le border du user choisi a jaune
((CustomContact) e.getSource()).setBorder(new LineBorder(Color.YELLOW));
// setter le user choisi
m.setSelectedUser(((CustomContact) e.getSource()).getU());
// si on clique sur le chat window
} else if (e.getSource().getClass().equals(CustomPanel.class)) {
// set a new selected USer
m.setSelectedUser(((CustomPanel) e.getSource()).getU());
m.getContactListHash().get(m.getSelectedUser().getUsername()).setBorder(new LineBorder(Color.YELLOW));
}
m.getBtnRemoveContact().setEnabled(true);
}
@Override
public void mouseExited(MouseEvent e) {
super.mouseExited(e);
//if custom contact
if (e.getSource().toString() == "CustomContact") {
// if the border isnt yellow
if (!((CustomContact) e.getSource()).getBorder().getClass().equals(LineBorder.class)) {
((CustomContact) e.getSource()).setBorder(null);
}
if (m.getSelectedUser() != null) {
m.getContactListHash().get(m.getSelectedUser().getUsername()).setBorder(new LineBorder(Color.YELLOW));
}
}
}
@Override
public void mouseEntered(MouseEvent e) {
super.mouseEntered(e);
if (e.getSource().toString() == "CustomContact") {
((CustomContact) e.getSource()).setBorder(new EtchedBorder(EtchedBorder.LOWERED, null, null));
}
if (m.getSelectedUser() != null) {
m.getContactListHash().get(m.getSelectedUser().getUsername()).setBorder(new LineBorder(Color.YELLOW));
}
}
}