Bläddra i källkod

wxGUI/iclass: show error message when unable to launch wxIClass

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@49836 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 13 år sedan
förälder
incheckning
144365258d
2 ändrade filer med 10 tillägg och 6 borttagningar
  1. 4 5
      gui/wxpython/iclass/frame.py
  2. 6 1
      gui/wxpython/lmgr/frame.py

+ 4 - 5
gui/wxpython/iclass/frame.py

@@ -32,11 +32,12 @@ from core import globalvar
 try:
     from grass.lib.imagery import *
     from grass.lib.vector import *
+    haveIClass = True
+    errMsg = ''
 except ImportError, e:
-    sys.stderr.write(_("Loading imagery lib failed"))
+    haveIClass = False
+    errMsg = _("Loading imagery lib failed.\n%s") % e
 
-
-#sys.path.append(os.path.join(globalvar.ETCWXDIR, "icons"))
 import grass.script as grass
 
 from mapdisp            import statusbar as sb
@@ -55,7 +56,6 @@ from iclass.statistics  import Statistics, BandStatistics
 from iclass.dialogs     import CategoryListCtrl, IClassCategoryManagerDialog,\
                                IClassGroupDialog, IClassMapDialog, IClassSignatureFileDialog
 from iclass.plots       import PlotPanel
-
         
 class IClassMapFrame(DoubleMapFrame):
     """! wxIClass main frame
@@ -76,7 +76,6 @@ class IClassMapFrame(DoubleMapFrame):
         @param toolbars dictionary of active toolbars (defalult value represents all toolbars)
         @param size default size
         """
-        
         DoubleMapFrame.__init__(self, parent = parent, title = title,
                                 name = name,
                                 firstMap = Map(), secondMap = Map(),

+ 6 - 1
gui/wxpython/lmgr/frame.py

@@ -65,7 +65,6 @@ from lmgr.pyshell          import PyShellWindow
 from gui_core.forms        import GUI
 from gcp.manager           import GCPWizard
 from nviz.main             import haveNviz
-from iclass.frame          import IClassMapFrame
 
 class GMFrame(wx.Frame):
     """!Layer Manager frame with notebook widget for controlling GRASS
@@ -1100,6 +1099,12 @@ class GMFrame(wx.Frame):
         
     def OnIClass(self, event):
         """!Start wxIClass tool"""
+        from iclass.frame import IClassMapFrame, haveIClass, errMsg
+        if not haveIClass:
+            GError(_('Unable to launch "Supervised Classification Tool".\n\n'
+                     'Reason: %s') % errMsg)
+            return
+        
         win = IClassMapFrame(parent = self)
         win.CentreOnScreen()