Code Search for Developers
 
 
  

SaveTournamentAction.java from The Geronimo Project at Krugle


Show SaveTournamentAction.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 java.util.HashMap;
import java.util.Map;

import org.eclipse.jface.action.Action;

/**
 * Action d'enregistrement (sous) d'une partie.
 * @author Geronimo
 */
public class SaveTournamentAction extends Action
{
	private static SaveTournamentAction instance;
	
	private Tournament selectedTournament;
	
	private final Map<Tournament,String> savedTournaments;
	
	/**
	 * Création de l'action. Privé car on n'autorise qu'une seule instance
	 * de la classe.
	 */
	private SaveTournamentAction()
	{
		super();
		this.setText("&Enregistrer@Ctrl+O");
		this.setToolTipText("Enregistrer le tournoi");
		this.setImageDescriptor( IconRegistry.getDescriptor("save_tournament",IconSize.SMALL) );
		this.setEnabled(false);
		
		this.savedTournaments = new HashMap<Tournament,String>();
	}
	
	/**
	 * Changement de tournoi actif
	 * @param tournament Nouveau tournoi actif
	 */
	public void setActiveTournament(Tournament tournament)
	{
		this.selectedTournament = tournament;
		this.setEnabled(    this.selectedTournament != null
						 && this.savedTournaments.containsKey(this.selectedTournament) );
	}
	
	/**
	 * Ajout d'un tournoi dans la liste des tournois dont le fichier est connu
	 * @param tournament Tournoi enregistré
	 * @param path Chemin du fichier 
	 */
	public void addTournament(Tournament tournament, String path)
	{
		this.savedTournaments.put(tournament, path);
		if( this.selectedTournament == tournament )
		{
			this.setEnabled(true);
		}
	}
	
	/**
	 * Accès à l'instance de la classe.
	 * @return Retourne l'instance
	 */
	public synchronized static SaveTournamentAction getInstance()
	{
		// Creation de l'instance au premier appel
		if(instance == null)
		{
			instance = new SaveTournamentAction();
		}
		return instance;
	}

	/**
	 * Lancement de l'action. Supprime la partie
	 */
	public void run()
	{
		if( this.selectedTournament != null && this.savedTournaments.containsKey(this.selectedTournament) )
		{
			System.out.println("<SaveTournamentAction> Enregistrement du tournoi" +
				this.selectedTournament + " => " + this.savedTournaments.get(this.selectedTournament) );
			// TODO implémenter
		}
	}
}




See more files for this project here

The Geronimo Project

The Geronimo project concists of two software :\n- Geronimo Hoshigo : a playable graphical user interface to play Go\n- Geronimo Margo : a artificial intelligence program which plays Go

Project homepage: http://sourceforge.net/projects/geronimo
Programming language(s): Java,Pascal,Perl,PHP
License: gpl2

  CloseTournamentAction.java
  NewTournamentAction.java
  OpenTournamentAction.java
  SaveTournamentAction.java
  SaveTournamentAsAction.java
  TournamentActionManager.java