ソースを参照

wxNviz: update cutting plane page when return to 3D view

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@47103 15284696-431f-4ddb-bdfa-cd5b030d7da7
Anna Petrášová 14 年 前
コミット
6bd5768717

+ 7 - 1
gui/wxpython/gui_modules/nviz_mapdisp.py

@@ -165,6 +165,7 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         """!Initialize cutting planes list"""
         for i in range(self._display.GetCPlanesCount()):
             cplane = copy.deepcopy(UserSettings.Get(group = 'nviz', key = 'cplane'))
+            cplane['on'] = False
             self.cplanes.append(cplane)
             
             
@@ -818,9 +819,14 @@ class GLWindow(MapWindow, glcanvas.GLCanvas):
         for plane in range (self._display.GetCPlanesCount()):
             if plane == index:
                 self._display.SelectCPlane(plane)
+                self.cplanes[plane]['on'] = True
             else:
                 self._display.UnselectCPlane(plane)
-    
+                try:
+                    self.cplanes[plane]['on'] = False
+                except IndexError:
+                    pass
+                    
     def UpdateCPlane(self, event):
         """!Change cutting plane settings"""
         current = event.current

+ 5 - 1
gui/wxpython/gui_modules/nviz_tools.py

@@ -3808,7 +3808,11 @@ class NvizToolWindow(FN.FlatNotebook):
             for plane in range(count):
                 choices.append("%s %i" % (_("Plane"), plane))
             self.FindWindowById(self.win['cplane']['planes']).SetItems(choices)
-            self.FindWindowById(self.win['cplane']['planes']).SetSelection(0)
+            current = 0
+            for i, cplane in enumerate(self.mapWindow.cplanes):
+                if cplane['on']:
+                    current = i + 1
+            self.FindWindowById(self.win['cplane']['planes']).SetSelection(current)
             
             xyRange, zRange = self._display.GetXYRange(), self._display.GetZRange()
             if xyRange > 0: # GTK warning