better grid

This commit is contained in:
Mylloon 2023-06-01 16:27:41 +02:00
parent a6b68e31d8
commit a1f2410294
Signed by: Anri
GPG key ID: A82D63DFF8D1317F

View file

@ -13,6 +13,8 @@ class GUI:
self.parent.resizable(False, False)
self.f = Frame(self.parent)
self.columnspan = 3
def start(self) -> None:
"""Affiche la fenêtre"""
self._main_screen()
@ -64,7 +66,7 @@ class GUI:
self.parent,
text=f"{self.name} est une application qui permet de lire "
"plus facilement clang-format",
).grid(column=0, row=0, columnspan=2)
).grid(column=0, row=0, columnspan=self.columnspan)
start = 2
Button(
@ -76,7 +78,7 @@ class GUI:
self.parent,
text="Ouvrir un dossier",
command=lambda: self._open_directory(start),
).grid(column=1, row=1)
).grid(column=self.columnspan - 1, row=1)
def _show_info(self, name_err: str, msg: str) -> None:
title = f"{name_err} - {self.name}"
@ -98,10 +100,14 @@ class GUI:
data.append((file, parse_clang_format_output(clang_format_output)))
self._pager(1, data, start_row)
def _pager(self, num_page: int, errors: list, start_row: int) -> None:
def _reset_frame(self) -> None:
"""Reset frame"""
self.f.destroy()
self.f = Frame(self.parent)
self.f.grid(columnspan=2)
self.f.grid(columnspan=self.columnspan)
def _pager(self, num_page: int, errors: list, start_row: int) -> None:
self._reset_frame()
idx = start_row
elem_per_page = 5
@ -121,23 +127,26 @@ class GUI:
command=lambda: self._show_info(
error.warning_message, error.warning_content
),
).grid(column=0, row=idx, columnspan=2)
).grid(column=0, row=idx, columnspan=self.columnspan)
idx += 1
else:
Label(
self.f,
bg="MediumSpringGreen",
text=f"Aucun avertissement trouvé dans {file}.",
).grid(column=0, row=idx, columnspan=2)
).grid(column=0, row=idx, columnspan=self.columnspan)
idx += 1
Button(
self.f,
text="Page précédente <",
text="< Page précédente",
command=lambda: print("avant"),
).grid(column=0, row=idx)
Label(
self.f, text=f"Page {num_page}/{round(len(errors) / elem_per_page)}"
).grid(column=1, row=idx)
Button(
self.f,
text="Page suivante >",
command=lambda: print("apres"),
).grid(column=1, row=idx)
).grid(column=2, row=idx)