4.0 Alpha (Build 20211)
This commit is contained in:
@@ -72,4 +72,11 @@
|
||||
- Zastosowanie systemu styli do interfejsu
|
||||
- Zastosowanie systemu zapisywania plików konfiguracyjnych i formatu w folderze %appdata%
|
||||
- Usunięcie konsoli w tle
|
||||
- Wiele mniejszych zmian
|
||||
- Wiele mniejszych zmian
|
||||
|
||||
4.0 Alpha (Build 20211)
|
||||
- Dodanie filtrowania dozwolonych znaków separatorów
|
||||
- Naprawienie kilku mniejszych bugów: nieresetowanie pól po błędzie podczas zapisu, dodanie <enter> do listy dozwolonych znaków
|
||||
- Dodanie instrukcji w karcie "FORMAT DANYCH"
|
||||
- Usprawnienia w kodzie
|
||||
- Naprawiono przyciski radiobutton
|
||||
@@ -1 +1,2 @@
|
||||
secret = entersecretstringhere
|
||||
secret = entersecretstringhere
|
||||
allowedCharactersInSeparator = ['`', '~', '!', '@', '#', '$', '%', '^', '&', '(', ')', '-', '_', '=', '+', '[', ']', '\', '|', ';', ':', ''', '"', ',', '<', '.', '>', '/', '?', ' ']
|
||||
@@ -69,4 +69,19 @@ label2BG = #21242D
|
||||
label2TextColor = #C0C0C0
|
||||
label3BG = #21242D
|
||||
label3TextColor = #C0C0C0
|
||||
label3Anchor = w
|
||||
label3Anchor = w
|
||||
radiobutton1IndicatorBackground = #21242D
|
||||
loadingListPadX = 5
|
||||
EPOSTypeStudentRadiobuttonPadY = 5
|
||||
EPOSTypeStudentRadiobuttonWidth = 20
|
||||
EPOSTypeTeacherRadiobuttonPadY = 5
|
||||
EPOSTypeTeacherRadiobuttonWidth = 20
|
||||
EPOSPersonSeparatorEntryWidth = 56
|
||||
EPOSRowSeparatorEntryWidth = 56
|
||||
EPOSDataSeparatorTextWidth = 42
|
||||
EPOSDataSeparatorTextHeight = 17
|
||||
EPDataLocalizationPadX = 5
|
||||
EPDataLocalizationPadY = 5
|
||||
label3BG = #21242D
|
||||
label3TextColor = #C0C0C0
|
||||
label3Font = Segoe UI;6
|
||||
470
generator.pyw
470
generator.pyw
@@ -100,11 +100,10 @@ def MSG(code, terminate, *optionalInfo):
|
||||
# ------------------------- # Sprawdzanie katalogu programu w APPDATA # ------------------------- #
|
||||
|
||||
appdata = PT.Path.home() / 'Appdata/Roaming'
|
||||
"""
|
||||
|
||||
#TODO
|
||||
SU.rmtree(str(appdata) + '/Generator CSV')
|
||||
#TODO
|
||||
"""
|
||||
if 'Generator CSV' not in [x for x in OS.listdir(appdata)]:
|
||||
try:
|
||||
OS.mkdir(str(appdata) + '/Generator CSV')
|
||||
@@ -145,7 +144,23 @@ class CFG:
|
||||
return [True, content]
|
||||
else:
|
||||
class functions:
|
||||
pass
|
||||
def string(self, var):
|
||||
if var in list(content.keys()):
|
||||
return [True]
|
||||
else:
|
||||
return [False, 'Brak danych - klucz: %s' % var]
|
||||
def array(self, var):
|
||||
if var in list(content.keys()):
|
||||
new_contentVar = (content[var])[1:-1].split(', ')
|
||||
xnew_contentVar = []
|
||||
for x in new_contentVar:
|
||||
xnew_contentVar.append(x[1:-1])
|
||||
content[var] = xnew_contentVar
|
||||
else:
|
||||
return [False, 'Brak danych - klucz: %s' % var]
|
||||
functions = functions()
|
||||
functions.string('secret')
|
||||
functions.array('allowedCharactersInSeparator')
|
||||
return [True, content]
|
||||
|
||||
def R(self):
|
||||
@@ -469,6 +484,51 @@ class GUI:
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.fromArray('label3Anchor', ['center', 'nw', 'n', 'ne', 'w', 'e', 'sw', 's', 'se'])
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.color('radiobutton1IndicatorBackground')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.integer('loadingListPadX')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.integer('EPOSTypeStudentRadiobuttonPadY')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.integer('EPOSTypeStudentRadiobuttonWidth')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.integer('EPOSTypeTeacherRadiobuttonWidth')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.integer('EPOSTypeTeacherRadiobuttonPadY')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.integer('EPOSPersonSeparatorEntryWidth')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.integer('EPOSRowSeparatorEntryWidth')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.integer('EPOSDataSeparatorTextWidth')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.integer('EPOSDataSeparatorTextHeight')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.integer('EPDataLocalizationPadX')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.integer('EPDataLocalizationPadY')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.color('label3BG')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.color('label3TextColor')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.font('label3Font')
|
||||
if not check[0]:
|
||||
return check
|
||||
return [True, content]
|
||||
@@ -520,14 +580,27 @@ class FMT:
|
||||
return [True]
|
||||
else:
|
||||
return [False, 'Brak danych - klucz: %s' % var]
|
||||
def string(self, var):
|
||||
def separator_string(self, var):
|
||||
if var in list(content.keys()):
|
||||
allowedCharactersInSeparator = CFG.R()['allowedCharactersInSeparator']
|
||||
check = content[var]
|
||||
check = check.strip('<enter>')
|
||||
for x in check:
|
||||
if x not in allowedCharactersInSeparator:
|
||||
return [False, 'Niepoprawne dane - klucz: %s' % var]
|
||||
return [True]
|
||||
else:
|
||||
return [False, 'Brak danych - klucz: %s' % var]
|
||||
def array(self, var):
|
||||
def separator_array(self, var):
|
||||
if var in list(content.keys()):
|
||||
content[var] = 'I'.join(content[var])
|
||||
allowedCharactersInSeparator = CFG.R()['allowedCharactersInSeparator']
|
||||
check = content[var]
|
||||
for x in check:
|
||||
x = x.strip('<enter>')
|
||||
for y in x:
|
||||
if y not in allowedCharactersInSeparator:
|
||||
return [False, 'Niepoprawne dane - klucz: %s' % var]
|
||||
content[var] = str(content[var])
|
||||
return [True]
|
||||
else:
|
||||
return [False, 'Brak danych - klucz: %s' % var]
|
||||
@@ -541,13 +614,13 @@ class FMT:
|
||||
check = functions.bool('student')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.string('personSeparator')
|
||||
check = functions.separator_string('personSeparator')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.string('rowSeparator')
|
||||
check = functions.separator_string('rowSeparator')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.array('dataSeparators')
|
||||
check = functions.separator_array('dataSeparators')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.integer('loginRow')
|
||||
@@ -596,14 +669,31 @@ class FMT:
|
||||
return [True]
|
||||
else:
|
||||
return [False, 'Brak danych - klucz: %s' % var]
|
||||
def string(self, var):
|
||||
def separator_string(self, var):
|
||||
if var in list(content.keys()):
|
||||
allowedCharactersInSeparator = CFG.R()['allowedCharactersInSeparator']
|
||||
check = content[var]
|
||||
check = check.strip('<enter>')
|
||||
for x in check:
|
||||
if x not in allowedCharactersInSeparator:
|
||||
return [False, 'Niepoprawne dane - klucz: %s' % var]
|
||||
return [True]
|
||||
else:
|
||||
return [False, 'Brak danych - klucz: %s' % var]
|
||||
def array(self, var):
|
||||
def separator_array(self, var):
|
||||
if var in list(content.keys()):
|
||||
content[var] = content[var].split('I')
|
||||
allowedCharactersInSeparator = CFG.R()['allowedCharactersInSeparator']
|
||||
new_contentVar = (content[var])[1:-1].split(', ')
|
||||
xnew_contentVar = []
|
||||
for x in new_contentVar:
|
||||
xnew_contentVar.append(x[1:-1])
|
||||
check = xnew_contentVar
|
||||
for x in check:
|
||||
x = x.strip('<enter>')
|
||||
for y in x:
|
||||
if y not in allowedCharactersInSeparator:
|
||||
return [False, 'Niepoprawne dane - klucz: %s' % var]
|
||||
content[var] = xnew_contentVar
|
||||
return [True]
|
||||
else:
|
||||
return [False, 'Brak danych - klucz: %s' % var]
|
||||
@@ -622,13 +712,13 @@ class FMT:
|
||||
check = functions.bool('student')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.string('personSeparator')
|
||||
check = functions.separator_string('personSeparator')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.string('rowSeparator')
|
||||
check = functions.separator_string('rowSeparator')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.array('dataSeparators')
|
||||
check = functions.separator_array('dataSeparators')
|
||||
if not check[0]:
|
||||
return check
|
||||
check = functions.integer('loginRow')
|
||||
@@ -716,8 +806,10 @@ class FMT:
|
||||
with CD.open(str(appdata) + '/Generator CSV/format-presets/%s.fmt' % preset, 'w', 'utf-8') as file:
|
||||
for x in contentToSave:
|
||||
file.write(x + ' = ' + content[x] + '\n')
|
||||
return True
|
||||
else:
|
||||
MSG('E0006', False, contentCheckingOutput[1])
|
||||
return False
|
||||
FMT = FMT()
|
||||
|
||||
|
||||
@@ -797,6 +889,13 @@ def window():
|
||||
"width": GUI.R()['label2Width'],
|
||||
},
|
||||
},
|
||||
"label3.TLabel": {
|
||||
"configure": {
|
||||
"background": GUI.R()['label3BG'],
|
||||
"foreground": GUI.R()['label3TextColor'],
|
||||
"font" : GUI.R()['label3Font'],
|
||||
},
|
||||
},
|
||||
"combobox1.TCombobox": {
|
||||
"configure": {
|
||||
"arrowcolor": GUI.R()['combobox1ArrowColor'],
|
||||
@@ -832,12 +931,6 @@ def window():
|
||||
"background": GUI.R()['spinbox1ButtonColor']
|
||||
},
|
||||
},
|
||||
'radiobutton1.TRadiobutton': {
|
||||
"configure": {
|
||||
"background": GUI.R()['radiobutton1Background'],
|
||||
"foreground": GUI.R()['radiobutton1TextColor'],
|
||||
},
|
||||
},
|
||||
"entry1.TEntry": {
|
||||
"configure": {
|
||||
"fieldbackground": GUI.R()['entry1FieldBackground'],
|
||||
@@ -937,7 +1030,7 @@ def window():
|
||||
loadingList.option_add("*TCombobox*Listbox.foreground", GUI.R()['combobox1ListBoxForeground'])
|
||||
loadingList.option_add("*TCombobox*Listbox.selectBackground", GUI.R()['combobox1ListBoxSelectBackground'])
|
||||
loadingList.option_add("*TCombobox*Listbox.selectForeground", GUI.R()['combobox1ListBoxSelectForeground'])
|
||||
loadingList.pack(side = 'left', padx = 5)
|
||||
loadingList.pack(side = 'left', padx = GUI.R()['loadingListPadX'])
|
||||
loadingList['values'] = tuple(FMT.getList())
|
||||
|
||||
# Przycisk "WCZYTAJ"
|
||||
@@ -961,12 +1054,9 @@ def window():
|
||||
formatFileContent = FMT.R(loadingList.get())
|
||||
loadingList['state'] = TK.DISABLED
|
||||
loadingButton['state'] = TK.DISABLED
|
||||
EPOSTypeVar.set(formatFileContent['student'])
|
||||
EPOSTypeStudentRadiobutton['state'] = TK.NORMAL
|
||||
EPOSTypeTeacherRadiobutton['state'] = TK.NORMAL
|
||||
if formatFileContent['student']:
|
||||
EPOSTypeVar.set('s')
|
||||
else:
|
||||
EPOSTypeVar.set('t')
|
||||
EPOSPersonSeparatorEntry['state'] = TK.NORMAL
|
||||
EPOSPersonSeparatorVar.set(formatFileContent['personSeparator'])
|
||||
EPOSRowSeparatorEntry['state'] = TK.NORMAL
|
||||
@@ -1044,26 +1134,33 @@ def window():
|
||||
EPOSTypeLabel.grid(row = 0, column = 0, pady = 5, sticky = 'w')
|
||||
|
||||
# Typ osoby - Radiobutton
|
||||
EPOSTypeVar = TK.StringVar()
|
||||
EPOSTypeVar = TK.BooleanVar(value = True)
|
||||
|
||||
EPOSTypeStudentRadiobutton = TKttk.Radiobutton(editingPresetOSFrame)
|
||||
EPOSTypeStudentRadiobutton.config(style = 'radiobutton1.TRadiobutton')
|
||||
EPOSTypeStudentRadiobutton = TK.Radiobutton(editingPresetOSFrame)
|
||||
EPOSTypeStudentRadiobutton.config(background = GUI.R()['radiobutton1Background'])
|
||||
EPOSTypeStudentRadiobutton.config(foreground = GUI.R()['radiobutton1TextColor'])
|
||||
EPOSTypeStudentRadiobutton.config(selectcolor = GUI.R()['radiobutton1IndicatorBackground'])
|
||||
EPOSTypeStudentRadiobutton.config(activebackground = GUI.R()['radiobutton1Background'])
|
||||
EPOSTypeStudentRadiobutton.config(activeforeground = GUI.R()['radiobutton1TextColor'])
|
||||
EPOSTypeStudentRadiobutton.config(variable = EPOSTypeVar)
|
||||
EPOSTypeStudentRadiobutton.config(value = 's')
|
||||
EPOSTypeStudentRadiobutton.config(value = True)
|
||||
EPOSTypeStudentRadiobutton.config(state = TK.DISABLED)
|
||||
EPOSTypeStudentRadiobutton.config(width = 20)
|
||||
EPOSTypeStudentRadiobutton.config(width = GUI.R()['EPOSTypeStudentRadiobuttonWidth'])
|
||||
EPOSTypeStudentRadiobutton.config(text = 'Uczniowie')
|
||||
EPOSTypeStudentRadiobutton.grid(row = 0, column = 1, pady = GUI.R()['EPOSTypeStudentRadiobuttonPadY'])
|
||||
|
||||
EPOSTypeTeacherRadiobutton = TKttk.Radiobutton(editingPresetOSFrame)
|
||||
EPOSTypeTeacherRadiobutton.config(style = 'radiobutton1.TRadiobutton')
|
||||
EPOSTypeTeacherRadiobutton = TK.Radiobutton(editingPresetOSFrame)
|
||||
EPOSTypeTeacherRadiobutton.config(background = GUI.R()['radiobutton1Background'])
|
||||
EPOSTypeTeacherRadiobutton.config(foreground = GUI.R()['radiobutton1TextColor'])
|
||||
EPOSTypeTeacherRadiobutton.config(selectcolor = GUI.R()['radiobutton1IndicatorBackground'])
|
||||
EPOSTypeTeacherRadiobutton.config(activebackground = GUI.R()['radiobutton1Background'])
|
||||
EPOSTypeTeacherRadiobutton.config(activeforeground = GUI.R()['radiobutton1TextColor'])
|
||||
EPOSTypeTeacherRadiobutton.config(variable = EPOSTypeVar)
|
||||
EPOSTypeTeacherRadiobutton.config(value = 't')
|
||||
EPOSTypeTeacherRadiobutton.config(value = False)
|
||||
EPOSTypeTeacherRadiobutton.config(state = TK.DISABLED)
|
||||
EPOSTypeTeacherRadiobutton.config(width = 20)
|
||||
EPOSTypeTeacherRadiobutton.config(width = GUI.R()['EPOSTypeTeacherRadiobuttonWidth'])
|
||||
EPOSTypeTeacherRadiobutton.config(text = 'Nauczyciele')
|
||||
|
||||
EPOSTypeStudentRadiobutton.grid(row = 0, column = 1, pady = 5)
|
||||
EPOSTypeTeacherRadiobutton.grid(row = 0, column = 2, pady = 5)
|
||||
EPOSTypeTeacherRadiobutton.grid(row = 0, column = 2, pady = GUI.R()['EPOSTypeTeacherRadiobuttonPadY'])
|
||||
|
||||
# "Separator pomiędzy osobami"
|
||||
EPOSPersonSeparatorLabel = TKttk.Label(editingPresetOSFrame)
|
||||
@@ -1077,7 +1174,7 @@ def window():
|
||||
EPOSPersonSeparatorEntry.config(style = 'entry1.TEntry')
|
||||
EPOSPersonSeparatorEntry.config(textvariable = EPOSPersonSeparatorVar)
|
||||
EPOSPersonSeparatorEntry.config(state = TK.DISABLED)
|
||||
EPOSPersonSeparatorEntry.config(width = 56)
|
||||
EPOSPersonSeparatorEntry.config(width = GUI.R()['EPOSPersonSeparatorEntryWidth'])
|
||||
EPOSPersonSeparatorEntry.grid(row = 1, column = 1, columnspan = 2, padx = 5, pady = 5)
|
||||
|
||||
# "Separator pomiędzy wierszami"
|
||||
@@ -1092,7 +1189,7 @@ def window():
|
||||
EPOSRowSeparatorEntry.config(style = 'entry1.TEntry')
|
||||
EPOSRowSeparatorEntry.config(textvariable = EPOSRowSeparatorVar)
|
||||
EPOSRowSeparatorEntry.config(state = TK.DISABLED)
|
||||
EPOSRowSeparatorEntry.config(width = 56)
|
||||
EPOSRowSeparatorEntry.config(width = GUI.R()['EPOSRowSeparatorEntryWidth'])
|
||||
EPOSRowSeparatorEntry.grid(row = 2, column = 1, columnspan = 2, padx = 5, pady = 5)
|
||||
|
||||
# "Separatory pomiędzy danymi"
|
||||
@@ -1104,8 +1201,8 @@ def window():
|
||||
# Entry - Separator pomiedzy wierszami
|
||||
EPOSDataSeparatorText = TK.Text(editingPresetOSFrame)
|
||||
EPOSDataSeparatorText.config(state = TK.DISABLED)
|
||||
EPOSDataSeparatorText.config(width = 42)
|
||||
EPOSDataSeparatorText.config(height = 19)
|
||||
EPOSDataSeparatorText.config(width = GUI.R()['EPOSDataSeparatorTextWidth'])
|
||||
EPOSDataSeparatorText.config(height = GUI.R()['EPOSDataSeparatorTextHeight'])
|
||||
EPOSDataSeparatorText.config(background = GUI.R()['text1Background'])
|
||||
EPOSDataSeparatorText.config(foreground = GUI.R()['text1TextColor'])
|
||||
EPOSDataSeparatorText.config(relief = GUI.R()['text1Relief'])
|
||||
@@ -1114,7 +1211,7 @@ def window():
|
||||
# "<enter> - nowa linia | wciśnięcie przycisku ENTER | \n"
|
||||
EPOSSeparatorEnterInfoLabel = TKttk.Label(editingPresetOSFrame)
|
||||
EPOSSeparatorEnterInfoLabel.config(style = 'label1.TLabel')
|
||||
EPOSSeparatorEnterInfoLabel.config(text = r'<enter> - nowa linia | wciśnięcie przycisku ENTER | \n')
|
||||
EPOSSeparatorEnterInfoLabel.config(text = (r'<enter> - nowa linia | wciśnięcie przycisku ENTER | \n' + '\n' + 'Niedozwolone znaki: litery, cyfry, *'))
|
||||
EPOSSeparatorEnterInfoLabel.grid(row = 4, column = 1, columnspan = 2)
|
||||
|
||||
###############
|
||||
@@ -1140,19 +1237,19 @@ def window():
|
||||
editingPresetDataLocalizationC1Label = TKttk.Label(editingPresetDataLocalizationSettingsFrame)
|
||||
editingPresetDataLocalizationC1Label.config(style = 'label1.TLabel')
|
||||
editingPresetDataLocalizationC1Label.config(text = 'Wiersz')
|
||||
editingPresetDataLocalizationC1Label.grid(row = 0, column = 1, padx = 5, pady = 5)
|
||||
editingPresetDataLocalizationC1Label.grid(row = 0, column = 1, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# C2 - "Pozycja w wierszu"
|
||||
editingPresetDataLocalizationC2Label = TKttk.Label(editingPresetDataLocalizationSettingsFrame)
|
||||
editingPresetDataLocalizationC2Label.config(style = 'label1.TLabel')
|
||||
editingPresetDataLocalizationC2Label.config(text = 'Pozycja w wierszu')
|
||||
editingPresetDataLocalizationC2Label.grid(row = 0, column = 2, padx = 5, pady = 5)
|
||||
editingPresetDataLocalizationC2Label.grid(row = 0, column = 2, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# W1 - "Login"
|
||||
editingPresetDataLocalizationW1Label = TKttk.Label(editingPresetDataLocalizationSettingsFrame)
|
||||
editingPresetDataLocalizationW1Label.config(style = 'label2.TLabel')
|
||||
editingPresetDataLocalizationW1Label.config(text = 'Login')
|
||||
editingPresetDataLocalizationW1Label.grid(row = 1, column = 0, padx = 5, pady = 5)
|
||||
editingPresetDataLocalizationW1Label.grid(row = 1, column = 0, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# Lokalizacja loginu (wiersz)
|
||||
EPDataLocalizationLoginRowVar = TK.IntVar()
|
||||
@@ -1160,8 +1257,9 @@ def window():
|
||||
EPDataLocalizationLoginRowSpinbox.config(textvariable = EPDataLocalizationLoginRowVar)
|
||||
EPDataLocalizationLoginRowSpinbox.config(from_ = 0)
|
||||
EPDataLocalizationLoginRowSpinbox.config(to = 1000000)
|
||||
EPDataLocalizationLoginRowSpinbox.config(state = TK.DISABLED)
|
||||
EPDataLocalizationLoginRowSpinbox.config(style = 'spinbox1.TSpinbox')
|
||||
EPDataLocalizationLoginRowSpinbox.grid(row = 1, column = 1, padx = 5, pady = 5)
|
||||
EPDataLocalizationLoginRowSpinbox.grid(row = 1, column = 1, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# Lokalizacja loginu (pozycja w wierszu)
|
||||
EPDataLocalizationLoginPosInRowVar = TK.IntVar()
|
||||
@@ -1169,14 +1267,15 @@ def window():
|
||||
EPDataLocalizationLoginPosInRowSpinbox.config(textvariable = EPDataLocalizationLoginPosInRowVar)
|
||||
EPDataLocalizationLoginPosInRowSpinbox.config(from_ = 0)
|
||||
EPDataLocalizationLoginPosInRowSpinbox.config(to = 1000000)
|
||||
EPDataLocalizationLoginPosInRowSpinbox.config(state = TK.DISABLED)
|
||||
EPDataLocalizationLoginPosInRowSpinbox.config(style = 'spinbox1.TSpinbox')
|
||||
EPDataLocalizationLoginPosInRowSpinbox.grid(row = 1, column = 2, padx = 5, pady = 5)
|
||||
EPDataLocalizationLoginPosInRowSpinbox.grid(row = 1, column = 2, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# W2 - "Imię"
|
||||
editingPresetDataLocalizationW2Label = TKttk.Label(editingPresetDataLocalizationSettingsFrame)
|
||||
editingPresetDataLocalizationW2Label.config(style = 'label2.TLabel')
|
||||
editingPresetDataLocalizationW2Label.config(text = 'Imię')
|
||||
editingPresetDataLocalizationW2Label.grid(row = 2, column = 0, padx = 5, pady = 5)
|
||||
editingPresetDataLocalizationW2Label.grid(row = 2, column = 0, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# Lokalizacja imienia (wiersz)
|
||||
EPDataLocalizationFnameRowVar = TK.IntVar()
|
||||
@@ -1184,8 +1283,9 @@ def window():
|
||||
EPDataLocalizationFnameRowSpinbox.config(textvariable = EPDataLocalizationFnameRowVar)
|
||||
EPDataLocalizationFnameRowSpinbox.config(from_ = 0)
|
||||
EPDataLocalizationFnameRowSpinbox.config(to = 1000000)
|
||||
EPDataLocalizationFnameRowSpinbox.config(state = TK.DISABLED)
|
||||
EPDataLocalizationFnameRowSpinbox.config(style = 'spinbox1.TSpinbox')
|
||||
EPDataLocalizationFnameRowSpinbox.grid(row = 2, column = 1, padx = 5, pady = 5)
|
||||
EPDataLocalizationFnameRowSpinbox.grid(row = 2, column = 1, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# Lokalizacja imienia (pozycja w wierszu)
|
||||
EPDataLocalizationFnamePosInRowVar = TK.IntVar()
|
||||
@@ -1193,14 +1293,15 @@ def window():
|
||||
EPDataLocalizationFnamePosInRowSpinbox.config(textvariable = EPDataLocalizationFnamePosInRowVar)
|
||||
EPDataLocalizationFnamePosInRowSpinbox.config(from_ = 0)
|
||||
EPDataLocalizationFnamePosInRowSpinbox.config(to = 1000000)
|
||||
EPDataLocalizationFnamePosInRowSpinbox.config(state = TK.DISABLED)
|
||||
EPDataLocalizationFnamePosInRowSpinbox.config(style = 'spinbox1.TSpinbox')
|
||||
EPDataLocalizationFnamePosInRowSpinbox.grid(row = 2, column = 2, padx = 5, pady = 5)
|
||||
EPDataLocalizationFnamePosInRowSpinbox.grid(row = 2, column = 2, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# W3 - "Nazwisko"
|
||||
editingPresetDataLocalizationW3Label = TKttk.Label(editingPresetDataLocalizationSettingsFrame)
|
||||
editingPresetDataLocalizationW3Label.config(style = 'label2.TLabel')
|
||||
editingPresetDataLocalizationW3Label.config(text = 'Nazwisko')
|
||||
editingPresetDataLocalizationW3Label.grid(row = 3, column = 0, padx = 5, pady = 5)
|
||||
editingPresetDataLocalizationW3Label.grid(row = 3, column = 0, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# Lokalizacja nazwiska (wiersz)
|
||||
EPDataLocalizationLnameRowVar = TK.IntVar()
|
||||
@@ -1208,8 +1309,9 @@ def window():
|
||||
EPDataLocalizationLnameRowSpinbox.config(textvariable = EPDataLocalizationLnameRowVar)
|
||||
EPDataLocalizationLnameRowSpinbox.config(from_ = 0)
|
||||
EPDataLocalizationLnameRowSpinbox.config(to = 1000000)
|
||||
EPDataLocalizationLnameRowSpinbox.config(state = TK.DISABLED)
|
||||
EPDataLocalizationLnameRowSpinbox.config(style = 'spinbox1.TSpinbox')
|
||||
EPDataLocalizationLnameRowSpinbox.grid(row = 3, column = 1, padx = 5, pady = 5)
|
||||
EPDataLocalizationLnameRowSpinbox.grid(row = 3, column = 1, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# Lokalizacja nazwiska (pozycja w wierszu)
|
||||
EPDataLocalizationLnamePosInRowVar = TK.IntVar()
|
||||
@@ -1217,14 +1319,15 @@ def window():
|
||||
EPDataLocalizationLnamePosInRowSpinbox.config(textvariable = EPDataLocalizationLnamePosInRowVar)
|
||||
EPDataLocalizationLnamePosInRowSpinbox.config(from_ = 0)
|
||||
EPDataLocalizationLnamePosInRowSpinbox.config(to = 1000000)
|
||||
EPDataLocalizationLnamePosInRowSpinbox.config(state = TK.DISABLED)
|
||||
EPDataLocalizationLnamePosInRowSpinbox.config(style = 'spinbox1.TSpinbox')
|
||||
EPDataLocalizationLnamePosInRowSpinbox.grid(row = 3, column = 2, padx = 5, pady = 5)
|
||||
EPDataLocalizationLnamePosInRowSpinbox.grid(row = 3, column = 2, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# W4 - "Szkoła"
|
||||
editingPresetDataLocalizationW4Label = TKttk.Label(editingPresetDataLocalizationSettingsFrame)
|
||||
editingPresetDataLocalizationW4Label.config(style = 'label2.TLabel')
|
||||
editingPresetDataLocalizationW4Label.config(text = 'Szkoła')
|
||||
editingPresetDataLocalizationW4Label.grid(row = 4, column = 0, padx = 5, pady = 5)
|
||||
editingPresetDataLocalizationW4Label.grid(row = 4, column = 0, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# Lokalizacja nazwiska (wiersz)
|
||||
EPDataLocalizationSchoolRowVar = TK.IntVar()
|
||||
@@ -1232,8 +1335,9 @@ def window():
|
||||
EPDataLocalizationSchoolRowSpinbox.config(textvariable = EPDataLocalizationSchoolRowVar)
|
||||
EPDataLocalizationSchoolRowSpinbox.config(from_ = 0)
|
||||
EPDataLocalizationSchoolRowSpinbox.config(to = 1000000)
|
||||
EPDataLocalizationSchoolRowSpinbox.config(state = TK.DISABLED)
|
||||
EPDataLocalizationSchoolRowSpinbox.config(style = 'spinbox1.TSpinbox')
|
||||
EPDataLocalizationSchoolRowSpinbox.grid(row = 4, column = 1, padx = 5, pady = 5)
|
||||
EPDataLocalizationSchoolRowSpinbox.grid(row = 4, column = 1, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# Lokalizacja nazwiska (pozycja w wierszu)
|
||||
EPDataLocalizationSchoolPosInRowVar = TK.IntVar()
|
||||
@@ -1241,14 +1345,15 @@ def window():
|
||||
EPDataLocalizationSchoolPosInRowSpinbox.config(textvariable = EPDataLocalizationSchoolPosInRowVar)
|
||||
EPDataLocalizationSchoolPosInRowSpinbox.config(from_ = 0)
|
||||
EPDataLocalizationSchoolPosInRowSpinbox.config(to = 1000000)
|
||||
EPDataLocalizationSchoolPosInRowSpinbox.config(state = TK.DISABLED)
|
||||
EPDataLocalizationSchoolPosInRowSpinbox.config(style = 'spinbox1.TSpinbox')
|
||||
EPDataLocalizationSchoolPosInRowSpinbox.grid(row = 4, column = 2, padx = 5, pady = 5)
|
||||
EPDataLocalizationSchoolPosInRowSpinbox.grid(row = 4, column = 2, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# W5 - "Klasa"
|
||||
editingPresetDataLocalizationW5Label = TKttk.Label(editingPresetDataLocalizationSettingsFrame)
|
||||
editingPresetDataLocalizationW5Label.config(style = 'label2.TLabel')
|
||||
editingPresetDataLocalizationW5Label.config(text = 'Klasa')
|
||||
editingPresetDataLocalizationW5Label.grid(row = 5, column = 0, padx = 5, pady = 5)
|
||||
editingPresetDataLocalizationW5Label.grid(row = 5, column = 0, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# Lokalizacja nazwiska (wiersz)
|
||||
EPDataLocalizationClassRowVar = TK.IntVar()
|
||||
@@ -1256,8 +1361,9 @@ def window():
|
||||
EPDataLocalizationClassRowSpinbox.config(textvariable = EPDataLocalizationClassRowVar)
|
||||
EPDataLocalizationClassRowSpinbox.config(from_ = 0)
|
||||
EPDataLocalizationClassRowSpinbox.config(to = 1000000)
|
||||
EPDataLocalizationClassRowSpinbox.config(state = TK.DISABLED)
|
||||
EPDataLocalizationClassRowSpinbox.config(style = 'spinbox1.TSpinbox')
|
||||
EPDataLocalizationClassRowSpinbox.grid(row = 5, column = 1, padx = 5, pady = 5)
|
||||
EPDataLocalizationClassRowSpinbox.grid(row = 5, column = 1, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# Lokalizacja nazwiska (pozycja w wierszu)
|
||||
EPDataLocalizationClassPosInRowVar = TK.IntVar()
|
||||
@@ -1265,8 +1371,16 @@ def window():
|
||||
EPDataLocalizationClassPosInRowSpinbox.config(textvariable = EPDataLocalizationClassPosInRowVar)
|
||||
EPDataLocalizationClassPosInRowSpinbox.config(from_ = 0)
|
||||
EPDataLocalizationClassPosInRowSpinbox.config(to = 1000000)
|
||||
EPDataLocalizationClassPosInRowSpinbox.config(state = TK.DISABLED)
|
||||
EPDataLocalizationClassPosInRowSpinbox.config(style = 'spinbox1.TSpinbox')
|
||||
EPDataLocalizationClassPosInRowSpinbox.grid(row = 5, column = 2, padx = 5, pady = 5)
|
||||
EPDataLocalizationClassPosInRowSpinbox.grid(row = 5, column = 2, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
# Informacje
|
||||
EPDataLocalizationInfoLabel = TKttk.Label(editingPresetDataLocalizationSettingsFrame)
|
||||
EPDataLocalizationInfoLabel.config(style = 'label3.TLabel')
|
||||
EPDataLocalizationInfoLabel.config(justify = 'center')
|
||||
EPDataLocalizationInfoLabel.config(text = "1234567u\nAdam Nowak, 18\n1a LO\n*******\n\n7654321u\nJan Kowalski, 11\n2a BS\n**********\n\n------------------\n\nTyp osoby: Uczniowie\nSeparator pomiedzy osobami: '<enter><enter>'\nSeparator pomiedzy wierszami: '<enter>'\nSeparator pomiedzy danymi: ' *enter*, '\nLogin: 1 | 1\nImię: 2 | 1\nNazwisko: 2 | 2\nSzkoła: 3 | 2\nKlasa: 3 | 1")
|
||||
EPDataLocalizationInfoLabel.grid(row = 6, column = 0, columnspan = 3, padx = GUI.R()['EPDataLocalizationPadX'], pady = GUI.R()['EPDataLocalizationPadY'])
|
||||
|
||||
#########################
|
||||
|
||||
@@ -1278,167 +1392,94 @@ def window():
|
||||
editingPresetButtonsFrame.config(style = 'layoutFrame.TFrame')
|
||||
editingPresetButtonsFrame.pack(fill = TK.X, side = TK.BOTTOM, pady = 10)
|
||||
|
||||
def editingPresetSaveAction():
|
||||
def editingPresetSave():
|
||||
studentVar = EPOSTypeVar.get()
|
||||
if studentVar == 's':
|
||||
studentVar = True
|
||||
else:
|
||||
studentVar = False
|
||||
formatFileContentToSave = {
|
||||
"student" : studentVar,
|
||||
"personSeparator" : EPOSPersonSeparatorEntry.get(),
|
||||
"rowSeparator" : EPOSRowSeparatorEntry.get(),
|
||||
"dataSeparators" : (EPOSDataSeparatorText.get("1.0", TK.END)).split('\n')[:-1],
|
||||
"loginRow" : int(EPDataLocalizationLoginRowSpinbox.get()),
|
||||
"loginPositionInRow" : int(EPDataLocalizationLoginPosInRowSpinbox.get()),
|
||||
"fnameRow" : int(EPDataLocalizationFnameRowSpinbox.get()),
|
||||
"fnamePositionInRow" : int(EPDataLocalizationFnamePosInRowSpinbox.get()),
|
||||
"lnameRow" : int(EPDataLocalizationLnameRowSpinbox.get()),
|
||||
"lnamePositionInRow" : int(EPDataLocalizationLnamePosInRowSpinbox.get()),
|
||||
"schoolRow" : int(EPDataLocalizationSchoolRowSpinbox.get()),
|
||||
"schoolPositionInRow" : int(EPDataLocalizationSchoolPosInRowSpinbox.get()),
|
||||
"classRow" : int(EPDataLocalizationClassRowSpinbox.get()),
|
||||
"classPositionInRow" : int(EPDataLocalizationClassPosInRowSpinbox.get()),
|
||||
}
|
||||
if not FMT.W(loadingList.get(), formatFileContentToSave):
|
||||
return
|
||||
formatFileContent = {
|
||||
"student" : True,
|
||||
"personSeparator" : '',
|
||||
"rowSeparator" : '',
|
||||
"dataSeparators" : [],
|
||||
"loginRow" : 0,
|
||||
"loginPositionInRow" : 0,
|
||||
"fnameRow" : 0,
|
||||
"fnamePositionInRow" : 0,
|
||||
"lnameRow" : 0,
|
||||
"lnamePositionInRow" : 0,
|
||||
"schoolRow" : 0,
|
||||
"schoolPositionInRow" : 0,
|
||||
"classRow" : 0,
|
||||
"classPositionInRow" : 0,
|
||||
}
|
||||
loadingList['state'] = TK.NORMAL
|
||||
loadingButton['state'] = TK.NORMAL
|
||||
EPOSTypeVar.set(formatFileContent['student'])
|
||||
EPOSTypeStudentRadiobutton['state'] = TK.DISABLED
|
||||
EPOSTypeTeacherRadiobutton['state'] = TK.DISABLED
|
||||
EPOSPersonSeparatorEntry['state'] = TK.DISABLED
|
||||
EPOSPersonSeparatorVar.set(formatFileContent['personSeparator'])
|
||||
EPOSRowSeparatorEntry['state'] = TK.DISABLED
|
||||
EPOSRowSeparatorVar.set(formatFileContent['rowSeparator'])
|
||||
EPOSDataSeparatorText.delete('1.0', TK.END)
|
||||
EPOSDataSeparatorText['state'] = TK.DISABLED
|
||||
EPDataLocalizationLoginRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationLoginRowVar.set(formatFileContent['loginRow'])
|
||||
EPDataLocalizationLoginPosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationLoginPosInRowVar.set(formatFileContent['loginPositionInRow'])
|
||||
EPDataLocalizationFnameRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationFnameRowVar.set(formatFileContent['fnameRow'])
|
||||
EPDataLocalizationFnamePosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationFnamePosInRowVar.set(formatFileContent['fnamePositionInRow'])
|
||||
EPDataLocalizationLnameRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationLnameRowVar.set(formatFileContent['lnameRow'])
|
||||
EPDataLocalizationLnamePosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationLnamePosInRowVar.set(formatFileContent['lnamePositionInRow'])
|
||||
EPDataLocalizationSchoolRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationSchoolRowVar.set(formatFileContent['schoolRow'])
|
||||
EPDataLocalizationSchoolPosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationSchoolPosInRowVar.set(formatFileContent['schoolPositionInRow'])
|
||||
EPDataLocalizationClassRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationClassRowVar.set(formatFileContent['classRow'])
|
||||
EPDataLocalizationClassPosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationClassPosInRowVar.set(formatFileContent['classPositionInRow'])
|
||||
editingPresetSaveButton['state'] = TK.DISABLED
|
||||
editingPresetCancelButton['state'] = TK.DISABLED
|
||||
loadingList['values'] = tuple(FMT.getList())
|
||||
|
||||
def editingPresetSaveButtonAction():
|
||||
if loadingList.get() not in FMT.getList():
|
||||
if MSG('A0001', False):
|
||||
studentVar = EPOSTypeVar.get()
|
||||
if studentVar == 's':
|
||||
studentVar = True
|
||||
else:
|
||||
studentVar = False
|
||||
formatFileContentToSave = {
|
||||
"student" : studentVar,
|
||||
"personSeparator" : EPOSPersonSeparatorEntry.get(),
|
||||
"rowSeparator" : EPOSRowSeparatorEntry.get(),
|
||||
"dataSeparators" : (EPOSDataSeparatorText.get("1.0", TK.END)).split('\n')[:-1],
|
||||
"loginRow" : int(EPDataLocalizationLoginRowSpinbox.get()),
|
||||
"loginPositionInRow" : int(EPDataLocalizationLoginPosInRowSpinbox.get()),
|
||||
"fnameRow" : int(EPDataLocalizationFnameRowSpinbox.get()),
|
||||
"fnamePositionInRow" : int(EPDataLocalizationFnamePosInRowSpinbox.get()),
|
||||
"lnameRow" : int(EPDataLocalizationLnameRowSpinbox.get()),
|
||||
"lnamePositionInRow" : int(EPDataLocalizationLnamePosInRowSpinbox.get()),
|
||||
"schoolRow" : int(EPDataLocalizationSchoolRowSpinbox.get()),
|
||||
"schoolPositionInRow" : int(EPDataLocalizationSchoolPosInRowSpinbox.get()),
|
||||
"classRow" : int(EPDataLocalizationClassRowSpinbox.get()),
|
||||
"classPositionInRow" : int(EPDataLocalizationClassPosInRowSpinbox.get()),
|
||||
}
|
||||
FMT.W(loadingList.get(), formatFileContentToSave)
|
||||
formatFileContent = {
|
||||
"student" : True,
|
||||
"personSeparator" : '',
|
||||
"rowSeparator" : '',
|
||||
"dataSeparators" : [],
|
||||
"loginRow" : 0,
|
||||
"loginPositionInRow" : 0,
|
||||
"fnameRow" : 0,
|
||||
"fnamePositionInRow" : 0,
|
||||
"lnameRow" : 0,
|
||||
"lnamePositionInRow" : 0,
|
||||
"schoolRow" : 0,
|
||||
"schoolPositionInRow" : 0,
|
||||
"classRow" : 0,
|
||||
"classPositionInRow" : 0,
|
||||
}
|
||||
loadingList['state'] = TK.NORMAL
|
||||
loadingButton['state'] = TK.NORMAL
|
||||
EPOSTypeStudentRadiobutton['state'] = TK.DISABLED
|
||||
EPOSTypeTeacherRadiobutton['state'] = TK.DISABLED
|
||||
if formatFileContent['student']:
|
||||
EPOSTypeVar.set('s')
|
||||
else:
|
||||
EPOSTypeVar.set('t')
|
||||
EPOSPersonSeparatorEntry['state'] = TK.DISABLED
|
||||
EPOSPersonSeparatorVar.set(formatFileContent['personSeparator'])
|
||||
EPOSRowSeparatorEntry['state'] = TK.DISABLED
|
||||
EPOSRowSeparatorVar.set(formatFileContent['rowSeparator'])
|
||||
EPOSDataSeparatorText.delete('1.0', TK.END)
|
||||
EPOSDataSeparatorText['state'] = TK.DISABLED
|
||||
EPDataLocalizationLoginRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationLoginRowVar.set(formatFileContent['loginRow'])
|
||||
EPDataLocalizationLoginPosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationLoginPosInRowVar.set(formatFileContent['loginPositionInRow'])
|
||||
EPDataLocalizationFnameRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationFnameRowVar.set(formatFileContent['fnameRow'])
|
||||
EPDataLocalizationFnamePosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationFnamePosInRowVar.set(formatFileContent['fnamePositionInRow'])
|
||||
EPDataLocalizationLnameRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationLnameRowVar.set(formatFileContent['lnameRow'])
|
||||
EPDataLocalizationLnamePosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationLnamePosInRowVar.set(formatFileContent['lnamePositionInRow'])
|
||||
EPDataLocalizationSchoolRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationSchoolRowVar.set(formatFileContent['schoolRow'])
|
||||
EPDataLocalizationSchoolPosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationSchoolPosInRowVar.set(formatFileContent['schoolPositionInRow'])
|
||||
EPDataLocalizationClassRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationClassRowVar.set(formatFileContent['classRow'])
|
||||
EPDataLocalizationClassPosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationClassPosInRowVar.set(formatFileContent['classPositionInRow'])
|
||||
editingPresetSaveButton['state'] = TK.DISABLED
|
||||
editingPresetCancelButton['state'] = TK.DISABLED
|
||||
loadingList['values'] = tuple(FMT.getList())
|
||||
editingPresetSave()
|
||||
else:
|
||||
return
|
||||
else:
|
||||
if MSG('A0002', False):
|
||||
studentVar = EPOSTypeVar.get()
|
||||
if studentVar == 's':
|
||||
studentVar = True
|
||||
else:
|
||||
studentVar = False
|
||||
formatFileContentToSave = {
|
||||
"student" : studentVar,
|
||||
"personSeparator" : EPOSPersonSeparatorEntry.get(),
|
||||
"rowSeparator" : EPOSRowSeparatorEntry.get(),
|
||||
"dataSeparators" : (EPOSDataSeparatorText.get("1.0", TK.END)).split('\n')[:-1],
|
||||
"loginRow" : int(EPDataLocalizationLoginRowSpinbox.get()),
|
||||
"loginPositionInRow" : int(EPDataLocalizationLoginPosInRowSpinbox.get()),
|
||||
"fnameRow" : int(EPDataLocalizationFnameRowSpinbox.get()),
|
||||
"fnamePositionInRow" : int(EPDataLocalizationFnamePosInRowSpinbox.get()),
|
||||
"lnameRow" : int(EPDataLocalizationLnameRowSpinbox.get()),
|
||||
"lnamePositionInRow" : int(EPDataLocalizationLnamePosInRowSpinbox.get()),
|
||||
"schoolRow" : int(EPDataLocalizationSchoolRowSpinbox.get()),
|
||||
"schoolPositionInRow" : int(EPDataLocalizationSchoolPosInRowSpinbox.get()),
|
||||
"classRow" : int(EPDataLocalizationClassRowSpinbox.get()),
|
||||
"classPositionInRow" : int(EPDataLocalizationClassPosInRowSpinbox.get()),
|
||||
}
|
||||
FMT.W(loadingList.get(), formatFileContentToSave)
|
||||
formatFileContent = {
|
||||
"student" : True,
|
||||
"personSeparator" : '',
|
||||
"rowSeparator" : '',
|
||||
"dataSeparators" : [],
|
||||
"loginRow" : 0,
|
||||
"loginPositionInRow" : 0,
|
||||
"fnameRow" : 0,
|
||||
"fnamePositionInRow" : 0,
|
||||
"lnameRow" : 0,
|
||||
"lnamePositionInRow" : 0,
|
||||
"schoolRow" : 0,
|
||||
"schoolPositionInRow" : 0,
|
||||
"classRow" : 0,
|
||||
"classPositionInRow" : 0,
|
||||
}
|
||||
loadingList['state'] = TK.NORMAL
|
||||
loadingButton['state'] = TK.NORMAL
|
||||
EPOSTypeStudentRadiobutton['state'] = TK.DISABLED
|
||||
EPOSTypeTeacherRadiobutton['state'] = TK.DISABLED
|
||||
if formatFileContent['student']:
|
||||
EPOSTypeVar.set('s')
|
||||
else:
|
||||
EPOSTypeVar.set('t')
|
||||
EPOSPersonSeparatorEntry['state'] = TK.DISABLED
|
||||
EPOSPersonSeparatorVar.set(formatFileContent['personSeparator'])
|
||||
EPOSRowSeparatorEntry['state'] = TK.DISABLED
|
||||
EPOSRowSeparatorVar.set(formatFileContent['rowSeparator'])
|
||||
EPOSDataSeparatorText.delete('1.0', TK.END)
|
||||
EPOSDataSeparatorText['state'] = TK.DISABLED
|
||||
EPDataLocalizationLoginRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationLoginRowVar.set(formatFileContent['loginRow'])
|
||||
EPDataLocalizationLoginPosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationLoginPosInRowVar.set(formatFileContent['loginPositionInRow'])
|
||||
EPDataLocalizationFnameRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationFnameRowVar.set(formatFileContent['fnameRow'])
|
||||
EPDataLocalizationFnamePosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationFnamePosInRowVar.set(formatFileContent['fnamePositionInRow'])
|
||||
EPDataLocalizationLnameRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationLnameRowVar.set(formatFileContent['lnameRow'])
|
||||
EPDataLocalizationLnamePosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationLnamePosInRowVar.set(formatFileContent['lnamePositionInRow'])
|
||||
EPDataLocalizationSchoolRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationSchoolRowVar.set(formatFileContent['schoolRow'])
|
||||
EPDataLocalizationSchoolPosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationSchoolPosInRowVar.set(formatFileContent['schoolPositionInRow'])
|
||||
EPDataLocalizationClassRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationClassRowVar.set(formatFileContent['classRow'])
|
||||
EPDataLocalizationClassPosInRowSpinbox['state'] = TK.DISABLED
|
||||
EPDataLocalizationClassPosInRowVar.set(formatFileContent['classPositionInRow'])
|
||||
editingPresetSaveButton['state'] = TK.DISABLED
|
||||
editingPresetCancelButton['state'] = TK.DISABLED
|
||||
loadingList['values'] = tuple(FMT.getList())
|
||||
editingPresetSave()
|
||||
else:
|
||||
return
|
||||
editingPresetSaveButton = TKttk.Button(editingPresetButtonsFrame)
|
||||
editingPresetSaveButton.config(command = editingPresetSaveAction)
|
||||
editingPresetSaveButton.config(command = editingPresetSaveButtonAction)
|
||||
editingPresetSaveButton.config(state = TK.DISABLED)
|
||||
editingPresetSaveButton.config(style = 'button1.TButton')
|
||||
editingPresetSaveButton.config(width = GUI.R()['editingPresetSaveButtonWidth'])
|
||||
@@ -1466,10 +1507,7 @@ def window():
|
||||
loadingButton['state'] = TK.NORMAL
|
||||
EPOSTypeStudentRadiobutton['state'] = TK.DISABLED
|
||||
EPOSTypeTeacherRadiobutton['state'] = TK.DISABLED
|
||||
if formatFileContent['student']:
|
||||
EPOSTypeVar.set('s')
|
||||
else:
|
||||
EPOSTypeVar.set('t')
|
||||
EPOSTypeVar.set(formatFileContent['student'])
|
||||
EPOSPersonSeparatorEntry['state'] = TK.DISABLED
|
||||
EPOSPersonSeparatorVar.set(formatFileContent['personSeparator'])
|
||||
EPOSRowSeparatorEntry['state'] = TK.DISABLED
|
||||
|
||||
Reference in New Issue
Block a user