From c94f6df04d575b05e05cf3e8d385f345dce09cc4 Mon Sep 17 00:00:00 2001 From: emkael Date: Thu, 27 Jun 2019 20:56:44 +0200 Subject: Winner/loser config for matches --- jfr_playoff/gui/frames/match.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'jfr_playoff/gui') 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( '<>', 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( -- cgit v1.2.3