- Timestamp:
- May 14, 2018 2:41:00 AM (7 years ago)
- Branches:
- master, magnetic_scatt, release-4.2.2, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, unittest-saveload
- Children:
- e979ad4
- Parents:
- d55e750
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/sasview/sasview.py
rd55e750 r8faef63 43 43 from sas.sasgui.guiframe.gui_manager import SasViewApp 44 44 self.gui = SasViewApp(0) 45 if sys.platform == "darwin": 46 self.check_sasmodels_compiler() 45 47 # Set the application manager for the GUI 46 48 self.gui.set_manager(self) … … 130 132 self.gui.MainLoop() 131 133 134 def check_sasmodels_compiler(self): 135 """ 136 Checking c compiler for sasmodels and raises xcode command line 137 tools for installation 138 """ 139 import wx 140 import subprocess 141 #Generic message box created becuase standard MessageBox is not moveable 142 class GenericMessageBox(wx.Dialog): 143 def __init__(self, parent, text, title = ''): 144 145 wx.Dialog.__init__(self, parent, -1, title = title, 146 size = (360,180), pos=(20,60), 147 style = wx.STAY_ON_TOP | wx.DEFAULT_DIALOG_STYLE) 148 panel = wx.Panel(self, -1) 149 top_row_sizer = wx.BoxSizer(wx.HORIZONTAL) 150 151 error_bitmap = wx.ArtProvider.GetBitmap( 152 wx.ART_ERROR, wx.ART_MESSAGE_BOX 153 ) 154 error_bitmap_ctrl = wx.StaticBitmap(panel, -1) 155 error_bitmap_ctrl.SetBitmap(error_bitmap) 156 label = wx.StaticText(panel, -1, text) 157 top_row_sizer.Add(error_bitmap_ctrl, flag=wx.ALL, border=10) 158 top_row_sizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL) 159 160 #Create the OK button in the bottom row. 161 #ok_button = wx.Button(panel, wx.ID_OK ) 162 ok_button = wx.Button(panel, wx.ID_OK ) 163 self.Bind(wx.EVT_BUTTON, self.on_ok, source=ok_button) 164 ok_button.SetFocus() 165 ok_button.SetDefault() 166 167 sizer = wx.BoxSizer(wx.VERTICAL) 168 sizer.Add(top_row_sizer) 169 sizer.Add(ok_button, flag=wx.ALIGN_CENTER | wx.ALL, border=5) 170 panel.SetSizer(sizer) 171 172 def on_ok(self, event): 173 self.Destroy() 174 logger = logging.getLogger(__name__) 175 try: 176 subprocess.check_output(["cc","--version"], stderr=subprocess.STDOUT) 177 dlg = GenericMessageBox(parent=None, 178 text='No compiler installed. Please follow instruction for\n' 179 'command line developers tools installation and restart SasView\n\n' 180 'Alternatively one can use OpenCL compiler,\n' 181 'which can be setup from menu Fitting->OpenCL Options\n\n', 182 title = 'Compiler Info') 183 dlg.Show(1) 184 185 except subprocess.CalledProcessError as exc: 186 187 dlg = GenericMessageBox(parent=None, 188 text='No compiler installed. Please follow instruction for\n' 189 'command line developers tools installation and restart SasView\n\n' 190 'Alternatively one can use OpenCL compiler,\n' 191 'which can be setup from menu Fitting->OpenCL Options\n\n', 192 title = 'Compiler Info') 193 dlg.ShowModal() 194 195 logger.error("No compiler installed. %s\n"%(exc)) 196 logger.error(traceback.format_exc()) 197 198 #raise RuntimeError("Terminating sasview") 132 199 133 200 def setup_logging(): … … 196 263 backend_bases.FigureCanvasBase.filetypes.pop('pgf', None) 197 264 198 def check_sasmodels_compiler():199 """200 Checking c compiler for sasmodels and raises xcode command line201 tools for installation202 """203 import wx204 import subprocess205 #Generic message box created becuase standard MessageBox is not moveable206 class GenericMessageBox(wx.Dialog):207 def __init__(self, parent, text, title = ''):208 wx.Dialog.__init__(self, parent, -1, title = title,209 size = (360,180), pos=(20,20),210 style = wx.DEFAULT_DIALOG_STYLE )211 panel = wx.Panel(self, -1)212 top_row_sizer = wx.BoxSizer(wx.HORIZONTAL)213 214 error_bitmap = wx.ArtProvider.GetBitmap(215 wx.ART_ERROR, wx.ART_MESSAGE_BOX216 )217 error_bitmap_ctrl = wx.StaticBitmap(panel, -1)218 error_bitmap_ctrl.SetBitmap(error_bitmap)219 label = wx.StaticText(panel, -1, text)220 top_row_sizer.Add(error_bitmap_ctrl, flag=wx.ALL, border=10)221 top_row_sizer.Add(label, flag=wx.ALIGN_CENTER_VERTICAL)222 223 #Create the OK button in the bottom row.224 ok_button = wx.Button(panel, wx.ID_OK )225 ok_button.SetFocus()226 ok_button.SetDefault()227 228 sizer = wx.BoxSizer(wx.VERTICAL)229 sizer.Add(top_row_sizer)230 sizer.Add(ok_button, flag=wx.ALIGN_CENTER | wx.ALL, border=5)231 panel.SetSizer(sizer)232 233 logger = logging.getLogger(__name__)234 try:235 subprocess.check_output(["cc","--version"], stderr=subprocess.STDOUT)236 except subprocess.CalledProcessError as exc:237 app = wx.App()238 dlg = GenericMessageBox(parent=None,239 text='No compiler installed. Please follow instruction for\n'240 'command line developers tools installation and restart SasView\n\n'241 'Alternatively one can use OpenCL compiler,\n'242 'which can be setup from menu Fitting->OpenCL Options\n\n'243 'SasView is terminating now\n',244 title = 'Compiler Info')245 dlg.ShowModal()246 247 logger.error("No compiler installed. %s\n"%(exc))248 logger.error(traceback.format_exc())249 250 #raise RuntimeError("Terminating sasview")251 252 265 def setup_sasmodels(): 253 266 """ … … 272 285 setup_sasmodels() 273 286 setup_wx() 274 if sys.platform == "darwin":275 check_sasmodels_compiler()276 287 SasView() 277 288
Note: See TracChangeset
for help on using the changeset viewer.