Show SaveTournamentAsAction.java syntax highlighted
package geronimo.hoshigo.control.tournament;
import geronimo.hoshigo.model.tournament.Tournament;
import geronimo.hoshigo.view.IconRegistry;
import geronimo.hoshigo.view.IconRegistry.IconSize;
import org.eclipse.jface.action.Action;
/**
* Action d'enregistrement (sous) d'une partie.
* @author Geronimo
*/
public class SaveTournamentAsAction extends Action
{
private static SaveTournamentAsAction instance;
private Tournament selectedTournament;
/**
* Création de l'action. Privé car on n'autorise qu'une seule instance
* de la classe.
*/
private SaveTournamentAsAction()
{
super();
this.setText("&Enregistrer sous...@Ctrl+O");
this.setToolTipText("Enregistrer le tournoi sous...");
this.setImageDescriptor( IconRegistry.getDescriptor("save_tournament_as",IconSize.SMALL) );
this.setEnabled(false);
}
/**
* Changement de tournoi actif
* @param tournament Nouveau tournoi actif
*/
public void setActiveTournament(Tournament tournament)
{
this.selectedTournament = tournament;
this.setEnabled(tournament != null);
}
/**
* Accès à l'instance de la classe.
* @return Retourne l'instance
*/
public synchronized static SaveTournamentAsAction getInstance()
{
// Creation de l'instance au premier appel
if(instance == null)
{
instance = new SaveTournamentAsAction();
}
return instance;
}
/**
* Lancement de l'action. Supprime la partie
*/
public void run()
{
if(this.selectedTournament != null)
{
String fileName = this.selectedTournament.toString().concat(".sfg");
System.out.println("<SaveGameAsAction> Enregistrement du tournoi " +
this.selectedTournament + " => " + fileName );
SaveTournamentAction.getInstance().addTournament(this.selectedTournament, fileName);
}
}
}
See more files for this project here