/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package View;
import controler.Othello;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import Controller.OthelloController;
/**
*
* @author jul
*/
public class LoginView implements CommandListener , ViewInterface{
private static final Command CANCEL = new Command("Annuler", Command.BACK, 1);
private static final Command VALID = new Command("Valider", Command.SCREEN, 1);
private Display _display;
private ViewInterface _parent;
private ViewInterface _child ;
private Othello _controler ;
private String _logText = "Inscription auprés du serveur...";
private Alert _logScreen = new Alert("Inscription");
private TextField _fieldLogin ;
private TextField _fieldPass ;
private Form _form ;
/**
* Permet d'initialiser les variables de la vue
* @param d : Afficheur
* @param c : Controleur
* @return
*/
public LoginView( Display d , Othello c ) {
_display = d ;
_controler = c ;
_form = new Form("Saisir le login et le mot de passe :");
_fieldLogin = new TextField("Login", "", 5, TextField.ANY) ;
_fieldPass = new TextField("Pass","", 5,TextField.PASSWORD);
_form.addCommand(CANCEL);
_form.addCommand(VALID);
_form.append( _fieldLogin ) ;
_form.append( _fieldPass ) ;
// prepare wait screen
_logScreen.addCommand(CANCEL);
_logScreen.setString(_logText);
_logScreen.setTimeout(Alert.FOREVER);
_logScreen.setCommandListener(this);
_form.setCommandListener(this);
}
/**
* Permet d'affecter un prédecesseur et un successeur à la vue
* @param p : Prédecesseur
* @param c : Successeur
* @return
*/
public void setParentAndChild(ViewInterface p, ViewInterface c) {
_parent = p ;
_child = c ;
}
/**
* Permet d'afficher la vue
* @return
*/
public void display() {
_display.setCurrent( _form ) ;
System.out.println("LoginView : display");
}
/**
* Démarre la procédure d'inscription auprés du serveur
* @return
*/
private void login() {
_display.setCurrent( _logScreen ) ;
//si connection réussie alors _child.display(); (en l'ocurrence une liste de joueur)
//sinon on affiche la meme vue mais avec un message d'erreur
// Inscription
//server.getConnection(_field.getString()) ;
System.out.println("LoginView : login") ;
}
/**
* Permet de gérer les événements associés à des commandes
* @param c : Commande executer
* @param d : Objet affichage liée à la commande
* @return
*/
public void commandAction(Command c, Displayable d) {
if( c == VALID ) {
this.login();
} else if( (c == CANCEL) && (d == _logScreen) ) {
this.display() ;
} else {
_parent.display() ;
}
}
// <editor-fold defaultstate="collapsed" desc=" UML Marker ">
// #[regen=yes,id=DCE.0F96E763-C08A-FEF9-50FE-43BA1BC87382]
// </editor-fold>
public LoginView (Display disp, OthelloController ctrl) {
}
}