Source code for fsleyes.actions.clearlayouts

#
# clearlayouts.py - The ClearLayoutsAction class.
#
# Author: Paul McCarthy <pauldmccarthy@gmail.com>
#
"""This module provides the :class:`ClearLayoutsAction`, which allows
the user to clear/delete all saved layouts.
"""


import fsleyes.strings as strings
import fsleyes.layouts as layouts
from . import             base


[docs]class ClearLayoutsAction(base.Action): """The ``ClearLayoutsAction`` allows the user to delete all saved layouts. """
[docs] def __init__(self, overlayList, displayCtx, frame): """Create a ``ClearLayoutsAction``. """ base.Action.__init__( self, overlayList, displayCtx, func=self.__clearLayouts) self.__frame = frame
def __clearLayouts(self): """Deletes all saved layouts. Gets the user to confirm that they want to proceed before doing so. """ import wx dlg = wx.MessageDialog( wx.GetTopLevelWindows()[0], message=strings.messages[self, 'confirmClear'], caption=strings.titles[ self, 'confirmClear'], style=(wx.ICON_WARNING | wx.YES_NO | wx.NO_DEFAULT)) if dlg.ShowModal() != wx.ID_YES: return for l in layouts.getAllLayouts(): layouts.removeLayout(l) self.__frame.refreshLayoutMenu()