class_docstr: Select named columns from a record array or MetaArray.
class_docstr_tok: ["Select","named","columns","from","a","record","array","or","MetaArray","."]
code: def updateList(self, data):
      if hasattr(data, "implements") and data.implements("MetaArray"):
          cols = data.listColumns()
          for ax in cols:  ## find first axis with columns
              if len(cols[ax]) > 0:
                  self.axis = ax
                  cols = set(cols[ax])
                  break
      else:
          cols = list(data.dtype.fields.keys())
  
      rem = set()
      for c in self.columns:
          if c not in cols:
              self.removeTerminal(c)
              rem.add(c)
      self.columns -= rem
  
      self.columnList.blockSignals(True)
      self.columnList.clear()
      for c in cols:
          item = QtWidgets.QListWidgetItem(c)
          item.setFlags(
              QtCore.Qt.ItemFlag.ItemIsEnabled
              | QtCore.Qt.ItemFlag.ItemIsUserCheckable
          )
          if c in self.columns:
              item.setCheckState(QtCore.Qt.CheckState.Checked)
          else:
              item.setCheckState(QtCore.Qt.CheckState.Unchecked)
          self.columnList.addItem(item)
      self.columnList.blockSignals(False)
  
imports: import numpy
  from ...graphicsItems.LinearRegionItem import LinearRegionItem
  from ...Qt import QtCore, QtWidgets
  from ...widgets.TreeWidget import TreeWidget
  from ..Node import Node
  from .None import functions
  from .common import CtrlNode
label_desc: Use image node_id 4 for calling the ColumnSelectNode obj's underlying member method code with example usage: obj.updateList(data) without return types