@@ -463,9 +463,10 @@ def _update_default_paths(self, path=None):
463463 self .extract_dataset_paths (self .validation_filepaths ),
464464 self .results_path ,
465465 ]
466- return
466+ return utils . parse_default_path ( self . _default_path )
467467 if Path (path ).is_dir ():
468468 self ._default_path .append (path )
469+ return utils .parse_default_path (self ._default_path )
469470
470471 @staticmethod
471472 def extract_dataset_paths (paths ):
@@ -476,8 +477,43 @@ def extract_dataset_paths(paths):
476477 return None
477478 return str (Path (paths [0 ]).parent )
478479
480+
479481 def _check_all_filepaths (self ):
480482 self .image_filewidget .check_ready ()
481483 self .labels_filewidget .check_ready ()
482484 self .results_filewidget .check_ready ()
483485 self .unsupervised_images_filewidget .check_ready ()
486+
487+ class BasePluginUtils (BasePluginFolder ):
488+ """Small subclass used to have centralized widgets layer and result path selection in utilities"""
489+
490+ save_path = None
491+ utils_default_paths = [Path .home () / "cellseg3d" ]
492+
493+ def __init__ (
494+ self ,
495+ viewer : napari .viewer .Viewer ,
496+ parent = None ,
497+ loads_images = True ,
498+ loads_labels = True ,
499+ ):
500+ super ().__init__ (
501+ viewer = viewer ,
502+ loads_images = loads_images ,
503+ loads_labels = loads_labels ,
504+ parent = parent ,
505+ )
506+ if parent is not None :
507+ self .setParent (parent )
508+ self .parent = parent
509+
510+ self .layer = None
511+ """Should contain the layer associated with the results of the utility widget"""
512+
513+ def _update_default_paths (self , path = None ):
514+ """Override to also update utilities' pool of default paths"""
515+ default_path = super ()._update_default_paths (path )
516+ logger .debug (f"Trying to update default with { default_path } " )
517+ if default_path is not None :
518+ self .utils_default_paths .append (default_path )
519+
0 commit comments