Code Search for Developers
 
 
  

MainActionManager.java from The Geronimo Project at Krugle


Show MainActionManager.java syntax highlighted

package geronimo.hoshigo.control;

import geronimo.hoshigo.control.game.GameActionManager;
import geronimo.hoshigo.control.player.PlayerActionManager;
import geronimo.hoshigo.control.referee.RefereeActionManager;
import geronimo.hoshigo.control.tournament.TournamentActionManager;
import geronimo.hoshigo.model.GameDirectoryListener;
import geronimo.hoshigo.model.game.Game;
import geronimo.hoshigo.model.game.Score;
import geronimo.hoshigo.model.tournament.Tournament;
import geronimo.hoshigo.model.tournament.TournamentGame;
import geronimo.hoshigo.view.game.GameTabFolderListener;
import geronimo.hoshigo.view.gamedirectory.GameDirectoryViewerListener;

import org.eclipse.jface.action.CoolBarManager;
import org.eclipse.jface.action.MenuManager;

/**
 * Gestionnaire d'action pricipal. Crée et gère tous les autres ActionManager
 * @author Geronimo
 */
public class MainActionManager implements ActionManager, GameDirectoryListener,
	GameDirectoryViewerListener, GameTabFolderListener
{
	private final TournamentActionManager tournamentActionManager;
	private final GameActionManager       gameActionManager;
	private final PlayerActionManager     playerActionManager;
	private final RefereeActionManager    refereeActionManager;
	
	private Game activeGame;
	
	/**
	 * Creation de tous les ActionManager
	 */
	public MainActionManager()
	{
		this.tournamentActionManager = new TournamentActionManager();
		this.gameActionManager       = new GameActionManager();
		this.playerActionManager     = new PlayerActionManager();
		this.refereeActionManager    = new RefereeActionManager();
		
		MainController.getGameDirectory().addGameDirectoryListener(this);
	}

	/**
	 * Accès au gestionnaire des actions relatives aux tournois
	 * @return Retourne le gestionnaire
	 */
	public TournamentActionManager getTournamentsActionManager()
	{
		return this.tournamentActionManager;
	}

	/**
	 * Accès au gestionnaire des actions relatives aux parties
	 * @return Retourne le gestionnaire
	 */
	public GameActionManager getGameActionManager()
	{
		return this.gameActionManager;
	}

	/**
	 * Accès au gestionnaire des actions relatives aux joueurs humains
	 * @return Retourne le gestionnaire
	 */
	public PlayerActionManager getPlayerActionManager()
	{
		return this.playerActionManager;
	}

	/**
	 * Accès au gestionnaire des actions relatives aux arbitres
	 * @return Retourne le gestionnaire
	 */
	public RefereeActionManager getRefereeActionManager()
	{
		return this.refereeActionManager;
	}

	/**
	 * Changement de tournoi.
	 * @param game Nouvelle partie courante
	 */
	private void setActiveTournament(Tournament tournament)
	{
		this.tournamentActionManager.setActiveTournament(tournament);
	}

	/**
	 * Changement de partie.
	 * @param game Nouvelle partie courante
	 */
	public void setActiveGame(Game game)
	{
		if(game != this.activeGame)
		{
			this.activeGame = game;
			
			// Mise à jour du gestionnaire d'actions des tournois
			if(game instanceof TournamentGame)
			{
				this.setActiveTournament( ((TournamentGame)game).getTournament());
			}
			else
			{
				this.setActiveTournament(null);
			}
			
			// Mise à jour du gestionnaire d'actions des parties
			this.gameActionManager.setActiveGame(game);
			
			// Mise à jour du gestionnaire d'actions des joueurs humains
			this.playerActionManager.setActiveGame(game);
			
			// Mise à jour du gestionnaire d'actions des arbitres
			this.refereeActionManager.setActiveGame(game);
		}
	}

	public void fill(MenuManager manager)
	{
		this.tournamentActionManager.fill(manager);
		this.gameActionManager      .fill(manager);
		this.playerActionManager    .fill(manager);
	}

	public void fill(CoolBarManager manager)
	{
		this.tournamentActionManager.fill(manager);
		this.gameActionManager      .fill(manager);
		this.playerActionManager    .fill(manager);
	}
	
	/**
	 * Match amical sélectionné dans l'arbre des parties
	 * @param game Partie sélectionnée
	 */
	public void freeGameSelected(Game game)
	{
		this.setActiveGame(game);
	}
	
	/**
	 * Tournoi sélectionné dans l'arbre des parties
	 * @param tournament Tournoi sélectionné
	 */
	public void tournamentSelected(Tournament tournament)
	{
		this.setActiveTournament(tournament);
	}
	
	/**
	 * Match d'un tournoi sélectionné dans l'arbre des parties
	 * @param game Partie sélectionnée
	 */
	public void tournamentGameSelected(TournamentGame game)
	{
		this.setActiveGame(game);
	}
	
	/**
	 * Match amical ouvert dans l'arbre des parties
	 * @param game Partie sélectionnée
	 */
	public void freeGameOpened(Game game)
	{
		this.setActiveGame(game);
	}
	
	/**
	 * Match d'un tournoi ouvert dans l'arbre des parties
	 * @param game Partie sélectionnée
	 */
	public void tournamentGameOpened(TournamentGame game)
	{
		this.setActiveGame(game);
	}
	
	/**
	 * Méthode appelée quand l'onglet d'une partie est sélectionné
	 * @param game Partie sélectionnée
	 */
	public void gameSelected(Game game)
	{
		this.setActiveGame(game);
	}

	public void freeGameAdded(Game game)
	{
	}

	public void freeGameRemoved(Game game)
	{
		if(this.activeGame == game)
		{
			this.setActiveGame(null);
		}
	}

	public void tournamentAdded(Tournament tournament)
	{
	}

	public void tournamentRemoved(Tournament tournament)
	{
	}

	public void freeGameEnded(Game game, String winner, Score score)
	{
	}

	public void tournamentEnded(Tournament tournament, String winner)
	{
	}

	public void tournamentGameEnded(TournamentGame game, String winner, Score score)
	{
	}
}




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

  game/
    CloseGameAction.java
    GameActionManager.java
    NewGameAction.java
    OpenGameAction.java
    SaveGameAction.java
    SaveGameAsAction.java
  player/
    AnyColorPassAction.java
    BlackPassAction.java
    PassAction.java
    PlayAction.java
    PlayerActionManager.java
    WhitePassAction.java
  referee/
    RefereeActionManager.java
  tournament/
    CloseTournamentAction.java
    NewTournamentAction.java
    OpenTournamentAction.java
    SaveTournamentAction.java
    SaveTournamentAsAction.java
    TournamentActionManager.java
  ActionManager.java
  MainActionManager.java
  MainController.java