/**
* Lance la pop-up permettant de modifier les informations de la ligne sélectionnée
*/
@Override
public void alterPopup() {
Station station1 = new Station();
Station station2 = new Station();
//Vérifie que la ligne existe bien
temp=controller.copyLine(temp);
if(temp==null)
{
errorPopup("noLine");
return;
}
temp=new Line(temp);
//Récupère la position de la ligne dans la liste de lignes
positionInList=controller.positionInListLine(temp);
//Champ de texte modifiable contenant le nom de la ligne
JTextField name = new JTextField(temp.getName());
//Liste déroulante contenant les types de transports possibles
Choice transportType = new Choice();
transportType.addItem(TransportType.BUS.toString());
transportType.addItem(TransportType.METRO.toString());
transportType.addItem(TransportType.TRAMWAY.toString());
transportType.select(temp.getTransportType().toString());
String[] stations = controller.getStationsNames();
//Liste déroulante avec système d'auto-complétion contenant les
//noms des stations
JComboBox terminus1 = new JComboBox();
AutoCompleteSupport support = AutoCompleteSupport.install(
terminus1, GlazedLists.eventListOf(stations));
terminus1.setSelectedItem(temp.getStations().get(0).getName());
JComboBox terminus2 = new JComboBox();
AutoCompleteSupport support2 = AutoCompleteSupport.install(
terminus2, GlazedLists.eventListOf(stations));
terminus2.setSelectedItem(temp.getStations().get(1).getName());
//Message contenant le champ de texte et les 3 listes déroulantes
Object[] message = new Object[] { name, transportType, terminus1, terminus2};
//Lance la pop-up de modification contenant le message
int r = JOptionPane.showConfirmDialog(null, message,
"Modifiez les valeurs", JOptionPane.OK_CANCEL_OPTION);
//Si l'utilisateur a cliqué sur le bouton "OK"
if (r == JOptionPane.OK_OPTION) {
String tempType = transportType.getSelectedItem();
if(tempType=="BUS")
temp.setTransportType(TransportType.BUS);
else if(tempType=="METRO")
temp.setTransportType(TransportType.METRO);
else if(tempType=="TRAMWAY")
temp.setTransportType(TransportType.TRAMWAY);
//On remplace les informations avec les nouvelles
temp.setName(name.getText());
station1.setName(terminus1.getSelectedItem().toString());
station2.setName(terminus2.getSelectedItem().toString());
station1=controller.copyStation(station1);
station2=controller.copyStation(station2);
//On vérifie que les nouvelles stations sélectionnées
//existent bien