panels: remove initialize from the panels that do not have a menu

This commit is contained in:
alfrix 2022-11-17 07:53:17 -03:00
parent 972a09df41
commit 45ab86204b
29 changed files with 48 additions and 98 deletions

View File

@ -31,10 +31,6 @@ class ScreenPanel:
self._show_heater_power = self._config.get_main_config().getboolean('show_heater_power', False)
def initialize(self, panel_name):
# Create gtk items here
return
def emergency_stop(self, widget):
if self._config.get_main_config().getboolean('confirm_estop', False):
self._screen._confirm_send_action(widget, _("Are you sure you want to run Emergency Stop?"),

View File

@ -112,10 +112,7 @@ class BasePanel(ScreenPanel):
# Layout is and content are on screen_panel
self.layout.add(self.main_grid)
def initialize(self, panel_name):
self.update_time()
return
def show_heaters(self, show=True):
try:

View File

@ -18,16 +18,12 @@ class BedLevelPanel(ScreenPanel):
def __init__(self, screen, title, back=True):
super().__init__(screen, title, back)
self.response_count = 0
self.panel_name = ""
self.screw_dict = {}
self.screws = []
self.y_cnt = 0
self.x_cnt = 0
self.x_offset = 0
self.y_offset = 0
def initialize(self, panel_name):
self.panel_name = panel_name
self.labels['dm'] = self._gtk.ButtonImage("motor-off", _("Disable XY"), "color3")
self.labels['dm'].connect("clicked", self.disable_motors)
screw_positions = []

View File

@ -22,9 +22,6 @@ class BedMeshPanel(ScreenPanel):
self.profiles = {}
self.show_create = False
self.active_mesh = None
def initialize(self, panel_name):
addprofile = self._gtk.ButtonImage("increase", " " + _("Add profile"), "color1", .66, Gtk.PositionType.LEFT, 1)
addprofile.connect("clicked", self.show_create_profile)
addprofile.set_hexpand(True)

View File

@ -27,8 +27,6 @@ class ConsolePanel(ScreenPanel):
super().__init__(screen, title, back)
self.autoscroll = True
self.hidetemps = True
def initialize(self, panel_name):
self._screen._ws.send_method("server.gcode_store", {"count": 100}, self.gcode_response)
o1_lbl = Gtk.Label(_("Auto-scroll"))

View File

@ -11,7 +11,8 @@ def create_panel(*args):
class ExamplePanel(ScreenPanel):
def initialize(self, panel_name):
def __init__(self, screen, title, back=True):
super().__init__(screen, title, back)
# Create gtk items here

View File

@ -29,8 +29,6 @@ class ExcludeObjectPanel(ScreenPanel):
logging.info(f'Excluded: {self.excluded_objects}')
self.objects = self._printer.get_stat("exclude_object", "objects")
self.labels['map'] = None
def initialize(self, panel_name):
for obj in self.objects:
logging.info(f"Adding {obj['name']}")
self.add_object(obj["name"])

View File

@ -18,7 +18,6 @@ class ExtrudePanel(ScreenPanel):
def __init__(self, screen, title, back=True):
super().__init__(screen, title, back)
self.current_extruder = self._printer.get_stat("toolhead", "extruder")
macros = self._screen.printer.get_gcode_macros()
self.load_filament = any("LOAD_FILAMENT" in macro.upper() for macro in macros)
self.unload_filament = any("UNLOAD_FILAMENT" in macro.upper() for macro in macros)
@ -40,8 +39,6 @@ class ExtrudePanel(ScreenPanel):
self.distance = int(self.distances[1])
self.speed = int(self.speeds[1])
def initialize(self, panel_name):
self.labels['extrude'] = self._gtk.ButtonImage("extrude", _("Extrude"), "color4")
self.labels['extrude'].connect("clicked", self.extrude, "+")
self.labels['load'] = self._gtk.ButtonImage("arrow-down", _("Load"), "color3")

View File

@ -16,8 +16,8 @@ CHANGEABLE_FANS = ["fan", "fan_generic"]
class FanPanel(ScreenPanel):
def initialize(self, panel_name):
def __init__(self, screen, title, back=True):
super().__init__(screen, title, back)
self.fan_speed = {}
self.user_selecting = False
self.devices = {}

View File

@ -21,10 +21,8 @@ class FineTunePanel(ScreenPanel):
percent_delta = percent_deltas[-2]
speed = extrusion = 100
def initialize(self, panel_name):
logging.debug("FineTunePanel")
def __init__(self, screen, title, back=True):
super().__init__(screen, title, back)
print_cfg = self._config.get_printer_config(self._screen.connected_printer)
if print_cfg is not None:
bs = print_cfg.get("z_babystep_values", "0.01, 0.05")

View File

@ -23,8 +23,6 @@ class MacroPanel(ScreenPanel):
self.loaded_macros = []
self.macros = {}
self.menu = ['macros_menu']
def initialize(self, panel_name):
sort = Gtk.Label(_("Sort:"))
sort.set_hexpand(False)

View File

@ -35,10 +35,6 @@ class InputShaperPanel(ScreenPanel):
self.status.set_ellipsize(Pango.EllipsizeMode.END)
self.calibrating_axis = None
self.has_sensor = False
def initialize(self, panel_name):
self.has_sensor = False
self.calibrating_axis = None
auto_calibration_label = Gtk.Label()

View File

@ -19,6 +19,14 @@ def create_panel(*args):
class JobStatusPanel(ScreenPanel):
def __init__(self, screen, title, back=False):
super().__init__(screen, title, False)
self.extrusion_button = None
self.elapsed_button = None
self.left_button = None
self.fan_button = None
self.speed_button = None
self.z_button = None
self.heater_button = None
self.extruder_button = None
self.grid = self._gtk.HomogeneousGrid()
self.grid.set_row_homogeneous(False)
self.pos_z = 0
@ -30,7 +38,7 @@ class JobStatusPanel(ScreenPanel):
self.oheight = 0
self.current_extruder = None
self.fila_section = 0
self.buttons = None
self.buttons = {}
self.filename_label = self.filename = self.prev_pos = self.prev_gpos = None
self.close_timeout = self.vel_timeout = self.animation_timeout = None
self.file_metadata = self.fans = {}
@ -40,8 +48,6 @@ class JobStatusPanel(ScreenPanel):
self.main_status_displayed = True
self.velstore = self.flowstore = []
def initialize(self, panel_name):
data = ['pos_x', 'pos_y', 'pos_z', 'time_left', 'duration', 'slicer_time', 'file_time',
'filament_time', 'est_time', 'speed_factor', 'req_speed', 'max_accel', 'extrude_factor', 'zoffset',
'zoffset', 'filament_used', 'filament_total', 'advance', 'fan', 'layer', 'total_layers', 'height',

View File

@ -16,14 +16,9 @@ class LimitsPanel(ScreenPanel):
def __init__(self, screen, title, back=True):
super().__init__(screen, title, back)
self.limits = {}
self.grid = Gtk.Grid()
self.options = None
self.values = {}
def initialize(self, panel_name):
scroll = self._gtk.ScrolledWindow()
scroll.add(self.grid)
self.grid = Gtk.Grid()
conf = self._printer.get_config_section("printer")
self.options = [
@ -42,6 +37,8 @@ class LimitsPanel(ScreenPanel):
for opt in self.options:
self.add_option(opt['option'], opt['name'], opt['units'], opt['max'])
scroll = self._gtk.ScrolledWindow()
scroll.add(self.grid)
self.content.add(scroll)
self.content.show_all()

View File

@ -18,15 +18,15 @@ class MainPanel(MenuPanel):
super().__init__(screen, title, False)
self.left_panel = None
self.items = None
self.grid = self._gtk.HomogeneousGrid()
self.grid.set_hexpand(True)
self.grid.set_vexpand(True)
self.devices = {}
self.graph_update = None
self.active_heater = None
self.h = 1
self.grid = self._gtk.HomogeneousGrid()
self.grid.set_hexpand(True)
self.grid.set_vexpand(True)
def initialize(self, panel_name, items):
def initialize(self, items):
logging.info("### Making MainMenu")
self.items = items

View File

@ -16,17 +16,17 @@ class MenuPanel(ScreenPanel):
i = 0
j2_data = None
def initialize(self, panel_name, display_name, items):
self.items = items
self.create_menu_items()
def __init__(self, screen, title, back=True):
super().__init__(screen, title, back)
self.items = None
self.grid = self._gtk.HomogeneousGrid()
def initialize(self, items):
self.items = items
self.create_menu_items()
scroll = self._gtk.ScrolledWindow()
scroll.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
scroll.add(self.grid)
self.content.add(scroll)
def activate(self):

View File

@ -21,21 +21,6 @@ class MovePanel(ScreenPanel):
self.settings = {}
self.menu = ['move_menu']
def home(self, widget):
self._screen._ws.klippy.gcode_script(KlippyGcodes.HOME)
def homexy(self, widget):
self._screen._ws.klippy.gcode_script(KlippyGcodes.HOME_XY)
def z_tilt(self, widget):
self._screen._ws.klippy.gcode_script(KlippyGcodes.Z_TILT)
def quad_gantry_level(self, widget):
self._screen._ws.klippy.gcode_script(KlippyGcodes.QUAD_GANTRY_LEVEL)
def initialize(self, panel_name):
grid = self._gtk.HomogeneousGrid()
self.labels['x+'] = self._gtk.ButtonImage("arrow-right", _("X+"), "color1")
self.labels['x+'].connect("clicked", self.move, "X", "+")
self.labels['x-'] = self._gtk.ButtonImage("arrow-left", _("X-"), "color1")
@ -69,6 +54,7 @@ class MovePanel(ScreenPanel):
_("Are you sure you wish to disable motors?"),
"printer.gcode.script", script)
grid = self._gtk.HomogeneousGrid()
if self._screen.vertical_mode:
if self._screen.lang_ltr:
grid.attach(self.labels['x+'], 2, 1, 1, 1)
@ -282,3 +268,15 @@ class MovePanel(ScreenPanel):
self.unload_menu()
return True
return False
def home(self, widget):
self._screen._ws.klippy.gcode_script(KlippyGcodes.HOME)
def homexy(self, widget):
self._screen._ws.klippy.gcode_script(KlippyGcodes.HOME_XY)
def z_tilt(self, widget):
self._screen._ws.klippy.gcode_script(KlippyGcodes.Z_TILT)
def quad_gantry_level(self, widget):
self._screen._ws.klippy.gcode_script(KlippyGcodes.QUAD_GANTRY_LEVEL)

View File

@ -30,10 +30,6 @@ class NetworkPanel(ScreenPanel):
logging.info(f"Found wireless interfaces: {self.wireless_interfaces}")
self.wifi = WifiManager(self.wireless_interfaces[0])
def initialize(self, menu):
grid = self._gtk.HomogeneousGrid()
grid.set_hexpand(True)
# Get IP Address
gws = netifaces.gateways()
if "default" in gws and netifaces.AF_INET in gws["default"]:

View File

@ -13,8 +13,8 @@ def create_panel(*args):
class OutputPinPanel(ScreenPanel):
def initialize(self, panel_name):
def __init__(self, screen, title, back=True):
super().__init__(screen, title, back)
self.devices = {}
# Create a grid for all devices
self.labels['devices'] = Gtk.Grid()

View File

@ -12,8 +12,8 @@ def create_panel(*args):
class PowerPanel(ScreenPanel):
def initialize(self, panel_name):
def __init__(self, screen, title, back=True):
super().__init__(screen, title, back)
self.devices = {}
# Create a grid for all devices

View File

@ -36,8 +36,6 @@ class PrintPanel(ScreenPanel):
self.directories = {}
self.labels['directories'] = {}
self.labels['files'] = {}
def initialize(self, panel_name):
sort = Gtk.Label(_("Sort:"))
sbox = Gtk.Box(spacing=0)
sbox.set_vexpand(False)

View File

@ -15,8 +15,6 @@ def create_panel(*args):
class PrinterSelect(ScreenPanel):
def __init__(self, screen, title, back=True):
super().__init__(screen, title, False)
def initialize(self, panel_name):
printers = self._config.get_printers()
grid = self._gtk.HomogeneousGrid()

View File

@ -20,9 +20,6 @@ class FWRetractionPanel(ScreenPanel):
self.grid = Gtk.Grid()
self.values = {}
self.list = {}
def initialize(self, panel_name):
conf = self._printer.get_config_section("firmware_retraction")
retract_length = float(conf['retract_length']) if 'retract_length' in conf else 0

View File

@ -16,8 +16,6 @@ class SettingsPanel(ScreenPanel):
super().__init__(screen, title, back)
self.printers = self.settings = {}
self.menu = ['settings_menu']
def initialize(self, panel_name):
options = self._config.get_configurable_options().copy()
options.append({"printers": {
"name": _("Printer Connections"),

View File

@ -16,8 +16,6 @@ class SplashScreenPanel(ScreenPanel):
def __init__(self, screen, title, back=True):
super().__init__(screen, title, back)
def initialize(self, panel_name):
image = self._gtk.Image("klipper", self._screen.width / 5, self._screen.height * .5)
self.labels['text'] = Gtk.Label(_("Initializing printer..."))
self.labels['text'].set_line_wrap(True)

View File

@ -33,9 +33,6 @@ class SystemPanel(ScreenPanel):
self.update_status = None
self.update_dialog = None
self.update_prog = None
def initialize(self, panel_name):
grid = self._gtk.HomogeneousGrid()
grid.set_row_homogeneous(False)

View File

@ -30,8 +30,6 @@ class TemperaturePanel(ScreenPanel):
self.preheat_options = self._screen._config.get_preheat_options()
logging.debug(f"Preheat options: {self.preheat_options}")
self.grid = self._gtk.HomogeneousGrid()
def initialize(self, panel_name):
self._gtk.reset_temp_color()
self.grid.attach(self.create_left_panel(), 0, 0, 1, 1)

View File

@ -23,9 +23,6 @@ class ZCalibratePanel(ScreenPanel):
def __init__(self, screen, title, back=True):
super().__init__(screen, title, False)
self.z_offset = None
def initialize(self, panel_name):
for probe_type in self.probe_types:
if self._printer.config_section_exists(probe_type):
self.z_offset = float(self._screen.printer.get_config_section(probe_type)['z_offset'])

View File

@ -309,7 +309,8 @@ class KlipperScreen(Gtk.Window):
if panel_name not in self.panels:
try:
self.panels[panel_name] = self._load_panel(panel_type, self, title)
self.panels[panel_name].initialize(panel_name, **kwargs)
if hasattr(self.panels[panel_name], "initialize"):
self.panels[panel_name].initialize(**kwargs)
except Exception as e:
if panel_name in self.panels:
del self.panels[panel_name]
@ -526,8 +527,7 @@ class KlipperScreen(Gtk.Window):
logging.info("No items in menu, returning.")
return
self.show_panel(f'{self._cur_panels[-1]}_{name}',
"menu", disname, 1, False, display_name=disname, items=menuitems)
self.show_panel(f'{self._cur_panels[-1]}_{name}', "menu", disname, 1, False, items=menuitems)
def _remove_all_panels(self):
self.subscriptions = []