mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
65 lines
2.3 KiB
Python
65 lines
2.3 KiB
Python
from PySide2.QtWidgets import QFrame, QHBoxLayout, QPushButton, QVBoxLayout, QMessageBox
|
|
|
|
from game import Game
|
|
from qt_ui.widgets.QBudgetBox import QBudgetBox
|
|
from qt_ui.widgets.QTurnCounter import QTurnCounter
|
|
|
|
import qt_ui.uiconstants as CONST
|
|
from qt_ui.windows.GameUpdateSignal import GameUpdateSignal
|
|
|
|
|
|
class QTopPanel(QFrame):
|
|
|
|
def __init__(self, game: Game):
|
|
super(QTopPanel, self).__init__()
|
|
self.game = game
|
|
self.init_ui()
|
|
GameUpdateSignal.get_instance().gameupdated.connect(self.setGame)
|
|
|
|
def init_ui(self):
|
|
|
|
self.turnCounter = QTurnCounter()
|
|
self.budgetBox = QBudgetBox()
|
|
|
|
self.passTurnButton = QPushButton("Pass Turn")
|
|
self.passTurnButton.setIcon(CONST.ICONS["PassTurn"])
|
|
self.passTurnButton.setProperty("style", "btn-primary")
|
|
self.passTurnButton.clicked.connect(self.passTurn)
|
|
|
|
self.submenus = QVBoxLayout()
|
|
self.settings = QPushButton("Settings")
|
|
self.settings.setIcon(CONST.ICONS["Settings"])
|
|
self.settings.setProperty("style", "btn-primary")
|
|
self.settings.clicked.connect(self.openSettings)
|
|
|
|
self.statistics = QPushButton("Statistics")
|
|
self.statistics.setIcon(CONST.ICONS["Statistics"])
|
|
self.statistics.setProperty("style", "btn-primary")
|
|
self.statistics.clicked.connect(self.openStatisticsWindow)
|
|
|
|
self.submenus.addWidget(self.settings)
|
|
self.submenus.addWidget(self.statistics)
|
|
|
|
self.layout = QHBoxLayout()
|
|
self.layout.addStretch(1)
|
|
self.layout.addLayout(self.submenus)
|
|
self.layout.addWidget(self.turnCounter)
|
|
self.layout.addWidget(self.budgetBox)
|
|
self.layout.addWidget(self.passTurnButton)
|
|
self.setLayout(self.layout)
|
|
|
|
def setGame(self, game:Game):
|
|
self.game = game
|
|
if game is not None:
|
|
self.turnCounter.setCurrentTurn(self.game.turn, self.game.current_day)
|
|
self.budgetBox.setBudget(self.game.budget, self.game.budget_reward_amount)
|
|
|
|
def openSettings(self):
|
|
QMessageBox.information(self, "Settings", "Todo open game settings")
|
|
|
|
def openStatisticsWindow(self):
|
|
QMessageBox.information(self, "Stats", "Todo open stats window")
|
|
|
|
def passTurn(self):
|
|
self.game.pass_turn()
|
|
GameUpdateSignal.get_instance().updateGame(self.game) |