-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall_coops_python.py
More file actions
82 lines (61 loc) · 2.13 KB
/
install_coops_python.py
File metadata and controls
82 lines (61 loc) · 2.13 KB
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
#!/usr/bin/env python
import PySimpleGUI as sg
from principal import Principal
import threading
listaexecutar = []
indexecutar = -1
principal = Principal()
# Funcao que roda a instalacao em sequencia
def runsequencial(lista, window, values):
for objeto in lista:
objeto.configurar(window, values)
# Funcao que gera o a GUI
def Menu():
sg.theme("LightBlue")
sg.SetOptions(text_justification="right")
listainstalacao = []
listaconfiguracao = []
for programa in principal.programas.lista:
listainstalacao.append(programa.gui())
for configuracao in principal.configuracoes.lista:
listaconfiguracao.append(configuracao.gui())
layout = [
[
sg.Frame(
"Instalação:", listainstalacao, font="Any 12", title_color="black"
),
sg.Frame(
"Configuração:", listaconfiguracao, font="Any 12", title_color="black"
),
],
[
sg.Button("Executar"),
sg.Button("Cancelar"),
],
]
window = sg.Window("Arcom Install", font=("Helvetica", 12)).Layout(layout)
# Loop da Gui
while True:
event, values = window.read()
for objeto in principal.programas.lista + principal.configuracoes.lista:
if event == objeto.definicao:
objeto.change_gui(window, values)
if event == objeto.verify_thread_descricao:
objeto.verify_thread(window, values)
if event == "Executar":
if values[objeto.definicao] is True:
if objeto not in listaexecutar:
listaexecutar.append(objeto)
if values[objeto.definicao] is False:
if objeto in listaexecutar:
listaexecutar.remove(objeto)
if event == "Executar":
execucao = threading.Thread(
target=runsequencial, args=(listaexecutar, window, values)
)
execucao.start()
if event == sg.WIN_CLOSED or event == "Cancelar":
break
window.close()
if __name__ == "__main__":
Menu()