From b3fecbd7362f03a344fe7f1c8fc945a8cbf4936c Mon Sep 17 00:00:00 2001 From: Paul McCarthy <pauld.mccarthy@gmail.com> Date: Fri, 28 Aug 2015 09:50:06 +0100 Subject: [PATCH] Moved FSLDirDialog class into dialog module, and removed fsldirdlg module. --- fsl/__init__.py | 2 +- fsl/utils/dialog.py | 78 ++++++++++++++++++++++++++++++++++ fsl/utils/fsldirdlg.py | 95 ------------------------------------------ 3 files changed, 79 insertions(+), 96 deletions(-) delete mode 100644 fsl/utils/fsldirdlg.py diff --git a/fsl/__init__.py b/fsl/__init__.py index 848803d38..a2b718f27 100644 --- a/fsl/__init__.py +++ b/fsl/__init__.py @@ -342,7 +342,7 @@ def fslDirWarning(toolName, fslEnvActive): if haveGui: import wx - from fsl.utils.fsldirdlg import FSLDirDialog + from fsl.utils.dialog import FSLDirDialog def warn(): dlg = FSLDirDialog(None, toolName) diff --git a/fsl/utils/dialog.py b/fsl/utils/dialog.py index 38a8bfbeb..29969e071 100644 --- a/fsl/utils/dialog.py +++ b/fsl/utils/dialog.py @@ -351,3 +351,81 @@ class TextEditDialog(wx.Dialog): def GetText(self): return self.__textEdit.GetValue() + + +class FSLDirDialog(wx.Dialog): + + def __init__(self, parent, toolName): + + wx.Dialog.__init__(self, parent, title=strings.titles[self]) + + self.__fsldir = None + self.__icon = wx.StaticBitmap(self) + self.__message = wx.StaticText( self, style=wx.ALIGN_CENTRE) + self.__locate = wx.Button( self, id=wx.ID_OK) + self.__skip = wx.Button( self, id=wx.ID_CANCEL) + + icon = wx.ArtProvider.GetMessageBoxIcon(wx.ICON_EXCLAMATION) + bmp = wx.EmptyBitmap(icon.GetWidth(), icon.GetHeight()) + bmp.CopyFromIcon(icon) + + self.__icon.SetBitmap(bmp) + self.__message.SetLabel( + strings.messages[self, 'FSLDirNotSet'].format(toolName)) + self.__locate .SetLabel(strings.labels[self, 'locate']) + self.__skip .SetLabel(strings.labels[self, 'skip']) + + self.__skip .Bind(wx.EVT_BUTTON, self.__onSkip) + self.__locate.Bind(wx.EVT_BUTTON, self.__onLocate) + + self.__sizer = wx.BoxSizer(wx.VERTICAL) + self.__labelSizer = wx.BoxSizer(wx.HORIZONTAL) + self.__buttonSizer = wx.BoxSizer(wx.HORIZONTAL) + + self.__labelSizer.Add(self.__icon, flag=wx.ALL | wx.CENTRE, + border=20) + self.__labelSizer.Add(self.__message, + flag=wx.ALL | wx.CENTRE, + proportion=1, + border=20) + + self.__buttonSizer.AddStretchSpacer() + self.__buttonSizer.Add(self.__locate, + flag=wx.ALL | wx.CENTRE, + border=10, + proportion=1) + self.__buttonSizer.Add(self.__skip, + flag=wx.ALL | wx.CENTRE, + border=10, + proportion=1) + self.__buttonSizer.Add((20, -1)) + + self.__sizer.Add(self.__labelSizer, flag=wx.EXPAND, proportion=1) + self.__sizer.Add(self.__buttonSizer, flag=wx.EXPAND) + self.__sizer.Add((-1, 20)) + + self.SetSizer(self.__sizer) + self.Fit() + + + def GetFSLDir(self): + return self.__fsldir + + + def __onSkip(self, ev): + self.EndModal(wx.ID_CANCEL) + + + def __onLocate(self, ev): + + dlg = wx.DirDialog( + self, + message=strings.messages[self, 'selectFSLDir'], + style=wx.DD_DEFAULT_STYLE | wx.DD_DIR_MUST_EXIST) + + if dlg.ShowModal() != wx.ID_OK: + self.EndModal(wx.ID_CANCEL) + + self.__fsldir = dlg.GetPath() + + self.EndModal(wx.ID_OK) diff --git a/fsl/utils/fsldirdlg.py b/fsl/utils/fsldirdlg.py deleted file mode 100644 index 86fe646d3..000000000 --- a/fsl/utils/fsldirdlg.py +++ /dev/null @@ -1,95 +0,0 @@ -#!/usr/bin/env python -# -# fsldirdlg.py -# -# -# Author: Paul McCarthy <pauldmccarthy@gmail.com> -# -""" -This module defines a dialog which can be used, when the ``$FSLDIR`` -environment variable is not set, to prompt the user to identify the -FSL installation location. -""" - - -import wx - -import fsl.data.strings as strings - - -class FSLDirDialog(wx.Dialog): - - def __init__(self, parent, toolName): - - wx.Dialog.__init__(self, parent, title=strings.titles[self]) - - self.__fsldir = None - self.__icon = wx.StaticBitmap(self) - self.__message = wx.StaticText( self, style=wx.ALIGN_CENTRE) - self.__locate = wx.Button( self, id=wx.ID_OK) - self.__skip = wx.Button( self, id=wx.ID_CANCEL) - - icon = wx.ArtProvider.GetMessageBoxIcon(wx.ICON_EXCLAMATION) - bmp = wx.EmptyBitmap(icon.GetWidth(), icon.GetHeight()) - bmp.CopyFromIcon(icon) - - self.__icon.SetBitmap(bmp) - self.__message.SetLabel( - strings.messages[self, 'FSLDirNotSet'].format(toolName)) - self.__locate .SetLabel(strings.labels[self, 'locate']) - self.__skip .SetLabel(strings.labels[self, 'skip']) - - self.__skip .Bind(wx.EVT_BUTTON, self.__onSkip) - self.__locate.Bind(wx.EVT_BUTTON, self.__onLocate) - - self.__sizer = wx.BoxSizer(wx.VERTICAL) - self.__labelSizer = wx.BoxSizer(wx.HORIZONTAL) - self.__buttonSizer = wx.BoxSizer(wx.HORIZONTAL) - - self.__labelSizer.Add(self.__icon, flag=wx.ALL | wx.CENTRE, - border=20) - self.__labelSizer.Add(self.__message, - flag=wx.ALL | wx.CENTRE, - proportion=1, - border=20) - - self.__buttonSizer.AddStretchSpacer() - self.__buttonSizer.Add(self.__locate, - flag=wx.ALL | wx.CENTRE, - border=10, - proportion=1) - self.__buttonSizer.Add(self.__skip, - flag=wx.ALL | wx.CENTRE, - border=10, - proportion=1) - self.__buttonSizer.Add((20, -1)) - - self.__sizer.Add(self.__labelSizer, flag=wx.EXPAND, proportion=1) - self.__sizer.Add(self.__buttonSizer, flag=wx.EXPAND) - self.__sizer.Add((-1, 20)) - - self.SetSizer(self.__sizer) - self.Fit() - - - def GetFSLDir(self): - return self.__fsldir - - - def __onSkip(self, ev): - self.EndModal(wx.ID_CANCEL) - - - def __onLocate(self, ev): - - dlg = wx.DirDialog( - self, - message=strings.messages[self, 'selectFSLDir'], - style=wx.DD_DEFAULT_STYLE | wx.DD_DIR_MUST_EXIST) - - if dlg.ShowModal() != wx.ID_OK: - self.EndModal(wx.ID_CANCEL) - - self.__fsldir = dlg.GetPath() - - self.EndModal(wx.ID_OK) -- GitLab