parameters: (self)
return_statement: return frame
docstring: Part of the config dialog used for configuring IDLE extensions.
  
          This code is generic - it works for any and all IDLE extensions.
  
          IDLE extensions save their configuration options using idleConf.
          This code reads the current configuration using idleConf, supplies a
          GUI interface to change the configuration values, and saves the
          changes using idleConf.
  
          Not all changes take effect immediately - some may require restarting IDLE.
          This depends on each extension's implementation.
  
          All values are treated as text, and it is up to the user to supply
          reasonable values. The only exception to this are the 'enable*' options,
          which are boolean, and can be toggled with a True/False button.
  
          Methods:
              load_extensions:
              extension_selected: Handle selection from list.
              create_extension_frame: Hold widgets for one extension.
              set_extension_value: Set in userCfg['extensions'].
              save_all_changed_extensions: Call extension page Save().
docstring_summary: Part of the config dialog used for configuring IDLE extensions.
docstring_tokens: Part of the config dialog used for configuring IDLE extensions .
function: def create_page_extensions(self):
          """Part of the config dialog used for configuring IDLE extensions.
  
          This code is generic - it works for any and all IDLE extensions.
  
          IDLE extensions save their configuration options using idleConf.
          This code reads the current configuration using idleConf, supplies a
          GUI interface to change the configuration values, and saves the
          changes using idleConf.
  
          Not all changes take effect immediately - some may require restarting IDLE.
          This depends on each extension's implementation.
  
          All values are treated as text, and it is up to the user to supply
          reasonable values. The only exception to this are the 'enable*' options,
          which are boolean, and can be toggled with a True/False button.
  
          Methods:
              load_extensions:
              extension_selected: Handle selection from list.
              create_extension_frame: Hold widgets for one extension.
              set_extension_value: Set in userCfg['extensions'].
              save_all_changed_extensions: Call extension page Save().
          """
          parent = self.parent
          frame = Frame(self.note)
          self.ext_defaultCfg = idleConf.defaultCfg['extensions']
          self.ext_userCfg = idleConf.userCfg['extensions']
          self.is_int = self.register(is_int)
          self.load_extensions()
          # Create widgets - a listbox shows all available extensions, with the
          # controls for the extension selected in the listbox to the right.
          self.extension_names = StringVar(self)
          frame.rowconfigure(0, weight=1)
          frame.columnconfigure(2, weight=1)
          self.extension_list = Listbox(frame, listvariable=self.extension_names,
                                        selectmode='browse')
          self.extension_list.bind('<<ListboxSelect>>', self.extension_selected)
          scroll = Scrollbar(frame, command=self.extension_list.yview)
          self.extension_list.yscrollcommand=scroll.set
          self.details_frame = LabelFrame(frame, width=250, height=250)
          self.extension_list.grid(column=0, row=0, sticky='nws')
          scroll.grid(column=1, row=0, sticky='ns')
          self.details_frame.grid(column=2, row=0, sticky='nsew', padx=[10, 0])
          frame.configure(padding=10)
          self.config_frame = {}
          self.current_extension = None
  
          self.outerframe = self                      # TEMPORARY
          self.tabbed_page_set = self.extension_list  # TEMPORARY
  
          # Create the frame holding controls for each extension.
          ext_names = ''
          for ext_name in sorted(self.extensions):
              self.create_extension_frame(ext_name)
              ext_names = ext_names + '{' + ext_name + '} '
          self.extension_names.set(ext_names)
          self.extension_list.selection_set(0)
          self.extension_selected(None)
  
          return frame
function_tokens: def create_page_extensions ( self ) : parent = self . parent frame = Frame ( self . note ) self . ext_defaultCfg = idleConf . defaultCfg [ 'extensions' ] self . ext_userCfg = idleConf . userCfg [ 'extensions' ] self . is_int = self . register ( is_int ) self . load_extensions ( ) # Create widgets - a listbox shows all available extensions, with the # controls for the extension selected in the listbox to the right. self . extension_names = StringVar ( self ) frame . rowconfigure ( 0 , weight = 1 ) frame . columnconfigure ( 2 , weight = 1 ) self . extension_list = Listbox ( frame , listvariable = self . extension_names , selectmode = 'browse' ) self . extension_list . bind ( '<<ListboxSelect>>' , self . extension_selected ) scroll = Scrollbar ( frame , command = self . extension_list . yview ) self . extension_list . yscrollcommand = scroll . set self . details_frame = LabelFrame ( frame , width = 250 , height = 250 ) self . extension_list . grid ( column = 0 , row = 0 , sticky = 'nws' ) scroll . grid ( column = 1 , row = 0 , sticky = 'ns' ) self . details_frame . grid ( column = 2 , row = 0 , sticky = 'nsew' , padx = [ 10 , 0 ] ) frame . configure ( padding = 10 ) self . config_frame = { } self . current_extension = None self . outerframe = self # TEMPORARY self . tabbed_page_set = self . extension_list # TEMPORARY # Create the frame holding controls for each extension. ext_names = '' for ext_name in sorted ( self . extensions ) : self . create_extension_frame ( ext_name ) ext_names = ext_names + '{' + ext_name + '} ' self . extension_names . set ( ext_names ) self . extension_list . selection_set ( 0 ) self . extension_selected ( None ) return frame