package games.strategy.triplea.ui; import java.awt.Cursor; import java.awt.Window; import java.util.concurrent.CountDownLatch; import javax.swing.JLabel; import games.strategy.engine.data.GameData; import games.strategy.engine.data.PlayerID; import games.strategy.engine.data.UnitType; import games.strategy.engine.framework.LocalPlayers; import games.strategy.triplea.image.DiceImageFactory; import games.strategy.triplea.image.FlagIconImageFactory; import games.strategy.triplea.image.MapImage; import games.strategy.triplea.image.PUImageFactory; import games.strategy.triplea.image.ResourceImageFactory; import games.strategy.triplea.image.TileImageFactory; import games.strategy.triplea.image.UnitImageFactory; import games.strategy.triplea.ui.mapdata.MapData; import games.strategy.triplea.ui.screen.drawable.IDrawable.OptionalExtraBorderLevel; import games.strategy.util.CountDownLatchHandler; public interface IUIContext { Cursor getCursor(); double getScale(); void setScale(double scale); void setDefaultMapDir(GameData data); void setMapDir(GameData data, String mapDir); MapData getMapData(); TileImageFactory getTileImageFactory(); UnitImageFactory getUnitImageFactory(); enum UnitDamage { DAMAGED, NOT_DAMAGED } enum UnitEnable { DISABLED, ENABLED } default JLabel createUnitImageJLabel(final UnitType type, final PlayerID player, final GameData data) { return createUnitImageJLabel(type, player, data, UnitDamage.NOT_DAMAGED, UnitEnable.ENABLED); } JLabel createUnitImageJLabel(final UnitType type, final PlayerID player, final GameData data, final UnitDamage damaged, final UnitEnable disabled); ResourceImageFactory getResourceImageFactory(); MapImage getMapImage(); FlagIconImageFactory getFlagImageFactory(); PUImageFactory getPUImageFactory(); DiceImageFactory getDiceImageFactory(); void removeActive(Active actor); void addActive(Active actor); void addShutdownLatch(CountDownLatch latch); void removeShutdownLatch(CountDownLatch latch); CountDownLatchHandler getCountDownLatchHandler(); void addShutdownWindow(Window window); void removeShutdownWindow(Window window); boolean isShutDown(); void shutDown(); boolean getShowUnits(); void setShowUnits(boolean aBool); OptionalExtraBorderLevel getDrawTerritoryBordersAgain(); void setDrawTerritoryBordersAgain(OptionalExtraBorderLevel level); void resetDrawTerritoryBordersAgain(); void setDrawTerritoryBordersAgainToMedium(); void setShowTerritoryEffects(boolean aBool); boolean getShowTerritoryEffects(); boolean getShowMapOnly(); void setShowMapOnly(boolean aBool); boolean getLockMap(); void setLockMap(boolean aBool); boolean getShowEndOfTurnReport(); void setShowEndOfTurnReport(boolean value); boolean getShowTriggeredNotifications(); void setShowTriggeredNotifications(boolean value); boolean getShowTriggerChanceSuccessful(); void setShowTriggerChanceSuccessful(boolean value); boolean getShowTriggerChanceFailure(); void setShowTriggerChanceFailure(boolean value); boolean getShowBattlesBetweenAIs(); void setShowBattlesBetweenAIs(boolean aBool); LocalPlayers getLocalPlayers(); void setLocalPlayers(LocalPlayers players); void setUnitScaleFactor(double scaleFactor); }