screen: simplify panel loading

this removes create_panel function from panels and mandates a class name Panel

remove panel_type param and only use a panel_name that is it's filename

remove load_panel dict

always reinit panel, (simpler and safer but slower)
This commit is contained in:
alfrix
2023-07-21 19:35:19 -03:00
committed by Alfredo Monclus
parent cb5b77303f
commit 8d9236a2df
30 changed files with 69 additions and 239 deletions

View File

@@ -1,21 +1,14 @@
import logging
import gi
import json
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk
from jinja2 import Template
from ks_includes.screen_panel import ScreenPanel
def create_panel(*args, **kwargs):
return MenuPanel(*args, **kwargs)
class MenuPanel(ScreenPanel):
class Panel(ScreenPanel):
j2_data = None
def __init__(self, screen, title, items=None):
@@ -86,7 +79,7 @@ class MenuPanel(ScreenPanel):
if item['panel'] is not None:
panel = self._screen.env.from_string(item['panel']).render(printer)
b.connect("clicked", self.menu_item_clicked, panel, item)
b.connect("clicked", self.menu_item_clicked, item)
elif item['method'] is not None:
params = {}