Sfoglia il codice sorgente

wxGUI/wxNviz: fix preferences dialog

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@55507 15284696-431f-4ddb-bdfa-cd5b030d7da7
Anna Petrášová 12 anni fa
parent
commit
6857f9e90d

+ 11 - 0
gui/wxpython/lmgr/frame.py

@@ -71,6 +71,7 @@ from lmgr.giface           import LayerManagerGrassInterface
 from gui_core.forms        import GUI
 from gcp.manager           import GCPWizard
 from nviz.main             import haveNviz
+from nviz.preferences      import NvizPreferencesDialog
 from mapswipe.frame        import SwipeMapFrame
 from rlisetup.frame        import RLiSetupFrame
 
@@ -108,6 +109,7 @@ class GMFrame(wx.Frame):
         # list of open dialogs
         self.dialogs        = dict()
         self.dialogs['preferences'] = None
+        self.dialogs['nvizPreferences'] = None
         self.dialogs['atm'] = list()
         
         # create widgets
@@ -1393,6 +1395,15 @@ class GMFrame(wx.Frame):
         
         self.dialogs['preferences'].ShowModal()
         
+    def OnNvizPreferences(self, event):
+        """!Show nviz preferences"""
+        if not self.dialogs['nvizPreferences']:
+            dlg = NvizPreferencesDialog(parent = self, giface = self._giface)
+            self.dialogs['nvizPreferences'] = dlg
+            self.dialogs['nvizPreferences'].CenterOnScreen()
+
+        self.dialogs['nvizPreferences'].Show()
+
     def OnHelp(self, event):
         """!Show help
         """

+ 1 - 8
gui/wxpython/lmgr/toolbars.py

@@ -23,7 +23,6 @@ This program is free software under the GNU General Public License
 """
 
 from core.gcmd          import RunCommand
-from nviz.preferences   import NvizPreferencesDialog
 from gui_core.toolbars  import BaseToolbar, BaseIcons
 from icons.icon         import MetaIcon
 
@@ -242,7 +241,7 @@ class LMNvizToolbar(BaseToolbar):
                                       self.OnNvizCmd),
                                      (None, ),
                                      ("settings", icons["settings"],
-                                      self.OnSettings),
+                                      self.parent.OnNvizPreferences),
                                      ("help", icons["help"],
                                       self.OnHelp))
                                     )
@@ -260,9 +259,3 @@ class LMNvizToolbar(BaseToolbar):
             log = self.lmgr.GetLogWindow()
             log.RunCmd(['g.manual',
                         'entry=wxGUI.Nviz'])
-        
-    def OnSettings(self, event):
-        """!Show nviz notebook page"""
-        if not self.settingsDialog:
-            self.settingsDialog = NvizPreferencesDialog(parent = self.parent)
-        self.settingsDialog.Show()

+ 2 - 2
gui/wxpython/nviz/preferences.py

@@ -28,9 +28,9 @@ from gui_core.preferences import PreferencesBaseDialog
 
 class NvizPreferencesDialog(PreferencesBaseDialog):
     """!Nviz preferences dialog"""
-    def __init__(self, parent, title = _("3D view settings"),
+    def __init__(self, parent, giface, title = _("3D view default settings"),
                  settings = UserSettings):
-        PreferencesBaseDialog.__init__(self, parent = parent, title = title,
+        PreferencesBaseDialog.__init__(self, parent = parent, title = title, giface = giface,
                                        settings = settings)
         self.SetIcon(wx.Icon(os.path.join(globalvar.ETCICONDIR, 'grass_nviz.ico'), wx.BITMAP_TYPE_ICO))