1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
#coding=utf-8
import os
import tkinter as tk
from tkinter import ttk
import tkFileDialog as tkfd
class PlayoffTab(ttk.Frame):
def __init__(self, master):
ttk.Frame.__init__(self, master)
self.frame = ttk.Frame(self)
self.frame.pack(fill=tk.BOTH, expand=True, padx=5, pady=5)
self.renderContent(self.frame)
@property
def title(self):
pass
def renderContent(self, container):
pass
class MainSettingsTab(PlayoffTab):
@property
def title(self):
return 'Główne ustawienia'
def _chooseOutputPath(self):
currentPath = self.outputPath.get()
filename = tkfd.asksaveasfilename(
initialdir=os.path.dirname(currentPath) if currentPath else '.',
title='Wybierz plik wyjściowy',
filetypes=(('HTML files', '*.html'),))
if filename:
if not filename.lower().endswith('.html'):
filename = filename + '.html'
self.outputPath.set(filename)
def _updateRefreshFields(self):
self.refreshInterval.configure(
state=tk.NORMAL if self.refresh.get() else tk.DISABLED)
def renderContent(self, container):
(ttk.Label(container, text='Plik wynikowy:')).grid(
row=0, column=0, sticky=tk.E, pady=2)
outputPath = tk.Frame(container)
outputPath.grid(row=0, column=1, sticky=tk.E+tk.W, pady=2)
self.outputPath = tk.StringVar()
(tk.Entry(outputPath, width=60, textvariable=self.outputPath)).grid(
row=0, column=0, sticky=tk.W+tk.E)
(tk.Button(
outputPath,
text='[]', command=self._chooseOutputPath)).grid(row=0, column=1)
outputPath.columnconfigure(0, weight=1)
(ttk.Separator(container, orient=tk.HORIZONTAL)).grid(
row=1, column=0, columnspan=2, sticky=tk.E+tk.W, pady=2)
(ttk.Label(container, text='Ustawienia strony')).grid(
row=2, column=0, columnspan=2, sticky=tk.W, pady=5)
(ttk.Label(container, text='Tytuł:')).grid(
row=3, column=0, sticky=tk.E, pady=2)
self.pageTitle = tk.StringVar()
(tk.Entry(container, textvariable=self.pageTitle)).grid(
row=3, column=1, sticky=tk.W+tk.E, pady=2)
(ttk.Label(container, text='Logoh:')).grid(
row=4, column=0, sticky=tk.E+tk.N, pady=2)
self.pageLogoh = tk.Text(container, width=45, height=10)
self.pageLogoh.grid(
row=4, column=1,
sticky=tk.W+tk.N+tk.E+tk.S, pady=2)
(ttk.Label(container, text='Odświeżaj:')).grid(
row=5, column=0, sticky=tk.E, pady=2)
refreshPanel = tk.Frame(container)
refreshPanel.grid(row=5, column=1, sticky=tk.W+tk.E, pady=2)
self.refresh = tk.IntVar()
(tk.Checkbutton(
refreshPanel,
command=self._updateRefreshFields, variable=self.refresh)).grid(
row=0, column=0)
(ttk.Label(refreshPanel, text='co:')).grid(row=0, column=1)
self.refreshInterval = tk.Spinbox(
refreshPanel, from_=30, to=3600, width=5)
self.refreshInterval.grid(row=0, column=2)
(ttk.Label(refreshPanel, text='sekund')).grid(row=0, column=3)
self._updateRefreshFields()
container.columnconfigure(1, weight=1)
container.rowconfigure(4, weight=1)
class TeamsTab(PlayoffTab):
@property
def title(self):
return 'Uczestnicy'
class MatchesTab(PlayoffTab):
@property
def title(self):
return 'Mecze'
class SwissesTab(PlayoffTab):
@property
def title(self):
return 'Swissy'
class NetworkTab(PlayoffTab):
@property
def title(self):
return 'Sieć'
class VisualTab(PlayoffTab):
@property
def title(self):
return 'Wygląd'
class StyleTab(PlayoffTab):
@property
def title(self):
return 'Style'
class TranslationsTab(PlayoffTab):
@property
def title(self):
return 'Tłumaczenia'
__all__ = ['MainSettingsTab', 'TeamsTab', 'MatchesTab', 'SwissesTab',
'NetworkTab', 'VisualTab', 'StyleTab', 'TranslationsTab']
|