auto create & edit battles

This commit is contained in:
Maxime Réaux 2026-01-30 18:55:39 +01:00
parent 9f676f6b9d
commit 6bd3ee31dc
10 changed files with 442 additions and 55 deletions

View file

@ -13,15 +13,50 @@ class Ui_battleResultDialog(object):
def setupUi(self, battleResultDialog):
battleResultDialog.setObjectName("battleResultDialog")
battleResultDialog.setWindowModality(QtCore.Qt.WindowModality.ApplicationModal)
battleResultDialog.resize(561, 246)
battleResultDialog.resize(668, 317)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/warchron_logo.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
battleResultDialog.setWindowIcon(icon)
self.formLayout = QtWidgets.QFormLayout(battleResultDialog)
self.formLayout.setObjectName("formLayout")
self.gridLayout = QtWidgets.QGridLayout(battleResultDialog)
self.gridLayout.setObjectName("gridLayout")
self.label_7 = QtWidgets.QLabel(parent=battleResultDialog)
self.label_7.setObjectName("label_7")
self.gridLayout.addWidget(self.label_7, 0, 0, 1, 1)
self.sectorComboBox = QtWidgets.QComboBox(parent=battleResultDialog)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.sectorComboBox.sizePolicy().hasHeightForWidth())
self.sectorComboBox.setSizePolicy(sizePolicy)
self.sectorComboBox.setObjectName("sectorComboBox")
self.gridLayout.addWidget(self.sectorComboBox, 0, 1, 1, 1)
self.label_5 = QtWidgets.QLabel(parent=battleResultDialog)
self.label_5.setObjectName("label_5")
self.gridLayout.addWidget(self.label_5, 0, 2, 1, 1)
self.player1ComboBox = QtWidgets.QComboBox(parent=battleResultDialog)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.player1ComboBox.sizePolicy().hasHeightForWidth())
self.player1ComboBox.setSizePolicy(sizePolicy)
self.player1ComboBox.setObjectName("player1ComboBox")
self.gridLayout.addWidget(self.player1ComboBox, 0, 3, 1, 1)
self.label_6 = QtWidgets.QLabel(parent=battleResultDialog)
self.label_6.setObjectName("label_6")
self.gridLayout.addWidget(self.label_6, 0, 4, 1, 1)
self.player2ComboBox = QtWidgets.QComboBox(parent=battleResultDialog)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.player2ComboBox.sizePolicy().hasHeightForWidth())
self.player2ComboBox.setSizePolicy(sizePolicy)
self.player2ComboBox.setObjectName("player2ComboBox")
self.gridLayout.addWidget(self.player2ComboBox, 0, 5, 1, 1)
spacerItem = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
self.gridLayout.addItem(spacerItem, 1, 1, 1, 1)
self.label = QtWidgets.QLabel(parent=battleResultDialog)
self.label.setObjectName("label")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label)
self.gridLayout.addWidget(self.label, 2, 0, 1, 1)
self.winnerComboBox = QtWidgets.QComboBox(parent=battleResultDialog)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Fixed)
sizePolicy.setHorizontalStretch(0)
@ -29,30 +64,30 @@ class Ui_battleResultDialog(object):
sizePolicy.setHeightForWidth(self.winnerComboBox.sizePolicy().hasHeightForWidth())
self.winnerComboBox.setSizePolicy(sizePolicy)
self.winnerComboBox.setObjectName("winnerComboBox")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.ItemRole.FieldRole, self.winnerComboBox)
self.gridLayout.addWidget(self.winnerComboBox, 2, 1, 1, 1)
self.label_2 = QtWidgets.QLabel(parent=battleResultDialog)
self.label_2.setObjectName("label_2")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_2)
self.gridLayout.addWidget(self.label_2, 3, 0, 1, 1)
self.score = QtWidgets.QLineEdit(parent=battleResultDialog)
self.score.setObjectName("score")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.score)
self.gridLayout.addWidget(self.score, 3, 1, 1, 2)
self.label_3 = QtWidgets.QLabel(parent=battleResultDialog)
self.label_3.setObjectName("label_3")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_3)
self.gridLayout.addWidget(self.label_3, 3, 3, 1, 1)
self.victoryCondition = QtWidgets.QLineEdit(parent=battleResultDialog)
self.victoryCondition.setObjectName("victoryCondition")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.victoryCondition)
self.gridLayout.addWidget(self.victoryCondition, 3, 4, 1, 2)
self.label_4 = QtWidgets.QLabel(parent=battleResultDialog)
self.label_4.setObjectName("label_4")
self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.LabelRole, self.label_4)
self.gridLayout.addWidget(self.label_4, 4, 0, 1, 1)
self.battleComment = QtWidgets.QPlainTextEdit(parent=battleResultDialog)
self.battleComment.setObjectName("battleComment")
self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.battleComment)
self.gridLayout.addWidget(self.battleComment, 4, 1, 1, 5)
self.buttonBox = QtWidgets.QDialogButtonBox(parent=battleResultDialog)
self.buttonBox.setOrientation(QtCore.Qt.Orientation.Horizontal)
self.buttonBox.setStandardButtons(QtWidgets.QDialogButtonBox.StandardButton.Cancel|QtWidgets.QDialogButtonBox.StandardButton.Ok)
self.buttonBox.setObjectName("buttonBox")
self.formLayout.setWidget(4, QtWidgets.QFormLayout.ItemRole.SpanningRole, self.buttonBox)
self.gridLayout.addWidget(self.buttonBox, 5, 4, 1, 2)
self.retranslateUi(battleResultDialog)
self.buttonBox.accepted.connect(battleResultDialog.accept) # type: ignore
@ -62,6 +97,9 @@ class Ui_battleResultDialog(object):
def retranslateUi(self, battleResultDialog):
_translate = QtCore.QCoreApplication.translate
battleResultDialog.setWindowTitle(_translate("battleResultDialog", "Battle result"))
self.label_7.setText(_translate("battleResultDialog", "Sector"))
self.label_5.setText(_translate("battleResultDialog", "Player 1"))
self.label_6.setText(_translate("battleResultDialog", "Player 2"))
self.label.setText(_translate("battleResultDialog", "Winner"))
self.label_2.setText(_translate("battleResultDialog", "Score"))
self.label_3.setText(_translate("battleResultDialog", "Victory condition"))

View file

@ -9,8 +9,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>561</width>
<height>246</height>
<width>668</width>
<height>317</height>
</rect>
</property>
<property name="windowTitle">
@ -20,15 +20,79 @@
<iconset>
<normaloff>../resources/warchron_logo.png</normaloff>../resources/warchron_logo.png</iconset>
</property>
<layout class="QFormLayout" name="formLayout">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Sector</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="sectorComboBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Player 1</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QComboBox" name="player1ComboBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="0" column="4">
<widget class="QLabel" name="label_6">
<property name="text">
<string>Player 2</string>
</property>
</widget>
</item>
<item row="0" column="5">
<widget class="QComboBox" name="player2ComboBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
</widget>
</item>
<item row="1" column="1">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Winner</string>
</property>
</widget>
</item>
<item row="0" column="1">
<item row="2" column="1">
<widget class="QComboBox" name="winnerComboBox">
<property name="sizePolicy">
<sizepolicy hsizetype="Expanding" vsizetype="Fixed">
@ -38,37 +102,37 @@
</property>
</widget>
</item>
<item row="1" column="0">
<item row="3" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Score</string>
</property>
</widget>
</item>
<item row="1" column="1">
<item row="3" column="1" colspan="2">
<widget class="QLineEdit" name="score"/>
</item>
<item row="2" column="0">
<item row="3" column="3">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Victory condition</string>
</property>
</widget>
</item>
<item row="2" column="1">
<item row="3" column="4" colspan="2">
<widget class="QLineEdit" name="victoryCondition"/>
</item>
<item row="3" column="0">
<item row="4" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Comment</string>
</property>
</widget>
</item>
<item row="3" column="1">
<item row="4" column="1" colspan="5">
<widget class="QPlainTextEdit" name="battleComment"/>
</item>
<item row="4" column="0" colspan="2">
<item row="5" column="4" colspan="2">
<widget class="QDialogButtonBox" name="buttonBox">
<property name="orientation">
<enum>Qt::Horizontal</enum>

View file

@ -206,7 +206,7 @@ class Ui_MainWindow(object):
self.horizontalLayout_13.setObjectName("horizontalLayout_13")
self.sectorsTable = QtWidgets.QTableWidget(parent=self.pageCampaign)
self.sectorsTable.setObjectName("sectorsTable")
self.sectorsTable.setColumnCount(5)
self.sectorsTable.setColumnCount(6)
self.sectorsTable.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.sectorsTable.setHorizontalHeaderItem(0, item)
@ -218,6 +218,8 @@ class Ui_MainWindow(object):
self.sectorsTable.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
self.sectorsTable.setHorizontalHeaderItem(4, item)
item = QtWidgets.QTableWidgetItem()
self.sectorsTable.setHorizontalHeaderItem(5, item)
self.horizontalLayout_13.addWidget(self.sectorsTable)
self.addSectorBtn = QtWidgets.QPushButton(parent=self.pageCampaign)
self.addSectorBtn.setEnabled(True)
@ -269,10 +271,10 @@ class Ui_MainWindow(object):
item = QtWidgets.QTableWidgetItem()
self.battlesTable.setHorizontalHeaderItem(2, item)
self.horizontalLayout_15.addWidget(self.battlesTable)
self.enterResultBtn = QtWidgets.QPushButton(parent=self.pageRound)
self.enterResultBtn.setEnabled(True)
self.enterResultBtn.setObjectName("enterResultBtn")
self.horizontalLayout_15.addWidget(self.enterResultBtn)
self.countResultBtn = QtWidgets.QPushButton(parent=self.pageRound)
self.countResultBtn.setEnabled(False)
self.countResultBtn.setObjectName("countResultBtn")
self.horizontalLayout_15.addWidget(self.countResultBtn)
self.gridLayout_5.addLayout(self.horizontalLayout_15, 4, 0, 1, 3)
self.horizontalLayout_16 = QtWidgets.QHBoxLayout()
self.horizontalLayout_16.setObjectName("horizontalLayout_16")
@ -385,7 +387,7 @@ class Ui_MainWindow(object):
self.retranslateUi(MainWindow)
self.tabWidget.setCurrentIndex(1)
self.selectedDetailsStack.setCurrentIndex(2)
self.selectedDetailsStack.setCurrentIndex(3)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
@ -450,6 +452,8 @@ class Ui_MainWindow(object):
item.setText(_translate("MainWindow", "Minor opp."))
item = self.sectorsTable.horizontalHeaderItem(4)
item.setText(_translate("MainWindow", "Influence imp."))
item = self.sectorsTable.horizontalHeaderItem(5)
item.setText(_translate("MainWindow", "Description"))
self.addSectorBtn.setText(_translate("MainWindow", "Add Sector"))
self.campaignName.setText(_translate("MainWindow", "campaignName"))
self.campaignMonth.setText(_translate("MainWindow", "campaignMonth"))
@ -462,7 +466,7 @@ class Ui_MainWindow(object):
item.setText(_translate("MainWindow", "Player 1"))
item = self.battlesTable.horizontalHeaderItem(2)
item.setText(_translate("MainWindow", "Player 2"))
self.enterResultBtn.setText(_translate("MainWindow", "Enter results"))
self.countResultBtn.setText(_translate("MainWindow", "Count results"))
item = self.choicesTable.horizontalHeaderItem(0)
item.setText(_translate("MainWindow", "Player"))
item = self.choicesTable.horizontalHeaderItem(1)

View file

@ -150,7 +150,7 @@
<item>
<widget class="QStackedWidget" name="selectedDetailsStack">
<property name="currentIndex">
<number>2</number>
<number>3</number>
</property>
<widget class="QWidget" name="pageEmpty">
<layout class="QVBoxLayout" name="verticalLayout_4">
@ -446,6 +446,11 @@
<string>Influence imp.</string>
</property>
</column>
<column>
<property name="text">
<string>Description</string>
</property>
</column>
</widget>
</item>
<item>
@ -551,12 +556,12 @@
</widget>
</item>
<item>
<widget class="QPushButton" name="enterResultBtn">
<widget class="QPushButton" name="countResultBtn">
<property name="enabled">
<bool>true</bool>
<bool>false</bool>
</property>
<property name="text">
<string>Enter results</string>
<string>Count results</string>
</property>
</widget>
</item>