diff --git a/src/warchron/constants.py b/src/warchron/constants.py
new file mode 100644
index 0000000..f0a759f
--- /dev/null
+++ b/src/warchron/constants.py
@@ -0,0 +1,14 @@
+from enum import StrEnum
+
+from PyQt6.QtCore import Qt
+
+# --- Tree / Table roles ---
+ROLE_TYPE = Qt.ItemDataRole.UserRole
+ROLE_ID = Qt.ItemDataRole.UserRole + 1
+
+# --- Domain object types ---
+class ItemType(StrEnum):
+ PLAYER = "player"
+ WAR = "war"
+ CAMPAIGN = "campaign"
+ ROUND = "round"
diff --git a/src/warchron/controller/controller.py b/src/warchron/controller/controller.py
index 62c1397..6143a11 100644
--- a/src/warchron/controller/controller.py
+++ b/src/warchron/controller/controller.py
@@ -5,6 +5,7 @@ from PyQt6.QtWidgets import QMessageBox, QDialog
from warchron.model.model import Model
from warchron.view.view import View
+from warchron.constants import ItemType
from warchron.view.view import PlayerDialog, WarDialog, CampaignDialog
class Controller:
@@ -121,7 +122,7 @@ class Controller:
def refresh_wars_view(self):
wars = self.model.get_all_wars()
- self.view.display_wars(wars)
+ self.view.display_wars_tree(wars)
def refresh_views(self):
current = self.view.get_current_tab()
@@ -130,17 +131,42 @@ class Controller:
elif current == "wars":
self.refresh_wars_view()
+ def _fill_war_details(self, war_id: str):
+ war = self.model.get_war(war_id)
+ self.view.warName.setText(war.name)
+ self.view.warYear.setText(str(war.year))
+
+ def _fill_campaign_details(self, campaign_id: str):
+ camp = self.model.get_campaign(campaign_id)
+ self.view.show_campaign_details(name=camp.name, month=camp.month)
+
+ def _fill_round_details(self, round_id: str):
+ index = self.model.get_round_index(round_id)
+ self.view.show_round_details(index=index)
+
def on_tree_selection_changed(self, selection):
self.selected_war_id = None
self.selected_campaign_id = None
self.selected_round_id = None
if selection:
- if selection["type"] == "war":
- self.selected_war_id = selection["id"]
- elif selection["type"] == "campaign":
- self.selected_campaign_id = selection["id"]
- elif selection["type"] == "round":
- self.selected_round_id = selection["id"]
+ item_type = selection["type"]
+ item_id = selection["id"]
+ if item_type == ItemType.WAR:
+ self.selected_war_id = item_id
+ self.view.show_details(ItemType.WAR)
+ self._fill_war_details(item_id)
+ elif item_type == ItemType.CAMPAIGN:
+ self.selected_campaign_id = item_id
+ self.view.show_details(ItemType.CAMPAIGN)
+ self._fill_campaign_details(item_id)
+ elif item_type == ItemType.ROUND:
+ self.selected_round_id = item_id
+ self.view.show_details(ItemType.ROUND)
+ self._fill_round_details(item_id)
+ else:
+ self.view.show_details(None)
+ self.update_actions_state()
+ return
self.update_actions_state()
def update_actions_state(self):
diff --git a/src/warchron/model/campaign.py b/src/warchron/model/campaign.py
index 66dd16d..c0b2810 100644
--- a/src/warchron/model/campaign.py
+++ b/src/warchron/model/campaign.py
@@ -59,3 +59,9 @@ class Campaign:
rnd = next((r for r in self.rounds if r.id == round_id), None)
if rnd:
self.rounds.remove(rnd)
+
+ def get_round_index(self, round_id: str) -> int:
+ for index, rnd in enumerate(self.rounds, start=1):
+ if rnd.id == round_id:
+ return index
+ raise KeyError("Round not found in campaign")
diff --git a/src/warchron/model/model.py b/src/warchron/model/model.py
index f488eed..6f70d2d 100644
--- a/src/warchron/model/model.py
+++ b/src/warchron/model/model.py
@@ -136,7 +136,11 @@ class Model:
if rnd.id == round_id:
return rnd
raise KeyError("Round not found")
-
+
+ def get_round_index(self, round_id: str) -> int:
+ camp = self.get_campaign_by_round(round_id)
+ return camp.get_round_index(round_id)
+
def remove_player(self, player_id: str):
del self.players[player_id]
diff --git a/src/warchron/view/ui/ui_main_window.py b/src/warchron/view/ui/ui_main_window.py
index f9839e1..7e4829e 100644
--- a/src/warchron/view/ui/ui_main_window.py
+++ b/src/warchron/view/ui/ui_main_window.py
@@ -26,7 +26,7 @@ class Ui_MainWindow(object):
self.playersTable = QtWidgets.QTableWidget(parent=self.playersTab)
self.playersTable.setGeometry(QtCore.QRect(10, 60, 741, 431))
self.playersTable.setObjectName("playersTable")
- self.playersTable.setColumnCount(3)
+ self.playersTable.setColumnCount(4)
self.playersTable.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.playersTable.setHorizontalHeaderItem(0, item)
@@ -34,6 +34,8 @@ class Ui_MainWindow(object):
self.playersTable.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
self.playersTable.setHorizontalHeaderItem(2, item)
+ item = QtWidgets.QTableWidgetItem()
+ self.playersTable.setHorizontalHeaderItem(3, item)
self.addPlayerBtn = QtWidgets.QPushButton(parent=self.playersTab)
self.addPlayerBtn.setGeometry(QtCore.QRect(20, 20, 75, 23))
self.addPlayerBtn.setObjectName("addPlayerBtn")
@@ -45,9 +47,6 @@ class Ui_MainWindow(object):
self.warsTree = QtWidgets.QTreeWidget(parent=self.warsTab)
self.warsTree.setGeometry(QtCore.QRect(10, 60, 211, 431))
self.warsTree.setObjectName("warsTree")
- item_0 = QtWidgets.QTreeWidgetItem(self.warsTree)
- item_1 = QtWidgets.QTreeWidgetItem(item_0)
- item_2 = QtWidgets.QTreeWidgetItem(item_1)
self.addWarBtn = QtWidgets.QPushButton(parent=self.warsTab)
self.addWarBtn.setGeometry(QtCore.QRect(20, 20, 75, 23))
self.addWarBtn.setObjectName("addWarBtn")
@@ -83,28 +82,16 @@ class Ui_MainWindow(object):
self.warYear.setFont(font)
self.warYear.setObjectName("warYear")
self.labelEntrants = QtWidgets.QLabel(parent=self.pageWar)
- self.labelEntrants.setGeometry(QtCore.QRect(10, 200, 47, 13))
+ self.labelEntrants.setGeometry(QtCore.QRect(10, 150, 111, 16))
self.labelEntrants.setObjectName("labelEntrants")
self.addEntrantBtn = QtWidgets.QPushButton(parent=self.pageWar)
- self.addEntrantBtn.setGeometry(QtCore.QRect(430, 310, 75, 23))
+ self.addEntrantBtn.setGeometry(QtCore.QRect(420, 270, 81, 23))
self.addEntrantBtn.setObjectName("addEntrantBtn")
self.playersTable_2 = QtWidgets.QTableWidget(parent=self.pageWar)
- self.playersTable_2.setGeometry(QtCore.QRect(10, 220, 401, 201))
+ self.playersTable_2.setGeometry(QtCore.QRect(10, 170, 401, 211))
self.playersTable_2.setObjectName("playersTable_2")
- self.playersTable_2.setColumnCount(4)
- self.playersTable_2.setRowCount(6)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setVerticalHeaderItem(0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setVerticalHeaderItem(1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setVerticalHeaderItem(2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setVerticalHeaderItem(3, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setVerticalHeaderItem(4, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setVerticalHeaderItem(5, item)
+ self.playersTable_2.setColumnCount(5)
+ self.playersTable_2.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.playersTable_2.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
@@ -114,72 +101,24 @@ class Ui_MainWindow(object):
item = QtWidgets.QTableWidgetItem()
self.playersTable_2.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(0, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(0, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(0, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(0, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(1, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(1, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(1, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(1, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(2, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(2, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(2, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(2, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(3, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(3, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(3, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(3, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(4, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(4, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(4, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(4, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(5, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(5, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(5, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_2.setItem(5, 3, item)
- self.addCampaignBtn_2 = QtWidgets.QPushButton(parent=self.pageWar)
- self.addCampaignBtn_2.setEnabled(True)
- self.addCampaignBtn_2.setGeometry(QtCore.QRect(230, 120, 91, 23))
- font = QtGui.QFont()
- font.setPointSize(10)
- self.addCampaignBtn_2.setFont(font)
- self.addCampaignBtn_2.setObjectName("addCampaignBtn_2")
- self.listWidget = QtWidgets.QListWidget(parent=self.pageWar)
- self.listWidget.setGeometry(QtCore.QRect(10, 80, 211, 91))
- self.listWidget.setObjectName("listWidget")
- item = QtWidgets.QListWidgetItem()
- self.listWidget.addItem(item)
- self.labelCampaigns = QtWidgets.QLabel(parent=self.pageWar)
- self.labelCampaigns.setGeometry(QtCore.QRect(10, 60, 61, 16))
- self.labelCampaigns.setObjectName("labelCampaigns")
+ self.playersTable_2.setHorizontalHeaderItem(4, item)
self.addRoundBtn_8 = QtWidgets.QPushButton(parent=self.pageWar)
self.addRoundBtn_8.setEnabled(True)
- self.addRoundBtn_8.setGeometry(QtCore.QRect(410, 400, 91, 23))
+ self.addRoundBtn_8.setGeometry(QtCore.QRect(230, 400, 61, 23))
self.addRoundBtn_8.setObjectName("addRoundBtn_8")
+ self.listObjectives = QtWidgets.QListWidget(parent=self.pageWar)
+ self.listObjectives.setGeometry(QtCore.QRect(10, 60, 161, 71))
+ self.listObjectives.setObjectName("listObjectives")
+ self.labelObjectives = QtWidgets.QLabel(parent=self.pageWar)
+ self.labelObjectives.setGeometry(QtCore.QRect(10, 40, 111, 20))
+ self.labelObjectives.setObjectName("labelObjectives")
+ self.addCampaignBtn_3 = QtWidgets.QPushButton(parent=self.pageWar)
+ self.addCampaignBtn_3.setEnabled(True)
+ self.addCampaignBtn_3.setGeometry(QtCore.QRect(180, 80, 91, 23))
+ font = QtGui.QFont()
+ font.setPointSize(10)
+ self.addCampaignBtn_3.setFont(font)
+ self.addCampaignBtn_3.setObjectName("addCampaignBtn_3")
self.selectedDetailsStack.addWidget(self.pageWar)
self.pageCampaign = QtWidgets.QWidget()
self.pageCampaign.setObjectName("pageCampaign")
@@ -190,10 +129,10 @@ class Ui_MainWindow(object):
self.campaignName.setFont(font)
self.campaignName.setObjectName("campaignName")
self.labelRound = QtWidgets.QLabel(parent=self.pageCampaign)
- self.labelRound.setGeometry(QtCore.QRect(10, 50, 91, 16))
+ self.labelRound.setGeometry(QtCore.QRect(10, 40, 91, 16))
self.labelRound.setObjectName("labelRound")
self.addEntrantBtn_2 = QtWidgets.QPushButton(parent=self.pageCampaign)
- self.addEntrantBtn_2.setGeometry(QtCore.QRect(420, 310, 75, 23))
+ self.addEntrantBtn_2.setGeometry(QtCore.QRect(420, 270, 75, 23))
self.addEntrantBtn_2.setObjectName("addEntrantBtn_2")
self.campaignMonth = QtWidgets.QLabel(parent=self.pageCampaign)
self.campaignMonth.setGeometry(QtCore.QRect(280, 10, 121, 16))
@@ -202,25 +141,13 @@ class Ui_MainWindow(object):
self.campaignMonth.setFont(font)
self.campaignMonth.setObjectName("campaignMonth")
self.labelEntrants_2 = QtWidgets.QLabel(parent=self.pageCampaign)
- self.labelEntrants_2.setGeometry(QtCore.QRect(10, 200, 47, 13))
+ self.labelEntrants_2.setGeometry(QtCore.QRect(10, 180, 47, 13))
self.labelEntrants_2.setObjectName("labelEntrants_2")
self.playersTable_3 = QtWidgets.QTableWidget(parent=self.pageCampaign)
- self.playersTable_3.setGeometry(QtCore.QRect(10, 220, 401, 201))
+ self.playersTable_3.setGeometry(QtCore.QRect(10, 200, 401, 181))
self.playersTable_3.setObjectName("playersTable_3")
self.playersTable_3.setColumnCount(4)
- self.playersTable_3.setRowCount(6)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setVerticalHeaderItem(0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setVerticalHeaderItem(1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setVerticalHeaderItem(2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setVerticalHeaderItem(3, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setVerticalHeaderItem(4, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setVerticalHeaderItem(5, item)
+ self.playersTable_3.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.playersTable_3.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
@@ -229,69 +156,11 @@ class Ui_MainWindow(object):
self.playersTable_3.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
self.playersTable_3.setHorizontalHeaderItem(3, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(0, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(0, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(0, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(0, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(1, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(1, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(1, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(1, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(2, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(2, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(2, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(2, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(3, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(3, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(3, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(3, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(4, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(4, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(4, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(4, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(5, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(5, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(5, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_3.setItem(5, 3, item)
- self.addRoundBtn_2 = QtWidgets.QPushButton(parent=self.pageCampaign)
- self.addRoundBtn_2.setEnabled(True)
- self.addRoundBtn_2.setGeometry(QtCore.QRect(360, 90, 91, 23))
- self.addRoundBtn_2.setObjectName("addRoundBtn_2")
self.playersTable_4 = QtWidgets.QTableWidget(parent=self.pageCampaign)
- self.playersTable_4.setGeometry(QtCore.QRect(10, 80, 331, 91))
+ self.playersTable_4.setGeometry(QtCore.QRect(10, 60, 401, 101))
self.playersTable_4.setObjectName("playersTable_4")
- self.playersTable_4.setColumnCount(3)
- self.playersTable_4.setRowCount(3)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_4.setVerticalHeaderItem(0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_4.setVerticalHeaderItem(1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_4.setVerticalHeaderItem(2, item)
+ self.playersTable_4.setColumnCount(5)
+ self.playersTable_4.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.playersTable_4.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
@@ -299,82 +168,34 @@ class Ui_MainWindow(object):
item = QtWidgets.QTableWidgetItem()
self.playersTable_4.setHorizontalHeaderItem(2, item)
item = QtWidgets.QTableWidgetItem()
- self.playersTable_4.setItem(0, 0, item)
+ self.playersTable_4.setHorizontalHeaderItem(3, item)
item = QtWidgets.QTableWidgetItem()
- self.playersTable_4.setItem(0, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_4.setItem(0, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_4.setItem(1, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_4.setItem(1, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_4.setItem(1, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_4.setItem(2, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_4.setItem(2, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_4.setItem(2, 2, item)
+ self.playersTable_4.setHorizontalHeaderItem(4, item)
self.addSectorBtn = QtWidgets.QPushButton(parent=self.pageCampaign)
- self.addSectorBtn.setEnabled(False)
- self.addSectorBtn.setGeometry(QtCore.QRect(360, 130, 91, 23))
+ self.addSectorBtn.setEnabled(True)
+ self.addSectorBtn.setGeometry(QtCore.QRect(420, 110, 71, 23))
self.addSectorBtn.setObjectName("addSectorBtn")
self.endCampaignBtn = QtWidgets.QPushButton(parent=self.pageCampaign)
self.endCampaignBtn.setEnabled(True)
- self.endCampaignBtn.setGeometry(QtCore.QRect(410, 400, 91, 23))
+ self.endCampaignBtn.setGeometry(QtCore.QRect(210, 400, 91, 23))
self.endCampaignBtn.setObjectName("endCampaignBtn")
self.selectedDetailsStack.addWidget(self.pageCampaign)
self.pageRound = QtWidgets.QWidget()
self.pageRound.setObjectName("pageRound")
self.labelChoices = QtWidgets.QLabel(parent=self.pageRound)
- self.labelChoices.setGeometry(QtCore.QRect(10, 170, 91, 16))
+ self.labelChoices.setGeometry(QtCore.QRect(10, 40, 91, 16))
self.labelChoices.setObjectName("labelChoices")
self.choicesTable = QtWidgets.QTableWidget(parent=self.pageRound)
- self.choicesTable.setGeometry(QtCore.QRect(10, 190, 271, 91))
+ self.choicesTable.setGeometry(QtCore.QRect(10, 60, 301, 141))
self.choicesTable.setObjectName("choicesTable")
- self.choicesTable.setColumnCount(2)
- self.choicesTable.setRowCount(6)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setVerticalHeaderItem(0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setVerticalHeaderItem(1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setVerticalHeaderItem(2, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setVerticalHeaderItem(3, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setVerticalHeaderItem(4, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setVerticalHeaderItem(5, item)
+ self.choicesTable.setColumnCount(3)
+ self.choicesTable.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.choicesTable.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.choicesTable.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setItem(0, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setItem(0, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setItem(1, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setItem(1, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setItem(2, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setItem(2, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setItem(3, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setItem(3, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setItem(4, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setItem(4, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setItem(5, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable.setItem(5, 1, item)
+ self.choicesTable.setHorizontalHeaderItem(2, item)
self.roundNb = QtWidgets.QLabel(parent=self.pageRound)
self.roundNb.setGeometry(QtCore.QRect(10, 10, 241, 16))
font = QtGui.QFont()
@@ -383,156 +204,30 @@ class Ui_MainWindow(object):
self.roundNb.setObjectName("roundNb")
self.resolveBtn = QtWidgets.QPushButton(parent=self.pageRound)
self.resolveBtn.setEnabled(True)
- self.resolveBtn.setGeometry(QtCore.QRect(290, 220, 91, 23))
+ self.resolveBtn.setGeometry(QtCore.QRect(320, 110, 91, 23))
self.resolveBtn.setObjectName("resolveBtn")
self.playersTable_6 = QtWidgets.QTableWidget(parent=self.pageRound)
- self.playersTable_6.setGeometry(QtCore.QRect(10, 320, 271, 91))
+ self.playersTable_6.setGeometry(QtCore.QRect(10, 240, 301, 111))
self.playersTable_6.setObjectName("playersTable_6")
- self.playersTable_6.setColumnCount(2)
- self.playersTable_6.setRowCount(3)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_6.setVerticalHeaderItem(0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_6.setVerticalHeaderItem(1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_6.setVerticalHeaderItem(2, item)
+ self.playersTable_6.setColumnCount(3)
+ self.playersTable_6.setRowCount(0)
item = QtWidgets.QTableWidgetItem()
self.playersTable_6.setHorizontalHeaderItem(0, item)
item = QtWidgets.QTableWidgetItem()
self.playersTable_6.setHorizontalHeaderItem(1, item)
item = QtWidgets.QTableWidgetItem()
- self.playersTable_6.setItem(0, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_6.setItem(0, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_6.setItem(1, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_6.setItem(1, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_6.setItem(2, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.playersTable_6.setItem(2, 1, item)
+ self.playersTable_6.setHorizontalHeaderItem(2, item)
self.resultBtn = QtWidgets.QPushButton(parent=self.pageRound)
self.resultBtn.setEnabled(True)
- self.resultBtn.setGeometry(QtCore.QRect(290, 360, 91, 23))
+ self.resultBtn.setGeometry(QtCore.QRect(320, 290, 91, 23))
self.resultBtn.setObjectName("resultBtn")
self.endRoundBtn = QtWidgets.QPushButton(parent=self.pageRound)
self.endRoundBtn.setEnabled(True)
- self.endRoundBtn.setGeometry(QtCore.QRect(410, 400, 91, 23))
+ self.endRoundBtn.setGeometry(QtCore.QRect(220, 400, 71, 23))
self.endRoundBtn.setObjectName("endRoundBtn")
self.labelChoices_2 = QtWidgets.QLabel(parent=self.pageRound)
- self.labelChoices_2.setGeometry(QtCore.QRect(10, 300, 91, 16))
+ self.labelChoices_2.setGeometry(QtCore.QRect(10, 220, 91, 16))
self.labelChoices_2.setObjectName("labelChoices_2")
- self.choicesTable_2 = QtWidgets.QTableWidget(parent=self.pageRound)
- self.choicesTable_2.setGeometry(QtCore.QRect(10, 70, 421, 91))
- self.choicesTable_2.setObjectName("choicesTable_2")
- self.choicesTable_2.setColumnCount(4)
- self.choicesTable_2.setRowCount(9)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setVerticalHeaderItem(0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setVerticalHeaderItem(1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setVerticalHeaderItem(2, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setVerticalHeaderItem(3, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setVerticalHeaderItem(4, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setVerticalHeaderItem(5, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setVerticalHeaderItem(6, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setVerticalHeaderItem(7, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setVerticalHeaderItem(8, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setHorizontalHeaderItem(0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setHorizontalHeaderItem(1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setHorizontalHeaderItem(2, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setHorizontalHeaderItem(3, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(0, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(0, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(0, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(0, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(1, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(1, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(1, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(1, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(2, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(2, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(2, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(2, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(3, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(3, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(3, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(3, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(4, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(4, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(4, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(4, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(5, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(5, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(5, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(5, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(6, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(6, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(6, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(6, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(7, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(7, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(7, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(7, 3, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(8, 0, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(8, 1, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(8, 2, item)
- item = QtWidgets.QTableWidgetItem()
- self.choicesTable_2.setItem(8, 3, item)
- self.labelChoices_3 = QtWidgets.QLabel(parent=self.pageRound)
- self.labelChoices_3.setGeometry(QtCore.QRect(10, 40, 91, 16))
- self.labelChoices_3.setObjectName("labelChoices_3")
- self.addSectorBtn_2 = QtWidgets.QPushButton(parent=self.pageRound)
- self.addSectorBtn_2.setEnabled(True)
- self.addSectorBtn_2.setGeometry(QtCore.QRect(430, 100, 91, 23))
- self.addSectorBtn_2.setObjectName("addSectorBtn_2")
self.selectedDetailsStack.addWidget(self.pageRound)
icon2 = QtGui.QIcon()
icon2.addPixmap(QtGui.QPixmap(".\\src\\warchron\\view\\ui\\../resources/swords-small.png"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
@@ -626,14 +321,10 @@ class Ui_MainWindow(object):
item.setText(_translate("MainWindow", "Wars"))
item = self.playersTable.horizontalHeaderItem(2)
item.setText(_translate("MainWindow", "Wins"))
+ item = self.playersTable.horizontalHeaderItem(3)
+ item.setText(_translate("MainWindow", "Rewards"))
self.addPlayerBtn.setText(_translate("MainWindow", "Add player"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.playersTab), _translate("MainWindow", "Players"))
- __sortingEnabled = self.warsTree.isSortingEnabled()
- self.warsTree.setSortingEnabled(False)
- self.warsTree.topLevelItem(0).setText(0, _translate("MainWindow", "warItem"))
- self.warsTree.topLevelItem(0).child(0).setText(0, _translate("MainWindow", "campaignItem"))
- self.warsTree.topLevelItem(0).child(0).child(0).setText(0, _translate("MainWindow", "roundItem"))
- self.warsTree.setSortingEnabled(__sortingEnabled)
self.addWarBtn.setText(_translate("MainWindow", "Add war"))
self.addCampaignBtn.setText(_translate("MainWindow", "Add Campaign"))
self.addRoundBtn.setText(_translate("MainWindow", "Add Round"))
@@ -649,68 +340,14 @@ class Ui_MainWindow(object):
item = self.playersTable_2.horizontalHeaderItem(2)
item.setText(_translate("MainWindow", "Campaigns"))
item = self.playersTable_2.horizontalHeaderItem(3)
- item.setText(_translate("MainWindow", "Wins"))
- __sortingEnabled = self.playersTable_2.isSortingEnabled()
- self.playersTable_2.setSortingEnabled(False)
- item = self.playersTable_2.item(0, 0)
- item.setText(_translate("MainWindow", "Alice"))
- item = self.playersTable_2.item(0, 1)
- item.setText(_translate("MainWindow", "army A"))
- item = self.playersTable_2.item(0, 2)
- item.setText(_translate("MainWindow", "2"))
- item = self.playersTable_2.item(0, 3)
- item.setText(_translate("MainWindow", "1"))
- item = self.playersTable_2.item(1, 0)
- item.setText(_translate("MainWindow", "Bob"))
- item = self.playersTable_2.item(1, 1)
- item.setText(_translate("MainWindow", "army B"))
- item = self.playersTable_2.item(1, 2)
- item.setText(_translate("MainWindow", "2"))
- item = self.playersTable_2.item(1, 3)
- item.setText(_translate("MainWindow", "1"))
- item = self.playersTable_2.item(2, 0)
- item.setText(_translate("MainWindow", "Charlie"))
- item = self.playersTable_2.item(2, 1)
- item.setText(_translate("MainWindow", "army C"))
- item = self.playersTable_2.item(2, 2)
- item.setText(_translate("MainWindow", "2"))
- item = self.playersTable_2.item(2, 3)
- item.setText(_translate("MainWindow", "0"))
- item = self.playersTable_2.item(3, 0)
- item.setText(_translate("MainWindow", "Dave"))
- item = self.playersTable_2.item(3, 1)
- item.setText(_translate("MainWindow", "army D"))
- item = self.playersTable_2.item(3, 2)
- item.setText(_translate("MainWindow", "1"))
- item = self.playersTable_2.item(3, 3)
- item.setText(_translate("MainWindow", "0"))
- item = self.playersTable_2.item(4, 0)
- item.setText(_translate("MainWindow", "Eve"))
- item = self.playersTable_2.item(4, 1)
- item.setText(_translate("MainWindow", "army E"))
- item = self.playersTable_2.item(4, 2)
- item.setText(_translate("MainWindow", "1"))
- item = self.playersTable_2.item(4, 3)
- item.setText(_translate("MainWindow", "0"))
- item = self.playersTable_2.item(5, 0)
- item.setText(_translate("MainWindow", "Fred"))
- item = self.playersTable_2.item(5, 1)
- item.setText(_translate("MainWindow", "army F"))
- item = self.playersTable_2.item(5, 2)
- item.setText(_translate("MainWindow", "2"))
- item = self.playersTable_2.item(5, 3)
- item.setText(_translate("MainWindow", "0"))
- self.playersTable_2.setSortingEnabled(__sortingEnabled)
- self.addCampaignBtn_2.setText(_translate("MainWindow", "Add Campaign"))
- __sortingEnabled = self.listWidget.isSortingEnabled()
- self.listWidget.setSortingEnabled(False)
- item = self.listWidget.item(0)
- item.setText(_translate("MainWindow", "campaignName"))
- self.listWidget.setSortingEnabled(__sortingEnabled)
- self.labelCampaigns.setText(_translate("MainWindow", "Campaigns"))
+ item.setText(_translate("MainWindow", "Victory pts."))
+ item = self.playersTable_2.horizontalHeaderItem(4)
+ item.setText(_translate("MainWindow", "Theme pts"))
self.addRoundBtn_8.setText(_translate("MainWindow", "End war"))
+ self.labelObjectives.setText(_translate("MainWindow", "Objectives"))
+ self.addCampaignBtn_3.setText(_translate("MainWindow", "Add objective"))
self.campaignName.setText(_translate("MainWindow", "campaignName"))
- self.labelRound.setText(_translate("MainWindow", "Sectors by round"))
+ self.labelRound.setText(_translate("MainWindow", "Sectors"))
self.addEntrantBtn_2.setText(_translate("MainWindow", "Add entrant"))
self.campaignMonth.setText(_translate("MainWindow", "campaignMonth"))
self.labelEntrants_2.setText(_translate("MainWindow", "Entrants"))
@@ -719,249 +356,39 @@ class Ui_MainWindow(object):
item = self.playersTable_3.horizontalHeaderItem(1)
item.setText(_translate("MainWindow", "Leader"))
item = self.playersTable_3.horizontalHeaderItem(2)
- item.setText(_translate("MainWindow", "Battles"))
+ item.setText(_translate("MainWindow", "Victory pts."))
item = self.playersTable_3.horizontalHeaderItem(3)
- item.setText(_translate("MainWindow", "Wins"))
- __sortingEnabled = self.playersTable_3.isSortingEnabled()
- self.playersTable_3.setSortingEnabled(False)
- item = self.playersTable_3.item(0, 0)
- item.setText(_translate("MainWindow", "Alice"))
- item = self.playersTable_3.item(0, 1)
- item.setText(_translate("MainWindow", "boss A"))
- item = self.playersTable_3.item(0, 2)
- item.setText(_translate("MainWindow", "6"))
- item = self.playersTable_3.item(0, 3)
- item.setText(_translate("MainWindow", "5"))
- item = self.playersTable_3.item(1, 0)
- item.setText(_translate("MainWindow", "Bob"))
- item = self.playersTable_3.item(1, 1)
- item.setText(_translate("MainWindow", "boss B"))
- item = self.playersTable_3.item(1, 2)
- item.setText(_translate("MainWindow", "6"))
- item = self.playersTable_3.item(1, 3)
- item.setText(_translate("MainWindow", "5"))
- item = self.playersTable_3.item(2, 0)
- item.setText(_translate("MainWindow", "Charlie"))
- item = self.playersTable_3.item(2, 1)
- item.setText(_translate("MainWindow", "boss C"))
- item = self.playersTable_3.item(2, 2)
- item.setText(_translate("MainWindow", "6"))
- item = self.playersTable_3.item(2, 3)
- item.setText(_translate("MainWindow", "3"))
- item = self.playersTable_3.item(3, 0)
- item.setText(_translate("MainWindow", "Dave"))
- item = self.playersTable_3.item(3, 1)
- item.setText(_translate("MainWindow", "boss D"))
- item = self.playersTable_3.item(3, 2)
- item.setText(_translate("MainWindow", "3"))
- item = self.playersTable_3.item(3, 3)
- item.setText(_translate("MainWindow", "2"))
- item = self.playersTable_3.item(4, 0)
- item.setText(_translate("MainWindow", "Eve"))
- item = self.playersTable_3.item(4, 1)
- item.setText(_translate("MainWindow", "boss E"))
- item = self.playersTable_3.item(4, 2)
- item.setText(_translate("MainWindow", "3"))
- item = self.playersTable_3.item(4, 3)
- item.setText(_translate("MainWindow", "1"))
- item = self.playersTable_3.item(5, 0)
- item.setText(_translate("MainWindow", "Fred"))
- item = self.playersTable_3.item(5, 1)
- item.setText(_translate("MainWindow", "boss F"))
- item = self.playersTable_3.item(5, 2)
- item.setText(_translate("MainWindow", "6"))
- item = self.playersTable_3.item(5, 3)
- item.setText(_translate("MainWindow", "2"))
- self.playersTable_3.setSortingEnabled(__sortingEnabled)
- self.addRoundBtn_2.setText(_translate("MainWindow", "Add Round"))
+ item.setText(_translate("MainWindow", "Theme pts."))
item = self.playersTable_4.horizontalHeaderItem(0)
- item.setText(_translate("MainWindow", "Round 1"))
+ item.setText(_translate("MainWindow", "Name"))
item = self.playersTable_4.horizontalHeaderItem(1)
- item.setText(_translate("MainWindow", "Round 2"))
+ item.setText(_translate("MainWindow", "Round"))
item = self.playersTable_4.horizontalHeaderItem(2)
- item.setText(_translate("MainWindow", "Round 3"))
- __sortingEnabled = self.playersTable_4.isSortingEnabled()
- self.playersTable_4.setSortingEnabled(False)
- item = self.playersTable_4.item(0, 0)
- item.setText(_translate("MainWindow", "Zone A"))
- item = self.playersTable_4.item(0, 1)
- item.setText(_translate("MainWindow", "Zone D"))
- item = self.playersTable_4.item(0, 2)
- item.setText(_translate("MainWindow", "Zone G"))
- item = self.playersTable_4.item(1, 0)
- item.setText(_translate("MainWindow", "Zone B"))
- item = self.playersTable_4.item(1, 1)
- item.setText(_translate("MainWindow", "Zone E"))
- item = self.playersTable_4.item(1, 2)
- item.setText(_translate("MainWindow", "Zone H"))
- item = self.playersTable_4.item(2, 0)
- item.setText(_translate("MainWindow", "Zone C"))
- item = self.playersTable_4.item(2, 1)
- item.setText(_translate("MainWindow", "Zone F"))
- item = self.playersTable_4.item(2, 2)
- item.setText(_translate("MainWindow", "Zone I"))
- self.playersTable_4.setSortingEnabled(__sortingEnabled)
+ item.setText(_translate("MainWindow", "Major obj."))
+ item = self.playersTable_4.horizontalHeaderItem(3)
+ item.setText(_translate("MainWindow", "Minor opp."))
+ item = self.playersTable_4.horizontalHeaderItem(4)
+ item.setText(_translate("MainWindow", "Influence imp."))
self.addSectorBtn.setText(_translate("MainWindow", "Add Sector"))
self.endCampaignBtn.setText(_translate("MainWindow", "End campaign"))
self.labelChoices.setText(_translate("MainWindow", "Choices"))
- item = self.choicesTable.verticalHeaderItem(0)
- item.setText(_translate("MainWindow", "Alice"))
- item = self.choicesTable.verticalHeaderItem(1)
- item.setText(_translate("MainWindow", "Bob"))
- item = self.choicesTable.verticalHeaderItem(2)
- item.setText(_translate("MainWindow", "Charlie"))
- item = self.choicesTable.verticalHeaderItem(3)
- item.setText(_translate("MainWindow", "Dave"))
- item = self.choicesTable.verticalHeaderItem(4)
- item.setText(_translate("MainWindow", "Eve"))
- item = self.choicesTable.verticalHeaderItem(5)
- item.setText(_translate("MainWindow", "Fred"))
item = self.choicesTable.horizontalHeaderItem(0)
- item.setText(_translate("MainWindow", "Prioritary"))
+ item.setText(_translate("MainWindow", "Player"))
item = self.choicesTable.horizontalHeaderItem(1)
+ item.setText(_translate("MainWindow", "Prioritary"))
+ item = self.choicesTable.horizontalHeaderItem(2)
item.setText(_translate("MainWindow", "Secondary"))
- __sortingEnabled = self.choicesTable.isSortingEnabled()
- self.choicesTable.setSortingEnabled(False)
- item = self.choicesTable.item(0, 0)
- item.setText(_translate("MainWindow", "Zone A"))
- item = self.choicesTable.item(0, 1)
- item.setText(_translate("MainWindow", "Zone C"))
- item = self.choicesTable.item(1, 0)
- item.setText(_translate("MainWindow", "Zone B"))
- item = self.choicesTable.item(1, 1)
- item.setText(_translate("MainWindow", "Zone C"))
- item = self.choicesTable.item(2, 0)
- item.setText(_translate("MainWindow", "Zone A"))
- item = self.choicesTable.item(2, 1)
- item.setText(_translate("MainWindow", "Zone B"))
- item = self.choicesTable.item(3, 0)
- item.setText(_translate("MainWindow", "Zone C"))
- item = self.choicesTable.item(3, 1)
- item.setText(_translate("MainWindow", "Zone A"))
- item = self.choicesTable.item(4, 0)
- item.setText(_translate("MainWindow", "Zone C"))
- item = self.choicesTable.item(4, 1)
- item.setText(_translate("MainWindow", "Zone B"))
- item = self.choicesTable.item(5, 0)
- item.setText(_translate("MainWindow", "Zone B"))
- item = self.choicesTable.item(5, 1)
- item.setText(_translate("MainWindow", "Zone C"))
- self.choicesTable.setSortingEnabled(__sortingEnabled)
self.roundNb.setText(_translate("MainWindow", "Round Nb"))
self.resolveBtn.setText(_translate("MainWindow", "Resolve pairing"))
- item = self.playersTable_6.verticalHeaderItem(0)
- item.setText(_translate("MainWindow", "Zone A"))
- item = self.playersTable_6.verticalHeaderItem(1)
- item.setText(_translate("MainWindow", "Zone B"))
- item = self.playersTable_6.verticalHeaderItem(2)
- item.setText(_translate("MainWindow", "Zone C"))
item = self.playersTable_6.horizontalHeaderItem(0)
- item.setText(_translate("MainWindow", "Player 1"))
+ item.setText(_translate("MainWindow", "Sector"))
item = self.playersTable_6.horizontalHeaderItem(1)
+ item.setText(_translate("MainWindow", "Player 1"))
+ item = self.playersTable_6.horizontalHeaderItem(2)
item.setText(_translate("MainWindow", "Player 2"))
- __sortingEnabled = self.playersTable_6.isSortingEnabled()
- self.playersTable_6.setSortingEnabled(False)
- item = self.playersTable_6.item(0, 0)
- item.setText(_translate("MainWindow", "Alice"))
- item = self.playersTable_6.item(0, 1)
- item.setText(_translate("MainWindow", "Charlie"))
- item = self.playersTable_6.item(1, 0)
- item.setText(_translate("MainWindow", "Bob"))
- item = self.playersTable_6.item(1, 1)
- item.setText(_translate("MainWindow", "Fred"))
- item = self.playersTable_6.item(2, 0)
- item.setText(_translate("MainWindow", "Dave"))
- item = self.playersTable_6.item(2, 1)
- item.setText(_translate("MainWindow", "Eve"))
- self.playersTable_6.setSortingEnabled(__sortingEnabled)
self.resultBtn.setText(_translate("MainWindow", "Enter results"))
self.endRoundBtn.setText(_translate("MainWindow", "End round"))
self.labelChoices_2.setText(_translate("MainWindow", "Battles"))
- item = self.choicesTable_2.horizontalHeaderItem(0)
- item.setText(_translate("MainWindow", "Name"))
- item = self.choicesTable_2.horizontalHeaderItem(1)
- item.setText(_translate("MainWindow", "Major"))
- item = self.choicesTable_2.horizontalHeaderItem(2)
- item.setText(_translate("MainWindow", "Minor"))
- item = self.choicesTable_2.horizontalHeaderItem(3)
- item.setText(_translate("MainWindow", "Influence"))
- __sortingEnabled = self.choicesTable_2.isSortingEnabled()
- self.choicesTable_2.setSortingEnabled(False)
- item = self.choicesTable_2.item(0, 0)
- item.setText(_translate("MainWindow", "Zone A"))
- item = self.choicesTable_2.item(0, 1)
- item.setText(_translate("MainWindow", "type1"))
- item = self.choicesTable_2.item(0, 2)
- item.setText(_translate("MainWindow", "type3"))
- item = self.choicesTable_2.item(0, 3)
- item.setText(_translate("MainWindow", "False"))
- item = self.choicesTable_2.item(1, 0)
- item.setText(_translate("MainWindow", "Zone B"))
- item = self.choicesTable_2.item(1, 1)
- item.setText(_translate("MainWindow", "type2"))
- item = self.choicesTable_2.item(1, 2)
- item.setText(_translate("MainWindow", "type1"))
- item = self.choicesTable_2.item(1, 3)
- item.setText(_translate("MainWindow", "True"))
- item = self.choicesTable_2.item(2, 0)
- item.setText(_translate("MainWindow", "Zone C"))
- item = self.choicesTable_2.item(2, 1)
- item.setText(_translate("MainWindow", "type3"))
- item = self.choicesTable_2.item(2, 2)
- item.setText(_translate("MainWindow", "type2"))
- item = self.choicesTable_2.item(2, 3)
- item.setText(_translate("MainWindow", "False"))
- item = self.choicesTable_2.item(3, 0)
- item.setText(_translate("MainWindow", "Zone D"))
- item = self.choicesTable_2.item(3, 1)
- item.setText(_translate("MainWindow", "type1"))
- item = self.choicesTable_2.item(3, 2)
- item.setText(_translate("MainWindow", "type3"))
- item = self.choicesTable_2.item(3, 3)
- item.setText(_translate("MainWindow", "True"))
- item = self.choicesTable_2.item(4, 0)
- item.setText(_translate("MainWindow", "Zone E"))
- item = self.choicesTable_2.item(4, 1)
- item.setText(_translate("MainWindow", "type3"))
- item = self.choicesTable_2.item(4, 2)
- item.setText(_translate("MainWindow", "type2"))
- item = self.choicesTable_2.item(4, 3)
- item.setText(_translate("MainWindow", "False"))
- item = self.choicesTable_2.item(5, 0)
- item.setText(_translate("MainWindow", "Zone F"))
- item = self.choicesTable_2.item(5, 1)
- item.setText(_translate("MainWindow", "type2"))
- item = self.choicesTable_2.item(5, 2)
- item.setText(_translate("MainWindow", "type1"))
- item = self.choicesTable_2.item(5, 3)
- item.setText(_translate("MainWindow", "False"))
- item = self.choicesTable_2.item(6, 0)
- item.setText(_translate("MainWindow", "Zone G"))
- item = self.choicesTable_2.item(6, 1)
- item.setText(_translate("MainWindow", "type3"))
- item = self.choicesTable_2.item(6, 2)
- item.setText(_translate("MainWindow", "type1"))
- item = self.choicesTable_2.item(6, 3)
- item.setText(_translate("MainWindow", "True"))
- item = self.choicesTable_2.item(7, 0)
- item.setText(_translate("MainWindow", "Zone H"))
- item = self.choicesTable_2.item(7, 1)
- item.setText(_translate("MainWindow", "type2"))
- item = self.choicesTable_2.item(7, 2)
- item.setText(_translate("MainWindow", "type3"))
- item = self.choicesTable_2.item(7, 3)
- item.setText(_translate("MainWindow", "False"))
- item = self.choicesTable_2.item(8, 0)
- item.setText(_translate("MainWindow", "Zone I"))
- item = self.choicesTable_2.item(8, 1)
- item.setText(_translate("MainWindow", "type1"))
- item = self.choicesTable_2.item(8, 2)
- item.setText(_translate("MainWindow", "type2"))
- item = self.choicesTable_2.item(8, 3)
- item.setText(_translate("MainWindow", "False"))
- self.choicesTable_2.setSortingEnabled(__sortingEnabled)
- self.labelChoices_3.setText(_translate("MainWindow", "Choices"))
- self.addSectorBtn_2.setText(_translate("MainWindow", "Add sector"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.warsTab), _translate("MainWindow", "Wars"))
self.menuFile.setTitle(_translate("MainWindow", "File"))
self.menuEdit.setTitle(_translate("MainWindow", "Edit"))
diff --git a/src/warchron/view/ui/ui_main_window.ui b/src/warchron/view/ui/ui_main_window.ui
index 8a1bc4d..6949658 100644
--- a/src/warchron/view/ui/ui_main_window.ui
+++ b/src/warchron/view/ui/ui_main_window.ui
@@ -62,6 +62,11 @@
Wins
+
+
+ Rewards
+
+
@@ -99,21 +104,6 @@
- -
-
- warItem
-
-
-
-
- campaignItem
-
-
-
-
- roundItem
-
-
-
-
@@ -228,9 +218,9 @@
10
- 200
- 47
- 13
+ 150
+ 111
+ 16
@@ -240,9 +230,9 @@
- 430
- 310
- 75
+ 420
+ 270
+ 81
23
@@ -254,41 +244,11 @@
10
- 220
+ 170
401
- 201
+ 211
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Name
@@ -306,138 +266,62 @@
- Wins
+ Victory pts.
- -
+
- Alice
+ Theme pts
-
- -
-
- army A
-
-
- -
-
- 2
-
-
- -
-
- 1
-
-
- -
-
- Bob
-
-
- -
-
- army B
-
-
- -
-
- 2
-
-
- -
-
- 1
-
-
- -
-
- Charlie
-
-
- -
-
- army C
-
-
- -
-
- 2
-
-
- -
-
- 0
-
-
- -
-
- Dave
-
-
- -
-
- army D
-
-
- -
-
- 1
-
-
- -
-
- 0
-
-
- -
-
- Eve
-
-
- -
-
- army E
-
-
- -
-
- 1
-
-
- -
-
- 0
-
-
- -
-
- Fred
-
-
- -
-
- army F
-
-
- -
-
- 2
-
-
- -
-
- 0
-
-
+
-
+
true
230
- 120
+ 400
+ 61
+ 23
+
+
+
+ End war
+
+
+
+
+
+ 10
+ 60
+ 161
+ 71
+
+
+
+
+
+
+ 10
+ 40
+ 111
+ 20
+
+
+
+ Objectives
+
+
+
+
+ true
+
+
+
+ 180
+ 80
91
23
@@ -448,51 +332,7 @@
- Add Campaign
-
-
-
-
-
- 10
- 80
- 211
- 91
-
-
- -
-
- campaignName
-
-
-
-
-
-
- 10
- 60
- 61
- 16
-
-
-
- Campaigns
-
-
-
-
- true
-
-
-
- 410
- 400
- 91
- 23
-
-
-
- End war
+ Add objective
@@ -519,20 +359,20 @@
10
- 50
+ 40
91
16
- Sectors by round
+ Sectors
420
- 310
+ 270
75
23
@@ -563,7 +403,7 @@
10
- 200
+ 180
47
13
@@ -576,41 +416,11 @@
10
- 220
+ 200
401
- 201
+ 181
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Name
@@ -623,245 +433,59 @@
- Battles
+ Victory pts.
- Wins
+ Theme pts.
- -
-
- Alice
-
-
- -
-
- boss A
-
-
- -
-
- 6
-
-
- -
-
- 5
-
-
- -
-
- Bob
-
-
- -
-
- boss B
-
-
- -
-
- 6
-
-
- -
-
- 5
-
-
- -
-
- Charlie
-
-
- -
-
- boss C
-
-
- -
-
- 6
-
-
- -
-
- 3
-
-
- -
-
- Dave
-
-
- -
-
- boss D
-
-
- -
-
- 3
-
-
- -
-
- 2
-
-
- -
-
- Eve
-
-
- -
-
- boss E
-
-
- -
-
- 3
-
-
- -
-
- 1
-
-
- -
-
- Fred
-
-
- -
-
- boss F
-
-
- -
-
- 6
-
-
- -
-
- 2
-
-
-
-
-
- true
-
-
-
- 360
- 90
- 91
- 23
-
-
-
- Add Round
-
10
- 80
- 331
- 91
+ 60
+ 401
+ 101
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Round 1
+ Name
- Round 2
+ Round
- Round 3
+ Major obj.
- -
+
- Zone A
+ Minor opp.
-
- -
+
+
- Zone D
+ Influence imp.
-
- -
-
- Zone G
-
-
- -
-
- Zone B
-
-
- -
-
- Zone E
-
-
- -
-
- Zone H
-
-
- -
-
- Zone C
-
-
- -
-
- Zone F
-
-
- -
-
- Zone I
-
-
+
- false
+ true
- 360
- 130
- 91
+ 420
+ 110
+ 71
23
@@ -875,7 +499,7 @@
- 410
+ 210
400
91
23
@@ -891,7 +515,7 @@
10
- 170
+ 40
91
16
@@ -904,41 +528,16 @@
10
- 190
- 271
- 91
+ 60
+ 301
+ 141
-
+
- Alice
+ Player
-
-
-
- Bob
-
-
-
-
- Charlie
-
-
-
-
- Dave
-
-
-
-
- Eve
-
-
-
-
- Fred
-
-
+
Prioritary
@@ -949,66 +548,6 @@
Secondary
- -
-
- Zone A
-
-
- -
-
- Zone C
-
-
- -
-
- Zone B
-
-
- -
-
- Zone C
-
-
- -
-
- Zone A
-
-
- -
-
- Zone B
-
-
- -
-
- Zone C
-
-
- -
-
- Zone A
-
-
- -
-
- Zone C
-
-
- -
-
- Zone B
-
-
- -
-
- Zone B
-
-
- -
-
- Zone C
-
-
@@ -1034,8 +573,8 @@
- 290
- 220
+ 320
+ 110
91
23
@@ -1048,26 +587,16 @@
10
- 320
- 271
- 91
+ 240
+ 301
+ 111
-
+
- Zone A
+ Sector
-
-
-
- Zone B
-
-
-
-
- Zone C
-
-
+
Player 1
@@ -1078,36 +607,6 @@
Player 2
- -
-
- Alice
-
-
- -
-
- Charlie
-
-
- -
-
- Bob
-
-
- -
-
- Fred
-
-
- -
-
- Dave
-
-
- -
-
- Eve
-
-
@@ -1115,8 +614,8 @@
- 290
- 360
+ 320
+ 290
91
23
@@ -1131,9 +630,9 @@
- 410
+ 220
400
- 91
+ 71
23
@@ -1145,7 +644,7 @@
10
- 300
+ 220
91
16
@@ -1154,290 +653,6 @@
Battles
-
-
-
- 10
- 70
- 421
- 91
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Name
-
-
-
-
- Major
-
-
-
-
- Minor
-
-
-
-
- Influence
-
-
- -
-
- Zone A
-
-
- -
-
- type1
-
-
- -
-
- type3
-
-
- -
-
- False
-
-
- -
-
- Zone B
-
-
- -
-
- type2
-
-
- -
-
- type1
-
-
- -
-
- True
-
-
- -
-
- Zone C
-
-
- -
-
- type3
-
-
- -
-
- type2
-
-
- -
-
- False
-
-
- -
-
- Zone D
-
-
- -
-
- type1
-
-
- -
-
- type3
-
-
- -
-
- True
-
-
- -
-
- Zone E
-
-
- -
-
- type3
-
-
- -
-
- type2
-
-
- -
-
- False
-
-
- -
-
- Zone F
-
-
- -
-
- type2
-
-
- -
-
- type1
-
-
- -
-
- False
-
-
- -
-
- Zone G
-
-
- -
-
- type3
-
-
- -
-
- type1
-
-
- -
-
- True
-
-
- -
-
- Zone H
-
-
- -
-
- type2
-
-
- -
-
- type3
-
-
- -
-
- False
-
-
- -
-
- Zone I
-
-
- -
-
- type1
-
-
- -
-
- type2
-
-
- -
-
- False
-
-
-
-
-
-
- 10
- 40
- 91
- 16
-
-
-
- Choices
-
-
-
-
- true
-
-
-
- 430
- 100
- 91
- 23
-
-
-
- Add sector
-
-
diff --git a/src/warchron/view/view.py b/src/warchron/view/view.py
index 3792855..a3bbd70 100644
--- a/src/warchron/view/view.py
+++ b/src/warchron/view/view.py
@@ -6,14 +6,12 @@ from PyQt6.QtCore import Qt
from PyQt6.QtWidgets import QDialog, QFileDialog, QTreeWidgetItem, QMenu
from PyQt6.QtGui import QCloseEvent
+from warchron.constants import ROLE_TYPE, ROLE_ID, ItemType
from warchron.view.ui.ui_main_window import Ui_MainWindow
from warchron.view.ui.ui_player_dialog import Ui_playerDialog
from warchron.view.ui.ui_war_dialog import Ui_warDialog
from warchron.view.ui.ui_campaign_dialog import Ui_campaignDialog
-ROLE_TYPE = Qt.ItemDataRole.UserRole
-ROLE_ID = Qt.ItemDataRole.UserRole + 1
-
class View(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self, parent=None):
super(View, self).__init__(parent)
@@ -24,9 +22,9 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
self.on_add_round = None
self.on_edit_item = None
self.on_delete_item = None
+ self.show_details(None)
self.playersTable.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
self.playersTable.customContextMenuRequested.connect(self._on_players_table_context_menu)
- self.warsTree.currentItemChanged.connect(self._emit_selection_changed)
self.warsTree.setContextMenuPolicy(Qt.ContextMenuPolicy.CustomContextMenu)
self.warsTree.customContextMenuRequested.connect(self._on_wars_tree_context_menu)
self.addCampaignBtn.clicked.connect(self._on_add_campaign_clicked)
@@ -53,9 +51,9 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
delete_action = menu.addAction("Delete")
action = menu.exec(self.playersTable.viewport().mapToGlobal(pos))
if action == edit_action and self.on_edit_item:
- self.on_edit_item("player", player_id)
+ self.on_edit_item(ItemType.PLAYER, player_id)
elif action == delete_action and self.on_delete_item:
- self.on_delete_item("player", player_id)
+ self.on_delete_item(ItemType.PLAYER, player_id)
def _on_wars_tree_context_menu(self, pos):
item = self.warsTree.itemAt(pos)
@@ -65,7 +63,7 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
item_id = item.data(0, ROLE_ID)
menu = QMenu(self)
edit_action = None
- if item_type != "round":
+ if item_type != ItemType.ROUND:
edit_action = menu.addAction("Edit")
delete_action = menu.addAction("Delete")
action = menu.exec(self.warsTree.viewport().mapToGlobal(pos))
@@ -119,28 +117,59 @@ class View(QtWidgets.QMainWindow, Ui_MainWindow):
table.setItem(row, 0, play_item)
table.resizeColumnsToContents()
- def display_wars(self, wars: list):
+ def _format_war_label(self, war) -> str:
+ return f"{war.name} ({war.name} ({war.year}))"
+
+ def _format_campaign_label(self, camp) -> str:
+ return f"{camp.name} ({calendar.month_name[camp.month]})"
+
+ def _format_round_label(self, round, index: int) -> str:
+ return f"Round {index}"
+
+ def display_wars_tree(self, wars: list):
tree = self.warsTree
tree.clear()
tree.setColumnCount(1)
tree.setHeaderLabels(["Wars"])
for war in wars:
- war_item = QTreeWidgetItem([f"{war.name} ({war.year})"])
- war_item.setData(0, ROLE_TYPE, "war")
+ war_item = QTreeWidgetItem([self._format_war_label(war)])
+ war_item.setData(0, ROLE_TYPE, ItemType.WAR)
war_item.setData(0, ROLE_ID, war.id)
tree.addTopLevelItem(war_item)
for camp in war.get_all_campaigns():
- camp_item = QTreeWidgetItem([f"{camp.name} ({calendar.month_name[camp.month]})"])
- camp_item.setData(0, ROLE_TYPE, "campaign")
+ camp_item = QTreeWidgetItem([self._format_campaign_label(camp)])
+ camp_item.setData(0, ROLE_TYPE, ItemType.CAMPAIGN)
camp_item.setData(0, ROLE_ID, camp.id)
war_item.addChild(camp_item)
for index, rnd in enumerate(camp.get_all_rounds(), start=1):
- rnd_item = QTreeWidgetItem([f"Round {index}"])
- rnd_item.setData(0, ROLE_TYPE, "round")
+ rnd_item = QTreeWidgetItem([self._format_round_label(rnd, index)])
+ rnd_item.setData(0, ROLE_TYPE, ItemType.ROUND)
rnd_item.setData(0, ROLE_ID, rnd.id)
camp_item.addChild(rnd_item)
+ tree.currentItemChanged.connect(self._emit_selection_changed)
tree.expandAll()
+ def show_details(self, item_type: str | None):
+ if item_type == ItemType.WAR:
+ self.selectedDetailsStack.setCurrentWidget(self.pageWar)
+ elif item_type == ItemType.CAMPAIGN:
+ self.selectedDetailsStack.setCurrentWidget(self.pageCampaign)
+ elif item_type == ItemType.ROUND:
+ self.selectedDetailsStack.setCurrentWidget(self.pageRound)
+ else:
+ self.selectedDetailsStack.setCurrentWidget(self.pageEmpty)
+
+ def show_war_details(self, *, name: str, year: int):
+ self.warName.setText(name)
+ self.warYear.setText(year)
+
+ def show_campaign_details(self, *, name: str, month: int):
+ self.campaignName.setText(name)
+ self.campaignMonth.setText(calendar.month_name[month])
+
+ def show_round_details(self, *, index: int):
+ self.roundNb.setText(f"Round {index}")
+
def get_selected_tree_item(self):
item = self.warsTree.currentItem()
if not item: