@@ -105,20 +105,18 @@ def hash_model(model_path):
105105
106106@dataclass (frozen = True )
107107class PlotRequest :
108- request_id : int
109108 view_snapshot : "PlotView"
110109 view_params : Dict [str , object ]
111110
112111
113112@dataclass (frozen = True )
114113class PlotWorkItem :
115- request_id : int
116114 view_params : Dict [str , object ]
117115
118116
119117class PlotWorker (QObject ):
120- finished = Signal (int , object , object )
121- error = Signal (int , str )
118+ finished = Signal (object , object , object )
119+ error = Signal (str )
122120
123121 @Slot (object )
124122 def generate_maps (self , work_item : PlotWorkItem ):
@@ -133,16 +131,16 @@ def generate_maps(self, work_item: PlotWorkItem):
133131 view_param .color_overlaps = params ["color_overlaps" ]
134132 ids_map = openmc .lib .id_map (view_param )
135133 properties = openmc .lib .property_map (view_param )
136- self .finished .emit (work_item .request_id , ids_map , properties )
134+ self .finished .emit (work_item .view_params , ids_map , properties )
137135 except Exception as exc :
138- self .error .emit (work_item . request_id , str (exc ))
136+ self .error .emit (str (exc ))
139137
140138
141139class PlotManager (QObject ):
142- plot_started = Signal (int )
143- plot_queued = Signal (int )
144- plot_finished = Signal (int , object , object , object )
145- plot_error = Signal (int , str )
140+ plot_started = Signal ()
141+ plot_queued = Signal ()
142+ plot_finished = Signal (object , object , object , object )
143+ plot_error = Signal (str )
146144 plot_idle = Signal ()
147145 work_requested = Signal (object )
148146
@@ -159,12 +157,11 @@ def __init__(self):
159157
160158 self ._pending_request = None
161159 self ._in_flight_request = None
162- self ._latest_request_id = 0
163- self ._next_request_id = 1
160+ self ._latest_view_params = None
164161
165162 @property
166- def latest_request_id (self ):
167- return self ._latest_request_id
163+ def latest_view_params (self ):
164+ return self ._latest_view_params
168165
169166 @property
170167 def is_busy (self ):
@@ -175,22 +172,18 @@ def has_pending(self):
175172 return self ._pending_request is not None
176173
177174 def enqueue (self , view_snapshot , view_params ):
178- request = PlotRequest (self ._next_request_id , view_snapshot , view_params )
179- self ._next_request_id += 1
180- self ._latest_request_id = request .request_id
175+ request = PlotRequest (view_snapshot , view_params )
176+ self ._latest_view_params = view_params
181177 if self ._in_flight_request is None :
182178 self ._pending_request = request
183179 self ._start_next ()
184- return request . request_id , True
180+ return True
185181 self ._pending_request = request
186- self .plot_queued .emit (request . request_id )
187- return request . request_id , False
182+ self .plot_queued .emit ()
183+ return False
188184
189- def new_request_id (self ):
190- request_id = self ._next_request_id
191- self ._next_request_id += 1
192- self ._latest_request_id = request_id
193- return request_id
185+ def set_latest_view_params (self , view_params ):
186+ self ._latest_view_params = view_params
194187
195188 def clear_pending (self ):
196189 self ._pending_request = None
@@ -227,27 +220,26 @@ def _start_next(self):
227220 return
228221 self ._in_flight_request = self ._pending_request
229222 self ._pending_request = None
230- self .plot_started .emit (self ._in_flight_request .request_id )
231- work_item = PlotWorkItem (self ._in_flight_request .request_id ,
232- self ._in_flight_request .view_params )
223+ self .plot_started .emit ()
224+ work_item = PlotWorkItem (self ._in_flight_request .view_params )
233225 self .work_requested .emit (work_item )
234226
235- @Slot (int , object , object )
236- def _on_worker_finished (self , request_id , ids_map , properties ):
227+ @Slot (object , object , object )
228+ def _on_worker_finished (self , view_params , ids_map , properties ):
237229 request = self ._in_flight_request
238230 self ._in_flight_request = None
239231 if request is not None :
240- self .plot_finished .emit (request_id , request .view_snapshot ,
241- ids_map , properties )
232+ self .plot_finished .emit (request .view_snapshot ,
233+ view_params , ids_map , properties )
242234 if self ._pending_request is not None :
243235 self ._start_next ()
244236 else :
245237 self .plot_idle .emit ()
246238
247- @Slot (int , str )
248- def _on_worker_error (self , request_id , message ):
239+ @Slot (str )
240+ def _on_worker_error (self , message ):
249241 self ._in_flight_request = None
250- self .plot_error .emit (request_id , message )
242+ self .plot_error .emit (message )
251243 if self ._pending_request is not None :
252244 self ._start_next ()
253245 else :
0 commit comments