class_docstr: A list of checkboxes with extra annotation, and a context menu.
  
  Designed as an alternative to NameSubscriberCombobox which simplifies selection of
  multiple items.
code: def __init__(
      self,
      annotation,
      choices=None,
      checked=[],
      name="",
      nametype="Image",
  ):
      wx.Panel.__init__(self, annotation, name=name)
      self.choices = choices
      if self.choices is None:
          self.choices = []
      if platform.system() == "darwin":
          self.text_width = 50
      else:
          self.text_width = 90
      self.checked = checked
      self.choice_names = self.get_choice_names()
      self.nametype = nametype
      self.list_dlg = wx.CheckListBox(
          self, style=wx.LB_NEEDED_SB | wx.LB_HSCROLL
      )
      self.list_dlg.SetMinSize((350, 125))
      self.SetItems(self.choices)
      self.SetChecked(self.checked)
      sizer = wx.BoxSizer(wx.VERTICAL)
      sizer.Add(self.list_dlg, 0, flag=wx.ALL | wx.EXPAND, border=3)
      self.SetSizer(sizer)
      self.callbacks = []
      self.list_dlg.Bind(wx.EVT_CHECKLISTBOX, self.choice_made)
      self.list_dlg.Bind(wx.EVT_CONTEXT_MENU, self.right_menu)
      self.list_dlg.Bind(wx.EVT_LISTBOX, self.item_selected)
  
imports: import platform
  import wx
label_desc: Use image node_id 1 to create a new NameSubscriberListBox object from inherited base classes: wx with example: obj = NameSubscriberListBox(annotation, choices, checked, name, nametype)