updates to several panels to account for a lack of heater_bed

This commit is contained in:
Jordan 2020-12-28 17:08:17 -05:00
parent 63764ee32e
commit 9d89311bcc
5 changed files with 42 additions and 31 deletions

View File

@ -234,6 +234,10 @@ class Printer:
def get_tool_number(self, tool):
return self.tools.index(tool)
def has_heated_bed(self):
if "heater_bed" in self.devices:
return True
def section_exists(self, section):
if section in self.get_config_section_list():
return True

View File

@ -104,15 +104,16 @@ class JobStatusPanel(ScreenPanel):
self.labels[extruder + '_box'].add(self.labels[extruder])
i += 1
temp_grid = self._gtk.HomogeneousGrid()
self.current_extruder = self._printer.get_stat("toolhead","extruder")
temp_grid.attach(self.labels[self.current_extruder + '_box'], 0, 0, 1, 1)
if self._printer.has_heated_bed():
heater_bed = self._gtk.Image("bed.svg", None, .6, .6)
self.labels['heater_bed'] = Gtk.Label(label="")
self.labels['heater_bed'].get_style_context().add_class("printing-info")
heater_bed_box = Gtk.Box(spacing=0)
heater_bed_box.add(heater_bed)
heater_bed_box.add(self.labels['heater_bed'])
temp_grid = self._gtk.HomogeneousGrid()
self.current_extruder = self._printer.get_stat("toolhead","extruder")
temp_grid.attach(self.labels[self.current_extruder + '_box'], 0, 0, 1, 1)
temp_grid.attach(heater_bed_box, 1, 0, 1, 1)
self.labels['temp_grid'] = temp_grid
@ -347,6 +348,7 @@ class JobStatusPanel(ScreenPanel):
return
_ = self.lang.gettext
if self._printer.has_heated_bed():
self.update_temp("heater_bed",
self._printer.get_dev_stat("heater_bed","temperature"),
self._printer.get_dev_stat("heater_bed","target")

View File

@ -32,6 +32,7 @@ class MainPanel(MenuPanel):
eq_grid.attach(self.labels[x], i%2, i/2, 1, 1)
i += 1
if self._printer.has_heated_bed():
self.labels['heater_bed'] = self._gtk.ButtonImage("bed", self._gtk.formatTemperatureString(0, 0))
width = 2 if i > 1 else 1

View File

@ -33,6 +33,7 @@ class PreheatPanel(ScreenPanel):
eq_grid.attach(self.labels[x], i%2, i/2, 1, 1)
i += 1
if self._printer.has_heated_bed():
self.labels["heater_bed"] = self._gtk.ToggleButtonImage("bed", self._gtk.formatTemperatureString(0, 0))
self.labels["heater_bed"].connect('clicked', self.select_heater, "heater_bed")
width = 2 if i > 1 else 1
@ -69,7 +70,7 @@ class PreheatPanel(ScreenPanel):
if x not in self.active_heaters:
self.select_heater(None, x)
if "heater_bed" not in self.active_heaters:
if self._printer.has_heated_bed() and "heater_bed" not in self.active_heaters:
self.select_heater(None, "heater_bed")
def select_heater(self, widget, heater):
@ -108,6 +109,7 @@ class PreheatPanel(ScreenPanel):
if action != "notify_status_update":
return
if self._printer.has_heated_bed():
self.update_temp("heater_bed",
self._printer.get_dev_stat("heater_bed","temperature"),
self._printer.get_dev_stat("heater_bed","target")

View File

@ -39,6 +39,7 @@ class TemperaturePanel(ScreenPanel):
print ("Primary tool: " + primary_tool)
self.labels[primary_tool].get_style_context().add_class('button_active')
if self._printer.has_heated_bed():
self.labels["heater_bed"] = self._gtk.ToggleButtonImage("bed", self._gtk.formatTemperatureString(0, 0))
self.labels["heater_bed"].connect('clicked', self.select_heater, "heater_bed")
width = 2 if i > 1 else 1
@ -181,6 +182,7 @@ class TemperaturePanel(ScreenPanel):
if action != "notify_status_update":
return
if self._printer.has_heated_bed():
self.update_temp("heater_bed",
self._printer.get_dev_stat("heater_bed","temperature"),
self._printer.get_dev_stat("heater_bed","target")