ID_SETTINGS = wx.NewId()
 ID_FIND = wx.ID_FIND
 ID_FINDNEXT = wx.NewId()
+ID_SHOWTOOLS = wx.NewId()
 
 
 
                  'Wrap lines at right edge', wx.ITEM_CHECK)
         m.Append(ID_SHOW_LINENUMBERS, '&Show Line Numbers\tCtrl+Shift+L', 'Show Line Numbers', wx.ITEM_CHECK)
         m.Append(ID_TOGGLE_MAXIMIZE, '&Toggle Maximize\tF11', 'Maximize/Restore Application')
+        if hasattr(self, 'ToggleTools'):
+            m.Append(ID_SHOWTOOLS,
+                     'Show &Tools\tF4',
+                     'Show the filling and other tools', wx.ITEM_CHECK)
 
         # Options
         m = self.autocompMenu = wx.Menu()
         self.Bind(wx.EVT_MENU, self.OnExecStartupScript, id=ID_EXECSTARTUPSCRIPT)
         self.Bind(wx.EVT_MENU, self.OnFindText, id=ID_FIND)
         self.Bind(wx.EVT_MENU, self.OnFindNext, id=ID_FINDNEXT)
+        self.Bind(wx.EVT_MENU, self.OnToggleTools, id=ID_SHOWTOOLS)
 
         self.Bind(wx.EVT_UPDATE_UI, self.OnUpdateMenu, id=ID_NEW)
         self.Bind(wx.EVT_UPDATE_UI, self.OnUpdateMenu, id=ID_OPEN)
         self.Bind(wx.EVT_UPDATE_UI, self.OnUpdateMenu, id=ID_EDITSTARTUPSCRIPT)
         self.Bind(wx.EVT_UPDATE_UI, self.OnUpdateMenu, id=ID_FIND)
         self.Bind(wx.EVT_UPDATE_UI, self.OnUpdateMenu, id=ID_FINDNEXT)
+        self.Bind(wx.EVT_UPDATE_UI, self.OnUpdateMenu, id=ID_SHOWTOOLS)
         
         self.Bind(wx.EVT_ACTIVATE, self.OnActivate)
         self.Bind(wx.EVT_FIND, self.OnFindNext)
         self.findDlg.Destroy()
         self.findDlg = None
     
-
+    def OnToggleTools(self, event):
+        self.ToggleTools()
+        
 
     def OnUpdateMenu(self, event):
         """Update menu items based on current status and context."""
                 event.Enable(hasattr(win, 'DoFindNext'))
             elif id == ID_FINDNEXT:
                 event.Enable(hasattr(win, 'DoFindNext'))
+
+            elif id == ID_SHOWTOOLS:
+                event.Check(self.ToolsShown())
                                              
             else:
                 event.Enable(False)
 
 
     def LoadSettings(self, config):
-        """Called be derived classes to load settings specific to the Frame"""
+        """Called by derived classes to load settings specific to the Frame"""
         pos  = wx.Point(config.ReadInt('Window/PosX', -1),
                         config.ReadInt('Window/PosY', -1))