Skip to content
Snippets Groups Projects
Commit 6b471670 authored by Loloncio's avatar Loloncio
Browse files

Creados archivos para controladores y modelos

Creada la estructura de archivos python para controlar toda la interfaz con patrón MVC.

Actualizado TODO de README.
parent e8d52bcc
No related branches found
No related tags found
No related merge requests found
......@@ -63,7 +63,40 @@ El proyecto constará de una aplicación Python y una app Android. La app Androi
<li><b>General</b></li>
<li>Al pulsar confirmar se cambia de ventana y se pasan las opciones marcadas </li>
</ul>
4. Crear un main que solo tenga la ventana principal y no la clase mainWindow, de esta forma no esta mainWindow siempre en segundo plano
5. Modelo
6. Controladores
3. Defecto.py
<ul>
<li>Se mostrará la info requerida a la derecha de cada opción</li>
<li>Añadir boton para volver al menú principal</li>
</ul>
4. Final.py
<ul>
<li>Aquí se mostraran varios mensajes de carga: Creando Manifest, compilando app, Instalando app y finalmente exito o fallo y mensaje de error en caso de fallo</li>
<li>Debe comprobar que haya un dispositivo adb conectado</li>
<li>Aquí podría ir un emulador android o un botón para abrir uno si fuese posible</li>
</ul>
5. ADB.py
<ul>
<li>Mostrará opciones para hacer con apps firmadas</li>
<li>Comprobar si se conceden permisos dangerous a 2 apps firmadas con mismo certificado</li>
<li>Comprobar si se conceden permisos signature a 2 apps firmadas con mismo certificado</li>
<li>Comprobar que solo se conceden permisos signature a apps con el mismo dertificado</li>
</ul>
6. PermisosMod.py
Guardará una lista con todos los permisos, a que grupo pertenece cada uno y su protection level.
Permitira obtener toda esa información, o solo un permiso con su info.
7. GruposMod.py
Guardará una lista con todos los permisos, a que grupo pertenece cada uno y su protection level.
Permitira obtener toda esa información, o solo un permiso con su info.
8. MenuContr.py
<ul>
<li>Se encargará de abrir las otras vistas</li>
</ul>
9. DefectoContr.py
<ul>
<li>Permitira volver a Menu</li>
<li>Pedira los datos necesarios a los modelos de datos</li>
<li>Permitira ir a la vista Final</li>
</ul>
7. Emulador Android incluido?
4. Crear un main que solo tenga la ventana principal y no la clase mainWindow, de esta forma no esta mainWindow siempre en segundo plano
......@@ -17,6 +17,7 @@ class defecto(ctk.CTkToplevel):
self.minsize(width=1280,height=720)
self.configure(fg_color = "#1E1E1E")
# Declaración e inicialización de variables
frames, scrolls, permisos, grupos, protection, labels = [], [], [], [], [], []
textoPermisos = [
"Permiso1",
......@@ -43,18 +44,20 @@ class defecto(ctk.CTkToplevel):
"Signature"
]
# Fuente que usaremos en esta vista
textFont = ctk.CTkFont(family="Inter", size=30, weight="normal")
# Creación de los frames base para cada lista
for i in range(3):
frames.append(ctk.CTkFrame(master=self,fg_color="#504F4F", corner_radius=10, width = self.WIDTH-10))
# Creación de scrollFrames donde se vera la lista de botones y
# frames donde podremos la información correspondiente al pulsar un boton
for i in range(3):
scrolls.append(ctk.CTkScrollableFrame(master=frames[i],fg_color="#504F4F", corner_radius= 10, width = self.WIDTH/2-20))
frames.append(ctk.CTkFrame(master=frames[i],fg_color="#504F4F", corner_radius= 10, width = self.WIDTH/2-20))
# Creación de los labels que se colocan a la derecha de las listas
for i in range(3):
labels.append(ctk.CTkLabel(frames[i+3], text="", text_color="white", fg_color="#504F4F",
corner_radius=10, font=textFont))
labels.append(ctk.CTkLabel(frames[i], text="", text_color="white", fg_color="#504F4F",
corner_radius=10, justify="center", font=textFont, width = self.WIDTH/2-20))
for i in textoPermisos:
permisos.append(ctk.CTkButton(scrolls[0], text=i, text_color="white", fg_color="#504F4F",
......@@ -72,9 +75,9 @@ class defecto(ctk.CTkToplevel):
for i in range(3):
frames[i].pack(padx=5, pady=5, fill="x",expand = True)
for i in range(3):
scrolls[i].grid(row = 0, column=0, padx = 5, sticky="e")
frames[i+3].grid(row = 0, column=1,padx = 5, sticky="w")
for i, j in zip(scrolls, labels):
i.grid(row = 0, column=0, padx = 5, sticky="e")
j.grid(row = 0, column=1,padx = 5, sticky="nw")
for permiso in permisos:
permiso.pack(fill="x", padx = 3)
......@@ -85,11 +88,8 @@ class defecto(ctk.CTkToplevel):
for level in protection:
level.pack(fill="x", padx = 3)
for label in labels:
label.pack(fill="x", padx = 3, sticky="nw")
self.bind("<Configure>", lambda event, frames = frames, scrolls = scrolls,
self=self: self.ajustarTamanos(self, frames, scrolls))
self.bind("<Configure>", lambda event, frames = frames, scrolls = scrolls, labels= labels,
self=self: self.ajustarTamanos(self, frames, scrolls, labels))
def cerrar(self):
......@@ -113,7 +113,7 @@ class defecto(ctk.CTkToplevel):
return
# Función para ajustar los tamaños al cambiar el tamaño de la ventana
def ajustarTamanos(self, event, frames, scrolls):
def ajustarTamanos(self, event, frames, scrolls, labels):
anchoVentana = self.winfo_width() # Ancho de la ventana
altoVentana = self.winfo_height() # Alto de la ventana
if(self.HEIGHT != altoVentana or self.WIDTH != anchoVentana):
......@@ -122,7 +122,7 @@ class defecto(ctk.CTkToplevel):
for i in range(3):
frames[i].configure(width = anchoVentana-10,height=altoVentana/3-10)
frames[i+3].configure(width = (anchoVentana/2)-20,height=altoVentana/3-10)
labels[i].configure(width = anchoVentana-10,height=altoVentana/3-10)
scrolls[i].configure(width = (anchoVentana/2)-20,height=altoVentana/3-10)
# Actualiza la ventana
self.update_idletasks()
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment