summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoremkael <emkael@tlen.pl>2019-06-27 20:56:44 +0200
committeremkael <emkael@tlen.pl>2019-06-27 20:56:44 +0200
commitc94f6df04d575b05e05cf3e8d385f345dce09cc4 (patch)
tree8ea8aab74a3dd334b47739a21086589871927ed5
parent210dd60556319759ef8bf94bc0ecbd92df796ed0 (diff)
Winner/loser config for matches
-rw-r--r--jfr_playoff/gui/frames/match.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/jfr_playoff/gui/frames/match.py b/jfr_playoff/gui/frames/match.py
index 45f0a2d..1f7e545 100644
--- a/jfr_playoff/gui/frames/match.py
+++ b/jfr_playoff/gui/frames/match.py
@@ -302,6 +302,12 @@ class MatchSettingsFrame(RepeatableFrame):
def _updateName(self, *args):
self.nameLabel.configure(text=self.label)
+ def _setWinnerPositions(self, values):
+ self.winnerPositions = values
+
+ def _setLoserPositions(self, values):
+ self.loserPositions = values
+
def renderContent(self):
self.nameLabel = ttk.Label(self)
self.matchID = tk.IntVar()
@@ -320,6 +326,9 @@ class MatchSettingsFrame(RepeatableFrame):
self.scoreNotFinished.trace('w', self._enablePanels)
self.scoreBoards = tk.IntVar()
+ self.winnerPositions = []
+ self.loserPositions = []
+
self.nameLabel.grid(row=0, column=0, sticky=tk.W)
(ttk.Label(self, text='Link:')).grid(row=0, column=1, sticky=tk.E)
(ttk.Entry(self, textvariable=self.link)).grid(
@@ -415,6 +424,21 @@ class MatchSettingsFrame(RepeatableFrame):
self.scoreWidgets[self.SCORE_SOURCE_CUSTOM][idx].grid(
row=2, column=idx+5)
+ (ttk.Label(bracketGroup, text='Zwycięzca zajmie miejsca:')).grid(
+ row=1, column=0, sticky=tk.E)
+ self.winnerPositionsBtn = TeamSelectionButton(
+ bracketGroup, prompt='Wybierz pozycje końcowe:',
+ dialogclass=PositionsSelectionFrame,
+ callback=self._setWinnerPositions)
+ self.winnerPositionsBtn.grid(row=1, column=1, sticky=tk.W)
+ (ttk.Label(bracketGroup, text='Przegrany zajmie miejsca:')).grid(
+ row=2, column=0, sticky=tk.E)
+ self.loserPositionsBtn = TeamSelectionButton(
+ bracketGroup, prompt='Wybierz pozycje końcowe:',
+ dialogclass=PositionsSelectionFrame,
+ callback=self._setLoserPositions)
+ self.loserPositionsBtn.grid(row=2, column=1, sticky=tk.W)
+
self.winfo_toplevel().event_generate(
'<<MatchListChanged>>', when='tail')
@@ -467,6 +491,16 @@ class MatchSettingsFrame(RepeatableFrame):
for idx in range(0, 2):
self.bracketSettings[idx].setValue({})
+ self.winnerPositionsBtn.setPositions(
+ value['winner']
+ if 'winner' in value and isinstance(value['winner'], list)
+ else [])
+ self.loserPositionsBtn.setPositions(
+ value['loser']
+ if 'loser' in value and isinstance(value['loser'], list)
+ else [])
+
+
class MatchSeparator(RepeatableFrame):
def renderContent(self):
(ttk.Separator(self, orient=tk.HORIZONTAL)).pack(