[Idle-dev] CVS: idle EditorWindow.py,1.20,1.21 configHelpSourceEdit.py,1.1,1.2

Stephen M. Gava elguavas@users.sourceforge.net
Tue, 26 Mar 2002 18:24:56 -0800


Update of /cvsroot/idlefork/idle
In directory usw-pr-cvs1:/tmp/cvs-serv5746

Modified Files:
	EditorWindow.py configHelpSourceEdit.py 
Log Message:
further work on new config system;
user defined help items


Index: EditorWindow.py
===================================================================
RCS file: /cvsroot/idlefork/idle/EditorWindow.py,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -r1.20 -r1.21
*** EditorWindow.py	18 Mar 2002 02:38:44 -0000	1.20
--- EditorWindow.py	27 Mar 2002 02:24:54 -0000	1.21
***************
*** 99,109 ****
          root = root or flist.root
          self.root = root
-         if flist:
-             self.vars = flist.vars
          self.menubar = Menu(root)
          self.top = top = self.Toplevel(root, menu=self.menubar)
!         #self.top.instanceDict makes flist.inversedict avalable to
!         #configDialog.py so it can access all EditorWindow instaces
!         self.top.instanceDict=flist.inversedict
          self.vbar = vbar = Scrollbar(top, name='vbar')
          self.text_frame = text_frame = Frame(top)
--- 99,109 ----
          root = root or flist.root
          self.root = root
          self.menubar = Menu(root)
          self.top = top = self.Toplevel(root, menu=self.menubar)
!         if flist:
!             self.vars = flist.vars
!             #self.top.instanceDict makes flist.inversedict avalable to
!             #configDialog.py so it can access all EditorWindow instaces
!             self.top.instanceDict=flist.inversedict
          self.vbar = vbar = Scrollbar(top, name='vbar')
          self.text_frame = text_frame = Frame(top)
***************
*** 214,218 ****
              self.extensions['AutoIndent'].set_indentation_params(
                  self.ispythonsource(filename))
! 
      def set_status_bar(self):
          self.status_bar = self.MultiStatusBar(self.top)
--- 214,218 ----
              self.extensions['AutoIndent'].set_indentation_params(
                  self.ispythonsource(filename))
!  
      def set_status_bar(self):
          self.status_bar = self.MultiStatusBar(self.top)
***************
*** 254,257 ****
--- 254,258 ----
              mbar.add_cascade(label=label, menu=menu, underline=underline)
          self.fill_menus()
+         self.ResetExtraHelpMenu()
  
      def postwindowsmenu(self):
***************
*** 324,328 ****
  
      def python_docs(self, event=None):
!         webbrowser.open(self.help_url)
  
      def select_all(self, event=None):
--- 325,332 ----
  
      def python_docs(self, event=None):
!         self.display_docs(self.help_url)
! 
!     def display_docs(self, url):
!         webbrowser.open(url)
  
      def select_all(self, event=None):
***************
*** 526,529 ****
--- 530,552 ----
                              #print 'accel now:',accel,'\n'
  
+     def ResetExtraHelpMenu(self):
+         #load or update the Extra Help menu if required
+         menuList=idleConf.GetAllExtraHelpSourcesList()
+         helpMenu=self.menudict['help']
+         cascadeIndex=helpMenu.index(END)-1
+         if menuList:
+             if not hasattr(self,'menuExtraHelp'):
+                 self.menuExtraHelp=Menu(self.menubar)
+                 helpMenu.insert_cascade(cascadeIndex,label='Extra Help',
+                         underline=1,menu=self.menuExtraHelp)
+             self.menuExtraHelp.delete(1,END)
+             for menuItem in menuList:
+                 self.menuExtraHelp.add_command(label=menuItem[0],
+                         command=lambda:self.display_docs(menuItem[1]))
+         else: #no extra help items
+             if hasattr(self,'menuExtraHelp'): 
+                 helpMenu.delete(cascadeIndex-1)                    
+                 del(self.menuExtraHelp)
+                     
      def saved_change_hook(self):
          short = self.short_title()

Index: configHelpSourceEdit.py
===================================================================
RCS file: /cvsroot/idlefork/idle/configHelpSourceEdit.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** configHelpSourceEdit.py	5 Feb 2002 04:52:32 -0000	1.1
--- configHelpSourceEdit.py	27 Mar 2002 02:24:54 -0000	1.2
***************
*** 23,26 ****
--- 23,28 ----
          self.result=None
          self.CreateWidgets()
+         self.menu.set(menuItem)
+         self.path.set(filePath)
          self.withdraw() #hide while setting geometry
          self.update_idletasks()