浏览代码

wxGUI/nviz: some workspace-related fixes

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@43004 15284696-431f-4ddb-bdfa-cd5b030d7da7
Martin Landa 14 年之前
父节点
当前提交
a51fb00f68
共有 1 个文件被更改,包括 15 次插入9 次删除
  1. 15 9
      gui/wxpython/gui_modules/workspace.py

+ 15 - 9
gui/wxpython/gui_modules/workspace.py

@@ -345,17 +345,14 @@ class ProcessWorkspaceFile:
                 marker = str(node_vpoints.get('marker', ''))
                 marker = str(node_vpoints.get('marker', ''))
                 markerId = list(UserSettings.Get(group='nviz', key='vector',
                 markerId = list(UserSettings.Get(group='nviz', key='vector',
                                                  subkey=['points', 'marker'], internal=True)).index(marker)
                                                  subkey=['points', 'marker'], internal=True)).index(marker)
-                nviz['vector']['points']['marker'] = markerId
+                nviz['vector']['points']['marker'] = { 'value' : markerId }
                 
                 
                 node_mode = node_vpoints.find('mode')
                 node_mode = node_vpoints.find('mode')
                 if node_mode is not None:
                 if node_mode is not None:
                     nviz['vector']['points']['mode'] = {}
                     nviz['vector']['points']['mode'] = {}
                     nviz['vector']['points']['mode']['type'] = str(node_mode.get('type', ''))
                     nviz['vector']['points']['mode']['type'] = str(node_mode.get('type', ''))
-                    nviz['vector']['points']['mode']['surface'] = ''
-                    
-                    # map
                     nviz['vector']['points']['mode']['surface'] = \
                     nviz['vector']['points']['mode']['surface'] = \
-                        self.__processLayerNvizNode(node_vpoints, 'map', str)
+                        self.__processLayerNvizNode(node_mode, 'map', str)
                 
                 
                 # color
                 # color
                 self.__processLayerNvizNode(node_vpoints, 'color', str,
                 self.__processLayerNvizNode(node_vpoints, 'color', str,
@@ -404,7 +401,16 @@ class ProcessWorkspaceFile:
         """!Process given tag nviz/vector"""
         """!Process given tag nviz/vector"""
         node_tag = node.find(tag)
         node_tag = node.find(tag)
         if node_tag is not None:
         if node_tag is not None:
-            value = cast(self.__getNodeText(node_tag, 'value'))
+            if node_tag.find('value') is not None:
+                value = cast(self.__getNodeText(node_tag, 'value'))
+            else:
+                try:
+                    value = cast(node_tag.text)
+                except ValueError:
+                    if cast == str:
+                        value = ''
+                    else:
+                        value = None
             if dc:
             if dc:
                 dc[tag] = dict()
                 dc[tag] = dict()
                 dc[tag]['value'] = value
                 dc[tag]['value'] = value
@@ -916,9 +922,9 @@ class WriteWorkspaceFile(object):
             if attrb == 'lines':
             if attrb == 'lines':
                 self.file.write('%s<v%s>\n' % (' ' * self.indent, attrb))
                 self.file.write('%s<v%s>\n' % (' ' * self.indent, attrb))
             elif attrb == 'points':
             elif attrb == 'points':
-                markerId = data[attrb]['marker']
-                marker = UserSettings.Get(group='nviz', key='vector',
-                                          subkey=['points', 'marker'], internal=True)[markerId]
+                markerId = data[attrb]['marker']['value']
+                marker = UserSettings.Get(group = 'nviz', key = 'vector',
+                                          subkey = ['points', 'marker'], internal = True)[markerId]
                 self.file.write('%s<v%s marker="%s">\n' % (' ' * self.indent,
                 self.file.write('%s<v%s marker="%s">\n' % (' ' * self.indent,
                                                            attrb,
                                                            attrb,
                                                            marker))
                                                            marker))