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