Source code for fsleyes.actions.loadoverlayfromdir

#
# loadoverlayfromdir.py - Action which allows the user to load overlays
#                         specified with a directory.
#
# Author: Paul McCarthy <pauldmccarthy@gmail.com>
#
"""This module provides the :class:`LoadOverlayFromDirAction`, which allows
the user to load overlay files, specified with a directory, into the
:class:`.OverlayList`.
"""


import fsleyes.autodisplay as autodisplay
from . import                 loadoverlay
from . import                 base


[docs]class LoadOverlayFromDirAction(base.Action): """The ``LoadOverlayFromDirAction`` allows the user to add overlays to the :class:`.OverlayList`. This functionality is provided by functions in the :mod:`.loadoverlay` module. """
[docs] def __init__(self, overlayList, displayCtx, frame): """Create an ``OpenDirAction``. :arg overlayList: The :class:`.OverlayList`. :arg displayCtx: The :class:`.DisplayContext`. :arg frame: The :class:`.FSLeyesFrame`. """ base.Action.__init__(self, overlayList, displayCtx, self.__openDir)
def __openDir(self): """Calls the :func:`.loadoverlay.interactiveLoadOverlays` method. If overlays were added, updates the :attr:`.DisplayContext.selectedOverlay` accordingly. If :attr:`.DisplayContext.autoDisplay` is ``True``, uses the :mod:`.autodisplay` module to configure the display properties of each new overlay. """ def onLoad(paths, overlays): if len(overlays) == 0: return self.overlayList.extend(overlays) self.displayCtx.selectedOverlay = self.displayCtx.overlayOrder[-1] if self.displayCtx.autoDisplay: for overlay in overlays: autodisplay.autoDisplay(overlay, self.overlayList, self.displayCtx) loadoverlay.interactiveLoadOverlays( dirdlg=True, onLoad=onLoad, inmem=self.displayCtx.loadInMemory)