@@ -117,6 +117,22 @@ def set_current_panel(self, panel: str) -> None:
117117 def reset_all (self ) -> None :
118118 """Reset all application data"""
119119
120+ @abc .abstractmethod
121+ def toggle_auto_refresh (self , state : bool ) -> None :
122+ """Toggle auto refresh state.
123+
124+ Args:
125+ state (bool): Auto refresh state
126+ """
127+
128+ @abc .abstractmethod
129+ def toggle_show_titles (self , state : bool ) -> None :
130+ """Toggle show titles state.
131+
132+ Args:
133+ state (bool): Show titles state
134+ """
135+
120136 @abc .abstractmethod
121137 def save_to_h5_file (self , filename : str ) -> None :
122138 """Save to a DataLab HDF5 file.
@@ -465,6 +481,53 @@ def reset_all(self) -> None:
465481 """Reset all application data"""
466482 self ._cdl .reset_all ()
467483
484+ def toggle_auto_refresh (self , state : bool ) -> None :
485+ """Toggle auto refresh state.
486+
487+ Args:
488+ state (bool): Auto refresh state
489+ """
490+ self ._cdl .toggle_auto_refresh (state )
491+
492+ # Returns a context manager to temporarily disable autorefresh
493+ def context_no_refresh (self ) -> Callable :
494+ """Return a context manager to temporarily disable auto refresh.
495+
496+ Returns:
497+ Context manager
498+
499+ Example:
500+
501+ >>> with proxy.context_no_refresh():
502+ ... proxy.add_image("image1", data1)
503+ ... proxy.compute_fft()
504+ ... proxy.compute_wiener()
505+ ... proxy.compute_ifft()
506+ ... # Auto refresh is disabled during the above operations
507+ """
508+
509+ class NoRefreshContextManager :
510+ """Context manager to temporarily disable auto refresh"""
511+
512+ def __init__ (self , cdl : SimpleAbstractCDLControl ) -> None :
513+ self ._cdl = cdl
514+
515+ def __enter__ (self ) -> None :
516+ self ._cdl .toggle_auto_refresh (False )
517+
518+ def __exit__ (self , exc_type , exc_value , traceback ) -> None :
519+ self ._cdl .toggle_auto_refresh (True )
520+
521+ return NoRefreshContextManager (self )
522+
523+ def toggle_show_titles (self , state : bool ) -> None :
524+ """Toggle show titles state.
525+
526+ Args:
527+ state (bool): Show titles state
528+ """
529+ self ._cdl .toggle_show_titles (state )
530+
468531 def save_to_h5_file (self , filename : str ) -> None :
469532 """Save to a DataLab HDF5 file.
470533
0 commit comments