code: def __init__(self, frame):
      super(Menu, self).__init__(frame)
  
      self.search_frame = cellprofiler.gui.help.search.Search(
          self.frame
      )
  
      self.append(
          "Show Welcome Screen",
          event_fn=lambda _: self.frame.show_welcome_screen(True),
      )
  
      self.append(
          "Search help...", event_fn=lambda _: self.__on_search_help()
      )
  
      self.append(
          "Online Manual", event_fn=self.__on_help_online_manual
      )
  
      self.AppendSeparator()
  
      self.append(
          "Why Use CellProfiler?",
          contents=cellprofiler.gui.help.content.read_content(
              "why_use_cellprofiler.rst"
          ),
      )
  
      self.AppendSubMenu(
          self.__navigation_menu(), "Navigating The Menu Bar"
      )
  
      self.AppendSubMenu(
          self.__figure_menu(), "Using Module Display Windows"
      )
  
      self.AppendSubMenu(
          self.__project_menu(),
          cellprofiler.gui.help.content.CREATING_A_PROJECT_CAPTION,
      )
  
      self.append(
          "How To Build A Pipeline",
          contents=cellprofiler.gui.help.content.read_content(
              "pipelines_building.rst"
          ),
      )
  
      self.append(
          "Testing Your Pipeline",
          contents=cellprofiler.gui.help.content.read_content(
              "navigation_test_menu.rst"
          ),
      )
  
      self.append(
          "Running Your Pipeline",
          contents=cellprofiler.gui.help.content.read_content(
              "pipelines_running.rst"
          ),
      )
  
      self.AppendSubMenu(self.__output_menu(), "Using Your Output")
  
      self.append(
          "Troubleshooting Memory and Speed Issues",
          contents=cellprofiler.gui.help.content.read_content(
              "other_troubleshooting.rst"
          ),
      )
  
      self.append(
          "Identifying 3D objects",
          contents=cellprofiler.gui.help.content.read_content(
              "other_3d_identify.rst"
          ),
      )
  
      self.append(
          "Batch Processing",
          contents=cellprofiler.gui.help.content.read_content(
              "other_batch.rst"
          ),
      )
  
      self.AppendSubMenu(
          self.__legacy_menu(), "Legacy Modules and Features"
      )
  
      self.AppendSubMenu(self.__other_menu(), "Other Features")
  
      self.AppendSeparator()
  
      self.append(
          "Developer's Guide",
          event_fn=lambda _: self.__on_help_developers_guide(),
      )
  
      self.append(
          "Source Code", event_fn=lambda _: self.__on_help_source_code()
      )
  
      self.AppendSeparator()
  
      self.append("Check for updates", event_fn=self.find_update)
  
      self.append("About CellProfiler", event_fn=lambda _: self.about())
  
imports: import webbrowser
  import wx.adv
  from cellprofiler.gui.dialog import AboutDialogInfo
  import cellprofiler.gui.help.content
  import cellprofiler.gui.help.search
  import cellprofiler.gui.htmldialog
  import cellprofiler.gui.menu
label_desc: Use image node_id 1 to create a new Menu object from inherited base classes: cellprofiler.gui.menu with example: obj = Menu(frame)