Преглед изворни кода

wxGUI: fix loading wx/ctypes modules

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@49632 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa пре 13 година
родитељ
комит
e79bfda0ff

+ 8 - 3
gui/wxpython/core/workspace.py

@@ -22,7 +22,9 @@ import wx
 
 from core.utils     import normalize_whitespace
 from core.settings  import UserSettings
-from nviz.workspace import NvizSettings
+from nviz.main          import haveNviz
+if haveNviz:
+    from nviz.workspace import NvizSettings
 
 class ProcessWorkspaceFile:
     def __init__(self, tree):
@@ -55,8 +57,11 @@ class ProcessWorkspaceFile:
         self.displayIndex = -1 # first display has index '0'
         
         self.__processFile()
-        
-        self.nvizDefault = NvizSettings()
+
+        if haveNviz:
+            self.nvizDefault = NvizSettings()
+        else:
+            self.nvizDefault = None
         
     def __filterValue(self, value):
         """!Filter value

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

@@ -56,7 +56,6 @@ from gui_core.menu         import Menu
 from gmodeler.model        import Model
 from gmodeler.frame        import ModelFrame
 from modules.vclean        import VectorCleaningFrame
-from nviz.tools            import NvizToolWindow
 from psmap.frame           import PsMapFrame
 from core.debug            import Debug
 from gui_core.ghelp        import MenuTreeWindow, AboutWindow
@@ -66,6 +65,7 @@ from lmgr.toolbars         import LMMiscToolbar, LMVectorToolbar, LMNvizToolbar
 from lmgr.pyshell          import PyShellWindow
 from gui_core.forms        import GUI
 from gcp.manager           import GCPWizard
+from nviz.main             import haveNviz
 
 class GMFrame(wx.Frame):
     """!Layer Manager frame with notebook widget for controlling GRASS
@@ -267,6 +267,11 @@ class GMFrame(wx.Frame):
     def AddNvizTools(self):
         """!Add nviz notebook page"""
         Debug.msg(5, "GMFrame.AddNvizTools()")
+        if not haveNviz:
+            return
+        
+        from nviz.tools import NvizToolWindow
+        
         # show toolbar
         self._auimgr.GetPane('toolbarNviz').Show()
         # reorder other toolbars

+ 2 - 1
gui/wxpython/mapdisp/frame.py

@@ -52,7 +52,8 @@ from wxplot.histogram   import Histogram2Frame
 from wxplot.profile     import ProfileFrame
 from wxplot.scatter     import ScatterFrame
 from nviz.main          import haveNviz
-from nviz.mapwindow     import GLWindow
+if haveNviz:
+    from nviz.mapwindow import GLWindow
 
 from mapdisp import statusbar as sb
 

+ 7 - 3
gui/wxpython/modules/colorrules.py

@@ -42,7 +42,7 @@ from core.render      import Map
 from gui_core.forms   import GUI
 from core.debug       import Debug as Debug
 from core.settings    import UserSettings
-from nviz.mapwindow   import wxUpdateProperties
+from nviz.main        import haveNviz
 
 class RulesPanel:
     def __init__(self, parent, mapType, attributeType, properties, panelWidth = 180):
@@ -1676,8 +1676,12 @@ class ThematicVectorTable(VectorColorTable):
         
         data['vector'][self.vectorType]['thematic']['update'] = None
         
-        event = wxUpdateProperties(data = data)
-        wx.PostEvent(self.parent.mapWindow, event)
+        if haveNviz:
+            from nviz.mapwindow   import wxUpdateProperties
+            
+            event = wxUpdateProperties(data = data)
+            wx.PostEvent(self.parent.mapWindow, event)
+        
         self.parent.mapWindow.Refresh(False)
         
         return ret

+ 1 - 1
gui/wxpython/nviz/main.py

@@ -25,7 +25,7 @@ try:
     import nviz.tools
     import wxnviz
     haveNviz = True
-except ImportError, err:
+except (ImportError, NameError), err:
     haveNviz = False
     errorMsg = err
 

+ 1 - 1
gui/wxpython/vdigit/main.py

@@ -18,7 +18,7 @@ try:
     from vdigit.wxdigit import IVDigit, GV_LINES
     haveVDigit = True
     errorMsg   = ''
-except ImportError, err:
+except (ImportError, NameError), err:
     haveVDigit = False
     errorMsg   = err
     GV_LINES   = -1