docstr: Return paths
  
  flags - PathListCtrl.FLAG_ENABLED_ONLY to only return paths marked
          as enabled, PathListCtrl.FLAG_SELECTED_ONLY to return only
          selected paths, PathListCtrl.FLAG_FOCUS_ITEM_ONLY to return
          either an empty list or the focus item's path.
docstr_tok: ["Return","paths","flags","-","PathListCtrl.FLAG_ENABLED_ONLY","to","only","return","paths","marked","as","enabled",",","PathListCtrl.FLAG_SELECTED_ONLY","to","return","only","selected","paths",",","PathListCtrl.FLAG_FOCUS_ITEM_ONLY","to","return","either","an","empty","list","or","the","focus","item","'s","path","."]
code: def get_paths(self, flags=0):
      """Return paths
  
      flags - PathListCtrl.FLAG_ENABLED_ONLY to only return paths marked
              as enabled, PathListCtrl.FLAG_SELECTED_ONLY to return only
              selected paths, PathListCtrl.FLAG_FOCUS_ITEM_ONLY to return
              either an empty list or the focus item's path.
      """
      paths = []
      if flags & PathListCtrl.FLAG_FOCUS_ITEM_ONLY:
  
          def fn_iter():
              if self.GetFocusedItem().ID is not None:
                  idx = self.GetFocusedItem()
                  yield self.GetItemData(self.GetFocusedItem()), idx
  
      elif flags & PathListCtrl.FLAG_SELECTED_ONLY:
  
          def fn_iter():
              for idx in self.GetSelections():
                  # If the folder is selected with no children, delete the whole folder.
                  # If the folder is selected but so are some children, delete the selected children only.
                  if self.is_folder(idx):
                      to_del = []
                      should_del = True
                      child_idx, cookie = self.GetFirstChild(idx)
                      while child_idx.IsOk():
                          if self.IsSelected(child_idx):
                              should_del = False
                              break
                          else:
                              to_del.append(child_idx)
                          child_idx, cookie = self.GetNextChild(
                              idx, cookie
                          )
                      if should_del:
                          for del_idx in to_del:
                              yield self.GetItemData(del_idx), del_idx
                      continue
                  yield self.GetItemData(idx), idx
  
      else:
  
          def fn_iter():
              for idx in self.file_id_map.values():
                  yield self.GetItemData(idx), idx
  
      for item, idx in fn_iter():
          if idx is None:
              continue
          if flags & PathListCtrl.FLAG_ENABLED_ONLY:
              if item.url in self.disabled_urls:
                  continue
          paths.append(item.url)
      return paths
  
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 23 for calling the PathListCtrl obj's underlying member method code with example usage: obj.get_paths(flags) and returns: paths