class_docstr: View / controller for the preferences that get displayed in the main window
  
      
class_docstr_tok: ["View","\/","controller","for","the","preferences","that","get","displayed","in","the","main","window"]
code: def __make_progress_panel(self):
      panel = self.__progress_panel
      self.__progress_msg_ctrl = wx.StaticText(panel)
      self.__worker_count_ctrl = wx.StaticText(panel)
      self.__progress_bar = wx.Gauge(panel, -1, size=(100, -1))
      self.__progress_bar.SetValue(25)
      self.__timer = wx.StaticText(panel)
      sizer = wx.BoxSizer(wx.HORIZONTAL)
      sizer.AddMany(
          [
              ((1, 1), 1),
              (self.__progress_msg_ctrl, 0, wx.ALIGN_BOTTOM),
              ((10, 0), 0),
              (self.__worker_count_ctrl, 0, wx.ALIGN_BOTTOM),
              ((10, 0), 0),
              (self.__progress_bar, 0, wx.ALIGN_BOTTOM),
              ((10, 0), 0),
              (self.__timer, 0, wx.ALIGN_BOTTOM),
          ]
      )
      panel.SetSizer(sizer)
      panel.Layout()
      #
      # The progress model is that one operation might invoke sub-operations
      # which might report their own progress. We model this as a stack,
      # tracking the innermost operation until done, then popping.
      #
      # The dictionary has as its key the operation ID and as it's value
      # a tuple of amount done and current message
      #
      self.__progress_stack = []
      self.__progress_dictionary = {}
      self.__progress_dialog = None
  
imports: import os
  import wx
  from cellprofiler_core.analysis import use_analysis
  from cellprofiler_core.preferences import DEFAULT_IMAGE_DIRECTORY
  from cellprofiler_core.preferences import DEFAULT_IMAGE_FOLDER_HELP
  from cellprofiler_core.preferences import DEFAULT_OUTPUT_DIRECTORY
  from cellprofiler_core.preferences import DEFAULT_OUTPUT_FOLDER_HELP
  from cellprofiler_core.preferences import add_image_directory_listener
  from cellprofiler_core.preferences import add_output_directory_listener
  from cellprofiler_core.preferences import add_progress_callback
  from cellprofiler_core.preferences import fire_image_directory_changed_event
  from cellprofiler_core.preferences import get_default_image_directory
  from cellprofiler_core.preferences import get_default_output_directory
  from cellprofiler_core.preferences import get_recent_files
  from cellprofiler_core.preferences import remove_image_directory_listener
  from cellprofiler_core.preferences import remove_output_directory_listener
  from cellprofiler_core.preferences import set_default_image_directory
  from cellprofiler_core.preferences import set_default_output_directory
  from cellprofiler_core.preferences import set_pixel_size
  from ._progress_watcher import ProgressWatcher
  from ..constants.preferences_view import WELCOME_MESSAGE
  from ..html.utils import rst_to_html_fragment
  from ..htmldialog import HTMLDialog
  from ..utilities.preferences_view import secs_to_timestr
label_desc: Use image node_id 9 for calling the PreferencesView obj's underlying member method code with example usage: obj.__make_progress_panel() without return types