4.0 Alpha (Build 19353)

This commit is contained in:
2020-08-06 18:25:27 +02:00
Unverified
parent 684ef6ae2a
commit e67eaac836
10 changed files with 377 additions and 127 deletions

4
.idea/workspace.xml generated
View File

@@ -82,6 +82,8 @@
<workItem from="1576407152914" duration="5325000" /> <workItem from="1576407152914" duration="5325000" />
<workItem from="1576412749235" duration="7110000" /> <workItem from="1576412749235" duration="7110000" />
<workItem from="1576512214017" duration="18989000" /> <workItem from="1576512214017" duration="18989000" />
<workItem from="1576602751700" duration="601000" />
<workItem from="1576774425640" duration="14534000" />
</task> </task>
<servers /> <servers />
</component> </component>
@@ -104,6 +106,6 @@
<component name="com.intellij.coverage.CoverageDataManagerImpl"> <component name="com.intellij.coverage.CoverageDataManagerImpl">
<SUITE FILE_PATH="coverage/GeneratorCSV_3_1$generator.coverage" NAME="generator Coverage Results" MODIFIED="1575142941417" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/GeneratorCSV_3_1$generator.coverage" NAME="generator Coverage Results" MODIFIED="1575142941417" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/Wersja_Under_Construction$generator.coverage" NAME="generator Coverage Results" MODIFIED="1575214162661" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/Wersja_Under_Construction$generator.coverage" NAME="generator Coverage Results" MODIFIED="1575214162661" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
<SUITE FILE_PATH="coverage/Generator_CSV$generator.coverage" NAME="generator Coverage Results" MODIFIED="1576536334314" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" /> <SUITE FILE_PATH="coverage/Generator_CSV$generator.coverage" NAME="generator Coverage Results" MODIFIED="1576792407842" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$" />
</component> </component>
</project> </project>

View File

@@ -37,3 +37,6 @@
- Modyfikacja interfejsu - Modyfikacja interfejsu
- Dodanie możliwości dołączenia plików csv do eksportowanych plików (tylko kontrolki) - Dodanie możliwości dołączenia plików csv do eksportowanych plików (tylko kontrolki)
- Usprawnienia kodu - Usprawnienia kodu
4.0 Alpha (Build 19353)
- Ukończenie ustawień

View File

@@ -26,18 +26,20 @@ E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wiersz
E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 2\nPrzywróć plik. (E01x0012)", True]) #3 E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 2\nPrzywróć plik. (E01x0012)", True]) #3
E.append(["Nie znaleziono pliku składowego (instruction.txt)\nPrzywróć plik. (E03x0010)", False]) #4 E.append(["Nie znaleziono pliku składowego (instruction.txt)\nPrzywróć plik. (E03x0010)", False]) #4
E.append(["Nie znaleziono pliku formatu (format.fmt).\nPrzywróć plik (E02x0000)", True]) #5 E.append(["Nie znaleziono pliku formatu (format.fmt).\nPrzywróć plik (E02x0000)", True]) #5
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników klasy w formacie uczniów nie jest równa 1 (E02x0002)", True]) #6 E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników klasy w formacie uczniów nie jest równa 1 (E02x0002)", False]) #6
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników oddziału w formacie uczniów nie jest równa 1 (E02x0003)", True]) #7 E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników oddziału w formacie uczniów nie jest równa 1 (E02x0003)", False]) #7
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników nazwiska w formacie uczniów nie jest równa 1 (E02x0004)", True]) #8 E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników nazwiska w formacie uczniów nie jest równa 1 (E02x0004)", False]) #8
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników imienia w formacie uczniów nie jest równa 1 (E02x0005)", True]) #9 E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników imienia w formacie uczniów nie jest równa 1 (E02x0005)", False]) #9
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników loginu w formacie uczniów nie jest równa 1 (E02x0006)", True]) #10 E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie uczniów.\nIlość znaczników loginu w formacie uczniów nie jest równa 1 (E02x0006)", False]) #10
E.append(["Błąd pliku formatu (format.fmt).\nPusty wiersz w formacie uczniów (E02x0001).", True]) #11 E.append(["Błąd pliku formatu (format.fmt).\nPusty wiersz w formacie uczniów (E02x0001).", False]) #11
E.append(["Błąd pliku formatu (format.fmt).\nPusty wiersz w formacie nauczycieli (E02x0011).", True]) #12 E.append(["Błąd pliku formatu (format.fmt).\nPusty wiersz w formacie nauczycieli (E02x0011).", False]) #12
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie nauczycieli.\nIlość znaczników nazwiska w formacie nauczycieli nie jest równa 1 (E02x0012)", True]) #13 E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie nauczycieli.\nIlość znaczników nazwiska w formacie nauczycieli nie jest równa 1 (E02x0012)", False]) #13
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie nauczycieli.\nIlość znaczników imienia w formacie nauczycieli nie jest równa 1 (E02x0013)", True]) #14 E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie nauczycieli.\nIlość znaczników imienia w formacie nauczycieli nie jest równa 1 (E02x0013)", False]) #14
E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie nauczycieli.\nIlość znaczników loginu w formacie nauczycieli nie jest równa 1 (E02x0014)", True]) #15 E.append(["Błąd pliku formatu (format.fmt).\nNie poprawne dane w formacie nauczycieli.\nIlość znaczników loginu w formacie nauczycieli nie jest równa 1 (E02x0014)", False]) #15
E.append(["Błąd pliku formatu (format.fmt).\nNiedozwolone znaki w formacie. (E02x0020).", True]) #16 E.append(["Błąd pliku formatu (format.fmt).\nNiedozwolone znaki w formacie. (E02x0020).", False]) #16
E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 4\nPrzywróć plik. (E01x0013)", True]) #17 E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 4\nPrzywróć plik. (E01x0013)", True]) #17
E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 6\nPrzywróć plik. (E01x0014)", True]) #18
E.append(["Bład pliku konfiguracyjnego (config.cfg).\nNiepoprawne dane w wierszu 7\nPrzywróć plik. (E01x0015)", True]) #19
I = [] # Informacje I = [] # Informacje
@@ -47,6 +49,7 @@ I.append(["Pomyślnie zapisano!\nDla niektórych zmian może być wymagane ponow
A = [] # Zapytania A = [] # Zapytania
A.append("Czy na pewno chcesz rozpocząć generowanie?") #0 (A0001) A.append("Czy na pewno chcesz rozpocząć generowanie?") #0 (A0001)
A.append("Czy chcesz zapisać ustawienia?") #1 (A0002)
@@ -91,7 +94,7 @@ def inf(InfoIndex):
# Okno dialogowe zapytania # Okno dialogowe zapytania
def Ask(AskIndex): def ask(AskIndex):
if TKmsb.askokcancel('Pytanie', A[AskIndex]): if TKmsb.askokcancel('Pytanie', A[AskIndex]):
return True return True
else: else:

View File

@@ -45,7 +45,7 @@ except ModuleNotFoundError:
def CheckConfig(settings): def CheckConfig(settings):
# Ilość wierszy # Ilość wierszy
try: try:
if len(settings) != 5: if len(settings) != 7:
error = int('x') error = int('x')
except ValueError: except ValueError:
MDdlg.err(1) MDdlg.err(1)
@@ -72,6 +72,17 @@ def CheckConfig(settings):
except ValueError: except ValueError:
MDdlg.err(17) MDdlg.err(17)
# Linia 6 (int)
try:
x = int(settings[5])
except ValueError:
MDdlg.err(18)
# Linia 7 (int)
try:
x = int(settings[6])
except ValueError:
MDdlg.err(19)
# Odczytywanie ustawień z pliku konfiguracyjnego # Odczytywanie ustawień z pliku konfiguracyjnego
@@ -104,8 +115,9 @@ def edit(settings):
SettingsToSave.append('Kodowanie wyjsciowe: ' + str(settings[1]) + '\n') SettingsToSave.append('Kodowanie wyjsciowe: ' + str(settings[1]) + '\n')
SettingsToSave.append('Domena: ' + str(settings[2]) + '\n') SettingsToSave.append('Domena: ' + str(settings[2]) + '\n')
SettingsToSave.append('Quota: ' + str(settings[3]) + '\n') SettingsToSave.append('Quota: ' + str(settings[3]) + '\n')
SettingsToSave.append('Kraj: ' + str(settings[4])) SettingsToSave.append('Kraj: ' + str(settings[4]) + '\n')
SettingsToSave.append('Dlugosc liceum: ' + str(settings[5]) + '\n')
SettingsToSave.append('Dlugosc branzowej: ' + str(settings[6]))
with open('.\config.cfg', 'w') as cfg: with open('.\config.cfg', 'w') as cfg:
for x in SettingsToSave: for x in SettingsToSave:
cfg.write(x) cfg.write(x)
MDdlg.inf(0)

View File

@@ -40,82 +40,142 @@ except ModuleNotFoundError:
# --------------------------------------------------- # Funkcje # ---------------------------------------------------- # # --------------------------------------------------- # Funkcje # ---------------------------------------------------- #
# Wewnętrzna funkcja sprawdzająca błędy pliku formatu # Wewnętrzna funkcja sprawdzająca błędy pliku formatu
def CheckFormat(format): def CheckFormat(Read, format):
uczniowiefmt = '' poprawne = True
for x in format[0]: check = True
uczniowiefmt += x while check:
uczniowiefmt = ''
for x in format[0]:
uczniowiefmt += x
try: try:
if format[0].count('') > 0: if format[0].count('') > 0:
error = int('x')
except ValueError:
MDdlg.err(11)
try:
if uczniowiefmt.count('K') != 1:
error = int('x')
except ValueError:
MDdlg.err(6)
try:
if uczniowiefmt.count('O') != 1:
error = int('x')
except ValueError:
MDdlg.err(7)
try:
if uczniowiefmt.count('N') != 1:
error = int('x')
except ValueError:
MDdlg.err(8)
try:
if uczniowiefmt.count('I') != 1:
error = int('x')
except ValueError:
MDdlg.err(9)
try:
if uczniowiefmt.count('L') != 1:
error = int('x')
except ValueError:
MDdlg.err(10)
try:
if format[1].count('') > 0:
error = int('x')
except ValueError:
MDdlg.err(12)
nauczycielefmt = ''
for x in format[1]:
nauczycielefmt += x
try:
if nauczycielefmt.count('N') != 1:
error = int('x')
except ValueError:
MDdlg.err(13)
try:
if nauczycielefmt.count('I') != 1:
error = int('x')
except ValueError:
MDdlg.err(14)
try:
if nauczycielefmt.count('L') != 1:
error = int('x')
except ValueError:
MDdlg.err(15)
NiedozwoloneZnaki = ['1','2','3','4','5','6','7','8','9','0','W','E','R','T','Y','U','P','A','S','D','F','G','H','J','Z','C','V','B','M']
try:
for x in NiedozwoloneZnaki:
if x in nauczycielefmt+uczniowiefmt:
error = int('x') error = int('x')
except ValueError: except ValueError:
MDdlg.err(16) MDdlg.err(11)
if Read:
SS.exit(0)
else:
poprawne = False
break
try:
if uczniowiefmt.count('K') != 1:
error = int('x')
except ValueError:
MDdlg.err(6)
if Read:
SS.exit(0)
else:
poprawne = False
break
try:
if uczniowiefmt.count('O') != 1:
error = int('x')
except ValueError:
MDdlg.err(7)
if Read:
SS.exit(0)
else:
poprawne = False
break
try:
if uczniowiefmt.count('N') != 1:
error = int('x')
except ValueError:
MDdlg.err(8)
if Read:
SS.exit(0)
else:
poprawne = False
break
try:
if uczniowiefmt.count('I') != 1:
error = int('x')
except ValueError:
MDdlg.err(9)
if Read:
SS.exit(0)
else:
poprawne = False
break
try:
if uczniowiefmt.count('L') != 1:
error = int('x')
except ValueError:
MDdlg.err(10)
if Read:
SS.exit(0)
else:
poprawne = False
break
try:
if format[1].count('') > 0:
error = int('x')
except ValueError:
MDdlg.err(12)
if Read:
SS.exit(0)
else:
poprawne = False
break
nauczycielefmt = ''
for x in format[1]:
nauczycielefmt += x
try:
if nauczycielefmt.count('N') != 1:
error = int('x')
except ValueError:
MDdlg.err(13)
if Read:
SS.exit(0)
else:
poprawne = False
break
try:
if nauczycielefmt.count('I') != 1:
error = int('x')
except ValueError:
MDdlg.err(14)
if Read:
SS.exit(0)
else:
poprawne = False
break
try:
if nauczycielefmt.count('L') != 1:
error = int('x')
except ValueError:
MDdlg.err(15)
if Read:
SS.exit(0)
else:
poprawne = False
break
NiedozwoloneZnaki = ['1','2','3','4','5','6','7','8','9','0','W','E','R','T','Y','U','P','A','S','D','F','G','H','J','Z','C','V','B','M']
try:
for x in NiedozwoloneZnaki:
if x in nauczycielefmt+uczniowiefmt:
error = int('x')
except ValueError:
MDdlg.err(16)
if Read:
SS.exit(0)
else:
poprawne = False
break
check = False
return poprawne
@@ -131,22 +191,28 @@ def read():
format = [] format = []
for x in fmt: for x in fmt:
format.append(x.split('\n')) format.append(x.split('\n'))
CheckFormat(format) CheckFormat(True, format)
return format return format
# Zapis ustawień do pliku formatu # Zapis ustawień do pliku formatu
def edit(format): def edit(format):
CheckFormat(format) xformat = []
try: for x in format:
check = open(r'.\format.fmt') xformat.append(x.split('\n')[:-1])
except FileNotFoundError: if CheckFormat(False, xformat):
MDdlg.err(5) try:
check = open(r'.\format.fmt')
except FileNotFoundError:
MDdlg.err(5)
else:
FormatToSaveX = []
for x in xformat:
FormatToSaveX.append('\n'.join(x))
FormatToSave = FormatToSaveX[0] + '\n<separator>\n' + FormatToSaveX[1]
with open(r'.\format.fmt', 'w') as fmt:
fmt.write(FormatToSave)
return True
else: else:
FormatToSaveX = [] return False
for x in format:
FormatToSaveX.append('\n'.join(x))
FormatToSave = FormatToSaveX[0] + '\n<separator>\n' + FormatToSaveX[1]
with open(r'.\format.fmt', 'w') as fmt:
fmt.write(FormatToSave)

View File

@@ -478,6 +478,7 @@ class Settings(TK.Toplevel):
self.resizable(width = False, height = False) self.resizable(width = False, height = False)
self.configure(bg = M_tlo) self.configure(bg = M_tlo)
liczbawierszy = 0
# Tytuł # Tytuł
Tytul = TK.Label(self) Tytul = TK.Label(self)
@@ -490,6 +491,7 @@ class Settings(TK.Toplevel):
# Frame1 - Motyw # Frame1 - Motyw
liczbawierszy += 1
Ramka1 = TK.LabelFrame(self) Ramka1 = TK.LabelFrame(self)
Ramka1.config(text = ' Motyw programu ') Ramka1.config(text = ' Motyw programu ')
Ramka1.config(bg = M_tlo) Ramka1.config(bg = M_tlo)
@@ -497,24 +499,22 @@ class Settings(TK.Toplevel):
Ramka1.config(borderwidth = M_framewielkosc) Ramka1.config(borderwidth = M_framewielkosc)
Ramka1.grid(row = 1, pady = 5) Ramka1.grid(row = 1, pady = 5)
Motyw_var = TK.StringVar()
if int(MDlcg.read()[0]) == 1:
Motyw_var.set('Ciemny')
Motyw_list_set = 'Ciemny'
else:
Motyw_var.set('Jasny')
Motyw_list_set = 'Jasny'
if int(MDlcg.read()[0]) == 1:
Motyw_list_set = 1
else:
Motyw_list_set = 0
Motyw_list = TKttk.Combobox(Ramka1) Motyw_list = TKttk.Combobox(Ramka1)
Motyw_list.config(textvariable = Motyw_var) Motyw_list.config(textvariable = TK.StringVar())
Motyw_list.config(state = 'readonly') Motyw_list.config(state = 'readonly')
Motyw_list.config(width = 93) Motyw_list.config(width = 93)
Motyw_list.grid(row = 0, pady = 5, padx = 5) Motyw_list.grid(row = 0, pady = 5, padx = 5)
Motyw_list['values'] = ('Jasny', 'Ciemny') Motyw_list['values'] = ('Jasny', 'Ciemny')
Motyw_list.set(Motyw_list_set) Motyw_list.current(Motyw_list_set)
# Frame2 - Kodowanie # Frame2 - Kodowanie
liczbawierszy += 1
Ramka2 = TK.LabelFrame(self) Ramka2 = TK.LabelFrame(self)
Ramka2.config(text = ' Kodowanie wyjściowe ') Ramka2.config(text = ' Kodowanie wyjściowe ')
Ramka2.config(bg = M_tlo) Ramka2.config(bg = M_tlo)
@@ -522,11 +522,8 @@ class Settings(TK.Toplevel):
Ramka2.config(borderwidth = M_framewielkosc) Ramka2.config(borderwidth = M_framewielkosc)
Ramka2.grid(row = 2, pady = 5) Ramka2.grid(row = 2, pady = 5)
Code_var = TK.StringVar()
Code_var.set(MDlcg.read()[1])
Code_list = TKttk.Combobox(Ramka2) Code_list = TKttk.Combobox(Ramka2)
Code_list.config(textvariable = Code_var) Code_list.config(textvariable = TK.StringVar())
Code_list.config(state = 'readonly') Code_list.config(state = 'readonly')
Code_list.config(width = 93) Code_list.config(width = 93)
Code_list.grid(row = 0, pady = 5, padx = 5) Code_list.grid(row = 0, pady = 5, padx = 5)
@@ -538,6 +535,7 @@ class Settings(TK.Toplevel):
SzerokoscPolaWej = 35 SzerokoscPolaWej = 35
WysokoscPolaWej = 8 WysokoscPolaWej = 8
liczbawierszy += 1
Ramka3 = TK.LabelFrame(self) Ramka3 = TK.LabelFrame(self)
Ramka3.config(text = ' Format plików wejściowych ') Ramka3.config(text = ' Format plików wejściowych ')
Ramka3.config(bg = M_tlo) Ramka3.config(bg = M_tlo)
@@ -579,50 +577,214 @@ class Settings(TK.Toplevel):
NauczycieleFormat.grid(row = 1, column = 1, padx = 5, pady = 5) NauczycieleFormat.grid(row = 1, column = 1, padx = 5, pady = 5)
NauczycieleFormat.insert(TK.END, nczfmt) NauczycieleFormat.insert(TK.END, nczfmt)
OpisFmt = TK.LabelFrame(Ramka3)
OpisFmt.config(bg=M_tlo)
OpisFmt.config(fg=M_text)
OpisFmt.config(borderwidth=0)
OpisFmt.grid(row=2, pady=5, columnspan=4)
Opis1 = TK.Label(OpisFmt)
Opis1.config(text='Dozwolone znaki:')
Opis1.config(bg=M_tlo)
Opis1.config(fg=M_text)
Opis1.grid(row=0, columnspan=7)
Opis2_1 = TK.Label(OpisFmt)
Opis2_1.config(text='K - Klasa')
Opis2_1.config(bg=M_tlo)
Opis2_1.config(fg=M_text)
Opis2_1.grid(row=1, column=0)
Opis2_2 = TK.Label(OpisFmt)
Opis2_2.config(text='O - Oddzial')
Opis2_2.config(bg=M_tlo)
Opis2_2.config(fg=M_text)
Opis2_2.grid(row=1, column=1)
Opis2_3 = TK.Label(OpisFmt)
Opis2_3.config(text='N - Nazwisko')
Opis2_3.config(bg=M_tlo)
Opis2_3.config(fg=M_text)
Opis2_3.grid(row=1, column=2)
Opis2_4 = TK.Label(OpisFmt)
Opis2_4.config(text='I - Imię')
Opis2_4.config(bg=M_tlo)
Opis2_4.config(fg=M_text)
Opis2_4.grid(row=1, column=3)
Opis2_5 = TK.Label(OpisFmt)
Opis2_5.config(text='L - Login')
Opis2_5.config(bg=M_tlo)
Opis2_5.config(fg=M_text)
Opis2_5.grid(row=1, column=4)
Opis2_6 = TK.Label(OpisFmt)
Opis2_6.config(text = 'X - Dane nieznaczące')
Opis2_6.config(bg = M_tlo)
Opis2_6.config(fg = M_text)
Opis2_6.grid(row = 1, column = 5)
Opis2_6 = TK.Label(OpisFmt)
Opis2_6.config(text='Q - Pusta linia')
Opis2_6.config(bg=M_tlo)
Opis2_6.config(fg=M_text)
Opis2_6.grid(row=1, column=6)
Opis3 = TK.Label(OpisFmt)
Opis3.config(text='Pozostałe znaki oprócz cyfr i pozostałych liter')
Opis3.config(bg=M_tlo)
Opis3.config(fg=M_text)
Opis3.grid(row=2, columnspan = 7)
# Frame4 - Stałe # Frame4 - Stałe
liczbawierszy += 1
Ramka4 = TK.LabelFrame(self) Ramka4 = TK.LabelFrame(self)
Ramka4.config(text = ' Stałe ') Ramka4.config(text = ' Ustawienia generowania ')
Ramka4.config(bg = M_tlo) Ramka4.config(bg = M_tlo)
Ramka4.config(fg = M_text) Ramka4.config(fg = M_text)
Ramka4.config(borderwidth = M_framewielkosc) Ramka4.config(borderwidth = M_framewielkosc)
Ramka4.grid(row = 4, pady = 5) Ramka4.grid(row = 4, pady = 5)
# Długość liceum i branżowej
RamkaDl = TK.LabelFrame(Ramka4)
RamkaDl.config(bg = M_tlo)
RamkaDl.config(fg = M_text)
RamkaDl.config(borderwidth = 0)
RamkaDl.grid(row = 0, pady = 5, columnspan = 2)
DlLicLabel = TK.Label(RamkaDl)
DlLicLabel.config(text = 'Lata nauki w liceum')
DlLicLabel.config(width = SzerokoscOpisu + 5)
DlLicLabel.config(bg = M_tlo)
DlLicLabel.config(fg = M_text)
DlLicLabel.grid(row = 0, column = 0)
DlLicValue = TK.IntVar()
DlLicPole = TK.Spinbox(RamkaDl)
DlLicPole.config(textvariable = DlLicValue)
DlLicPole.config(from_ = 1, to = 10)
DlLicPole.config(width = 18)
DlLicPole.config(bg = M_entrytlo)
DlLicPole.config(fg = M_text)
DlLicPole.grid(row = 0, column = 1, padx = 5, pady = 5)
DlLicPole.delete(0, 'end')
DlLicPole.insert(0, int(MDlcg.read()[5]))
DlBrLabel = TK.Label(RamkaDl)
DlBrLabel.config(text='Lata nauki w branżowej')
DlBrLabel.config(width = SzerokoscOpisu + 5)
DlBrLabel.config(bg = M_tlo)
DlBrLabel.config(fg = M_text)
DlBrLabel.grid(row = 0, column = 2)
DlBrValue = TK.IntVar()
DlBrPole = TK.Spinbox(RamkaDl)
DlBrPole.config(textvariable = DlBrValue)
DlBrPole.config(from_ = 1, to=10)
DlBrPole.config(width = 18)
DlBrPole.config(bg = M_entrytlo)
DlBrPole.config(fg = M_text)
DlBrPole.grid(row = 0, column = 3, padx = 5, pady = 5)
DlBrPole.delete(0, 'end')
DlBrPole.insert(0, int(MDlcg.read()[6]))
# Domena
DomenaLabel = TK.Label(Ramka4) DomenaLabel = TK.Label(Ramka4)
DomenaLabel.config(text = 'Domena') DomenaLabel.config(text = 'Domena')
DomenaLabel.config(width = SzerokoscOpisu3) DomenaLabel.config(width = SzerokoscOpisu + 5)
DomenaLabel.config(bg = M_tlo) DomenaLabel.config(bg = M_tlo)
DomenaLabel.config(fg = M_text) DomenaLabel.config(fg = M_text)
DomenaLabel.grid(row = 0, column = 0) DomenaLabel.grid(row = 2, column = 0)
text1 = TK.StringVar() text1 = TK.StringVar()
PoleDomena = TK.Entry(Ramka4) PoleDomena = TK.Entry(Ramka4)
PoleDomena.config(textvariable = text1) PoleDomena.config(textvariable = text1)
PoleDomena.config(width = 83) PoleDomena.config(width = 69)
PoleDomena.config(bg = M_entrytlo) PoleDomena.config(bg = M_entrytlo)
PoleDomena.config(fg = M_text) PoleDomena.config(fg = M_text)
PoleDomena.grid(row = 0, column = 1, padx = 5, pady = 5) PoleDomena.grid(row = 2, column = 1, padx = 5, pady = 5)
PoleDomena.insert(0, MDlcg.read()[2]) PoleDomena.insert(0, MDlcg.read()[2])
# Quota
QuotaLabel = TK.Label(Ramka4) QuotaLabel = TK.Label(Ramka4)
QuotaLabel.config(text = 'Quota (MB)') QuotaLabel.config(text = 'Quota (MB)')
QuotaLabel.config(width = SzerokoscOpisu3) QuotaLabel.config(width = SzerokoscOpisu)
QuotaLabel.config(bg = M_tlo) QuotaLabel.config(bg = M_tlo)
QuotaLabel.config(fg = M_text) QuotaLabel.config(fg = M_text)
QuotaLabel.grid(row = 1, column = 0) QuotaLabel.grid(row = 3, column = 0)
value2 = TK.IntVar() value2 = TK.IntVar()
PoleQuota = TK.Spinbox(Ramka4) PoleQuota = TK.Spinbox(Ramka4)
PoleQuota.config(textvariable = value2) PoleQuota.config(textvariable = value2)
PoleQuota.config(from_ = 1, to = 100000) PoleQuota.config(from_ = 1, to = 100000)
PoleQuota.config(width = 81) PoleQuota.config(width = 67)
PoleQuota.config(bg = M_entrytlo) PoleQuota.config(bg = M_entrytlo)
PoleQuota.config(fg = M_text) PoleQuota.config(fg = M_text)
PoleQuota.grid(row=1, column=1, padx=5, pady=5) PoleQuota.grid(row = 3, column = 1, padx = 5, pady = 5)
PoleQuota.delete(0, 'end')
PoleQuota.insert(0, int(MDlcg.read()[3])) PoleQuota.insert(0, int(MDlcg.read()[3]))
print(int(MDlcg.read()[3]))
# Kraj
KrajLabel = TK.Label(Ramka4)
KrajLabel.config(text = 'Kraj')
KrajLabel.config(width = SzerokoscOpisu + 5)
KrajLabel.config(bg = M_tlo)
KrajLabel.config(fg = M_text)
KrajLabel.grid(row = 4, column = 0)
KrajValue = TK.StringVar()
KrajPole = TK.Entry(Ramka4)
KrajPole.config(textvariable = KrajValue)
KrajPole.config(width = 69)
KrajPole.config(bg = M_entrytlo)
KrajPole.config(fg = M_text)
KrajPole.grid(row = 4, column = 1, padx = 5, pady = 5)
KrajPole.insert(0, MDlcg.read()[4])
# Przycisk ZAPISZ
def save():
if MDdlg.ask(1):
motyw = Motyw_list.get()
if motyw == 'Jasny':
motyw = '0'
else:
motyw = '1'
kodowanie = Code_list.get()
uczniowiefmt = UczniowieFormat.get('1.0', 'end')
nauczycielefmt = NauczycieleFormat.get('1.0', 'end')
liclata = DlLicPole.get()
brlata = DlBrPole.get()
domena = PoleDomena.get()
quota = PoleQuota.get()
kraj = KrajPole.get()
SettingsToSave = [motyw, kodowanie, domena, quota, kraj, liclata, brlata]
FormatToSave = [uczniowiefmt, nauczycielefmt]
if MDlfm.edit(FormatToSave):
MDlcg.edit(SettingsToSave)
MDdlg.inf(0)
self.destroy()
else:
pass
PrzyciskZAPISZ = TK.Button(self)
PrzyciskZAPISZ.config(text = 'ZAPISZ')
PrzyciskZAPISZ.config(command = save)
PrzyciskZAPISZ.config(width = 50)
PrzyciskZAPISZ.config(bg = M_przycisktlo)
PrzyciskZAPISZ.config(fg = M_przycisktext)
PrzyciskZAPISZ.config(relief = 'flat')
PrzyciskZAPISZ.config(activebackground = M_przycisktlo)
PrzyciskZAPISZ.grid(row = liczbawierszy + 1, pady = 15)
OknoGlowne = Main() OknoGlowne = Main()

View File

@@ -3,3 +3,5 @@ Kodowanie wyjsciowe: utf-8
Domena: losobolew.pl Domena: losobolew.pl
Quota: 500 Quota: 500
Kraj: Rzeczypospolita Polska Kraj: Rzeczypospolita Polska
Dlugosc liceum: 4
Dlugosc branzowej: 3