37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
import gi
|
|
|
|
gi.require_version("Gtk", "3.0")
|
|
from gi.repository import Gtk, Gdk, GLib
|
|
|
|
from KlippyGtk import KlippyGtk
|
|
from KlippyGcodes import KlippyGcodes
|
|
|
|
class ScreenPanel:
|
|
def __init__(self, screen):
|
|
self._screen = screen
|
|
self.labels = {}
|
|
|
|
|
|
def initialize(self, panel_name):
|
|
# Create gtk items here
|
|
return
|
|
|
|
def get(self):
|
|
# Return gtk item
|
|
return self.panel
|
|
|
|
def menu_item_clicked(self, widget, panel, item):
|
|
print("### Creating panel "+ item['panel'])
|
|
if "items" in item:
|
|
self._screen.show_panel(self._screen._cur_panels[-1] + '_' + item['name'], item['panel'], 1, False, items=item['items'])
|
|
return
|
|
self._screen.show_panel(self._screen._cur_panels[-1] + '_' + item['name'], item['panel'], 1, False)
|
|
|
|
def update_image_text(self, label, text):
|
|
if label in self.labels and 'l' in self.labels[label]:
|
|
self.labels[label]['l'].set_text(text)
|
|
|
|
def update_temp(self, dev, temp, target):
|
|
if dev in self.labels:
|
|
self.labels[dev].set_label(KlippyGtk.formatTemperatureString(temp, target))
|