[GRASS-SVN] r32113 - grass/branches/develbranch_6/gui/wxpython/gui_modules

svn_grass at osgeo.org svn_grass at osgeo.org
Tue Jul 15 01:39:54 EDT 2008


Author: cmbarton
Date: 2008-07-15 01:39:51 -0400 (Tue, 15 Jul 2008)
New Revision: 32113

Modified:
   grass/branches/develbranch_6/gui/wxpython/gui_modules/toolbars.py
Log:
Workaround for Mac bug that keeps widgets like combo boxes from showing up in AUI toolbars.

Modified: grass/branches/develbranch_6/gui/wxpython/gui_modules/toolbars.py
===================================================================
--- grass/branches/develbranch_6/gui/wxpython/gui_modules/toolbars.py	2008-07-15 05:34:32 UTC (rev 32112)
+++ grass/branches/develbranch_6/gui/wxpython/gui_modules/toolbars.py	2008-07-15 05:39:51 UTC (rev 32113)
@@ -8,7 +8,8 @@
     * GCPToolbar
     * VDigitToolbar
     * ProfileToolbar
-    
+    * NvizToolbar
+
 PURPOSE: Toolbars for Map Display window
 
 AUTHORS: The GRASS Development Team
@@ -104,20 +105,24 @@
         self.mapcontent = map
         self.mapdisplay = mapdisplay
 
-	self.toolbar = wx.ToolBar(parent=self.mapdisplay, id=wx.ID_ANY)
+        self.toolbar = wx.ToolBar(parent=self.mapdisplay, id=wx.ID_ANY)
         self.toolbar.SetToolBitmapSize(globalvar.toolbarSize)
 
         self.InitToolbar(self.mapdisplay, self.toolbar, self.ToolbarData())
         
         # optional tools
         self.combo = wx.ComboBox(parent=self.toolbar, id=wx.ID_ANY, value='Tools',
-                                 choices=['Digitize'], style=wx.CB_READONLY, size=(90, -1))
+                                 choices=['Digitize', 'Nviz'], style=wx.CB_READONLY, size=(90, -1))
 
         self.comboid = self.toolbar.AddControl(self.combo)
-        self.mapdisplay.Bind(wx.EVT_COMBOBOX, self.OnSelect, self.comboid)
+        self.mapdisplay.Bind(wx.EVT_COMBOBOX, self.OnSelectTool, self.comboid)
 
         # realize the toolbar
         self.toolbar.Realize()
+        
+        #workaround for Mac bug. May be fixed by 2.8.8, but not before then.
+        self.combo.Hide()
+        self.combo.Show()
             
     def ToolbarData(self):
         """Toolbar data"""
@@ -188,7 +193,7 @@
             ("", "", "", "", "", "", "")
             )
 
-    def OnSelect(self, event):
+    def OnSelectTool(self, event):
         """
         Select / enable tool available in tools list
         """
@@ -197,6 +202,24 @@
         if tool == "Digitize" and not self.mapdisplay.toolbars['vdigit']:
             self.mapdisplay.AddToolbar("vdigit")
 
+        elif tool == "Nviz" and not self.mapdisplay.toolbars['nviz']:
+            self.mapdisplay.AddToolbar("nviz")
+
+    def Enable2D(self, enabled):
+        """Enable/Disable 2D display mode specific tools"""
+        for tool in (self.pointer,
+                     self.query,
+                     self.pan,
+                     self.zoomin,
+                     self.zoomout,
+                     self.zoomback,
+                     self.zoommenu,
+                     self.analyze,
+                     self.dec,
+                     self.savefile,
+                     self.printmap):
+            self.toolbar.EnableTool(tool, enabled)
+
 class GRToolbar(AbstractToolbar):
     """
     Georectify Display toolbar
@@ -992,3 +1015,51 @@
              wx.ITEM_NORMAL, Icons["quit"].GetLabel(), Icons["quit"].GetDesc(),
              self.parent.OnQuit),
             )
+
+class NvizToolbar(AbstractToolbar):
+    """
+    Nviz toolbar
+    """
+    def __init__(self, parent, map):
+        self.parent     = parent
+        self.mapcontent = map
+
+        self.toolbar = wx.ToolBar(parent=self.parent, id=wx.ID_ANY)
+
+        # self.SetToolBar(self.toolbar)
+        self.toolbar.SetToolBitmapSize(globalvar.toolbarSize)
+
+        self.InitToolbar(self.parent, self.toolbar, self.ToolbarData())
+
+        # realize the toolbar
+        self.toolbar.Realize()
+
+    def ToolbarData(self):
+        """Toolbar data"""
+
+        self.settings = wx.NewId()
+        self.quit = wx.NewId()
+                
+        # tool, label, bitmap, kind, shortHelp, longHelp, handler
+        return   (
+            (self.settings, "settings", Icons["nvizSettings"].GetBitmap(),
+             wx.ITEM_NORMAL, Icons["nvizSettings"].GetLabel(), Icons["nvizSettings"].GetDesc(),
+             self.OnSettings),
+            (self.quit, 'quit', Icons["quit"].GetBitmap(),
+             wx.ITEM_NORMAL, Icons["quit"].GetLabel(), Icons["quit"].GetDesc(),
+             self.OnExit),
+            )
+
+    def OnSettings(self, event):
+        win = self.parent.nvizToolWin
+        if not win.IsShown():
+            self.parent.nvizToolWin.Show()
+        else:
+            self.parent.nvizToolWin.Hide()
+
+    def OnExit (self, event=None):
+        """Quit nviz tool (swith to 2D mode)"""
+
+        # disable the toolbar
+        self.parent.RemoveToolbar ("nviz")
+



More information about the grass-commit mailing list