display pairing results in choice table
This commit is contained in:
parent
9e602e8ca4
commit
4396b15c3a
9 changed files with 194 additions and 12 deletions
|
|
@ -4,7 +4,14 @@ from PyQt6.QtWidgets import QDialog
|
|||
from PyQt6.QtWidgets import QMessageBox
|
||||
from PyQt6.QtGui import QIcon
|
||||
|
||||
from warchron.constants import ItemType, RefreshScope, Icons, IconName, ContextType
|
||||
from warchron.constants import (
|
||||
ItemType,
|
||||
RefreshScope,
|
||||
Icons,
|
||||
IconName,
|
||||
ContextType,
|
||||
ChoiceStatus,
|
||||
)
|
||||
from warchron.model.exception import (
|
||||
AbortedOperation,
|
||||
DomainError,
|
||||
|
|
@ -12,6 +19,7 @@ from warchron.model.exception import (
|
|||
)
|
||||
from warchron.model.tie_manager import TieResolver, TieContext
|
||||
from warchron.model.result_checker import ResultChecker
|
||||
from warchron.model.pairing import Pairing
|
||||
from warchron.model.round import Round
|
||||
from warchron.model.war import War
|
||||
|
||||
|
|
@ -62,6 +70,20 @@ class RoundController:
|
|||
if choice.secondary_sector_id is not None
|
||||
else ""
|
||||
)
|
||||
priority_icon = None
|
||||
secondary_icon = None
|
||||
fallback_icon = None
|
||||
alloc = Pairing.get_round_allocation(
|
||||
war,
|
||||
rnd,
|
||||
part.id,
|
||||
)
|
||||
if alloc.priority != ChoiceStatus.NONE:
|
||||
priority_icon = QIcon(Icons.get_pixmap(IconName[alloc.priority.name]))
|
||||
if alloc.secondary != ChoiceStatus.NONE:
|
||||
secondary_icon = QIcon(Icons.get_pixmap(IconName[alloc.secondary.name]))
|
||||
if alloc.fallback:
|
||||
fallback_icon = QIcon(Icons.get_pixmap(IconName.FALLBACK))
|
||||
choices_for_display.append(
|
||||
ChoiceDTO(
|
||||
id=choice.participant_id,
|
||||
|
|
@ -71,9 +93,11 @@ class RoundController:
|
|||
priority_sector=priority_name,
|
||||
secondary_sector=secondary_name,
|
||||
comment=choice.comment,
|
||||
priority_icon=priority_icon,
|
||||
secondary_icon=secondary_icon,
|
||||
fallback_icon=fallback_icon,
|
||||
)
|
||||
)
|
||||
# TODO display allocated sectors and used token
|
||||
self.app.view.display_round_choices(choices_for_display)
|
||||
battles_for_display: List[BattleDTO] = []
|
||||
for sect in sectors:
|
||||
|
|
@ -111,8 +135,7 @@ class RoundController:
|
|||
winner_name = ""
|
||||
p1_icon = None
|
||||
p2_icon = None
|
||||
p1_tooltip = None
|
||||
p2_tooltip = None
|
||||
# TODO use uniform draw/tie icon logic with choice, war, campaign...
|
||||
if battle.is_draw():
|
||||
p1_icon = Icons.get(IconName.DRAW)
|
||||
p2_icon = Icons.get(IconName.DRAW)
|
||||
|
|
@ -131,10 +154,8 @@ class RoundController:
|
|||
pixmap = Icons.get_pixmap(IconName.TIEBREAK_TOKEN)
|
||||
if effective_winner == p1_war:
|
||||
p1_icon = QIcon(pixmap)
|
||||
p1_tooltip = "Won by tie-break"
|
||||
else:
|
||||
p2_icon = QIcon(pixmap)
|
||||
p2_tooltip = "Won by tie-break"
|
||||
elif battle.winner_id:
|
||||
if battle.winner_id == battle.player_1_id:
|
||||
p1_icon = Icons.get(IconName.WIN)
|
||||
|
|
@ -153,8 +174,6 @@ class RoundController:
|
|||
state_icon=state_icon,
|
||||
player1_icon=p1_icon,
|
||||
player2_icon=p2_icon,
|
||||
player1_tooltip=p1_tooltip,
|
||||
player2_tooltip=p2_tooltip,
|
||||
)
|
||||
)
|
||||
self.app.view.display_round_battles(battles_for_display)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue