/** * Handle player. * * @param player the player */ private void handlePlayer(IPlayer player, IGameEntry entry) { if (player != null) { TableViewerColumn column; // mark column column = this.playerColumn.get(player); TableViewerColumn c; for (IPlayer p : this.game.getPlayers()) { c = this.playerColumn.get(p); if (c.equals(column)) { c.getColumn().setImage(ProtoPlugin.getImage(ISharedImages.IMG_ARROW_DECO)); } else { c.getColumn().setImage(null); } } // enable/disable inputs & focus Text playerInputTxt = this.playerScoreInput.get(player); for (Text inputTxt : this.playerScoreInput.values()) { if (playerInputTxt.equals(inputTxt)) { inputTxt.setEnabled(true); inputTxt.setBackground( OpenDartsFormsToolkit.getToolkit() .getColors() .getColor(OpenDartsFormsToolkit.COLOR_ACTIVE)); inputTxt.setFocus(); } else { inputTxt.setEnabled(false); inputTxt.setText(""); inputTxt.setBackground( OpenDartsFormsToolkit.getToolkit() .getColors() .getColor(OpenDartsFormsToolkit.COLOR_INACTIVE)); } } // IA playing if (player.isComputer()) { ThreeDartsComputerDialog computerThrow = new DartsComputerX01Dialog( this.getSite().getShell(), player, this.game, (GameX01Entry) entry); computerThrow.open(); IDartsThrow dartThrow = computerThrow.getComputerThrow(); if (dartThrow instanceof WinningX01DartsThrow) { this.gameService.addWinningPlayerThrow(this.game, player, dartThrow); } else { this.gameService.addPlayerThrow(this.game, player, dartThrow); } } } }