docstr: Handle left mouse button down
code: def on_mouse_down(self, event):
      """Handle left mouse button down"""
      assert isinstance(event, wx.MouseEvent)
      self.SetFocus()
      idx = self.GetFocusedItem()
      if self.GetChildrenCount(self.root_id) == 0:
          return
      if event.ShiftDown():
          if self.GetItemText(idx) in self.folder_id_map:
              self.SelectChildren(idx)
          else:
              self.SelectItem(idx)
  
      elif event.ControlDown():
          self.SelectItem(idx)
  
      else:
          self.UnselectAll()
          if idx.IsOk():
              self.SelectItem(idx)
  
      event.Skip()
  
imports: import logging
  import os
  import sys
  import uuid
  from urllib.request import url2pathname
  from urllib.parse import urlparse
  import wx
  import wx.lib.scrolledpanel
  from cellprofiler_core.pipeline import ImageFile
  from cellprofiler_core.preferences import report_progress
label_desc: Use image node_id 37 for calling the PathListCtrl obj's underlying member method code with example usage: obj.on_mouse_down(event) without return types