11import logging
2- from typing import Literal , Optional
2+ from typing import Optional
33
44from PIL import Image
55from PyQt6 import QtCore
@@ -73,7 +73,7 @@ class QLabelList(QListWidget):
7373 )
7474 render_context : Optional [RenderContext ]
7575 itemWidget : TextDymoLabelWidget
76- dymo_labeler : DymoLabeler
76+ dymo_labeler : Optional [ DymoLabeler ]
7777 h_margin_mm : float
7878 min_label_width_mm : Optional [float ]
7979 justify : str
@@ -89,6 +89,7 @@ def __init__(self, parent=None):
8989 self .setDragDropMode (QAbstractItemView .DragDropMode .InternalMove )
9090
9191 def populate (self ):
92+ assert self .render_context is not None
9293 for item_widget in [TextDymoLabelWidget (self .render_context )]:
9394 item = QListWidgetItem (self )
9495 item .setSizeHint (item_widget .sizeHint ())
@@ -113,7 +114,7 @@ def update_params(
113114 h_margin_mm : float ,
114115 min_label_width_mm : float ,
115116 render_context : RenderContext ,
116- justify : Literal [ "left" , "center" , "right" ] = "center" ,
117+ justify : str = "center" ,
117118 ):
118119 """Update the render context used for rendering the label.
119120
@@ -148,6 +149,8 @@ def _payload_render_engine(self):
148149 return HorizontallyCombinedRenderEngine (render_engines = render_engines )
149150
150151 def render_preview (self ):
152+ assert self .dymo_labeler is not None
153+ assert self .render_context is not None
151154 render_engine = PrintPreviewRenderEngine (
152155 render_engine = self ._payload_render_engine ,
153156 justify = self .justify ,
@@ -165,6 +168,8 @@ def render_preview(self):
165168 self .renderPrintPreviewSignal .emit (bitmap )
166169
167170 def render_print (self ):
171+ assert self .dymo_labeler is not None
172+ assert self .render_context is not None
168173 render_engine = PrintPayloadRenderEngine (
169174 render_engine = self ._payload_render_engine ,
170175 justify = self .justify ,
@@ -174,7 +179,7 @@ def render_print(self):
174179 min_width_px = mm_to_px (self .min_label_width_mm ),
175180 )
176181 try :
177- bitmap , _ = render_engine .render (self .render_context )
182+ bitmap , _ = render_engine .render_with_meta (self .render_context )
178183 except RenderEngineException as err :
179184 crash_msg_box (self , "Render Engine Failed!" , err )
180185 bitmap = EmptyRenderEngine ().render (self .render_context )
@@ -193,6 +198,7 @@ def contextMenuEvent(self, event):
193198 event (QContextMenuEvent): The context menu event.
194199
195200 """
201+ assert self .render_context is not None
196202 contextMenu = QMenu (self )
197203 add_text : Optional [QAction ] = contextMenu .addAction ("Add Text" )
198204 add_qr : Optional [QAction ] = contextMenu .addAction ("Add QR" )
0 commit comments