class_docstr: Abstract ParameterTree item. 
  Used to represent the state of a Parameter from within a ParameterTree.
  
    - Sets first column of item to name
    - generates context menu if item is renamable or removable
    - handles child added / removed events
    - provides virtual functions for handling changes from parameter
  
  For more ParameterItem types, see ParameterTree.parameterTypes module.
class_docstr_tok: ["Abstract","ParameterTree","item",".","Used","to","represent","the","state","of","a","Parameter","from","within","a","ParameterTree",".","-","Sets","first","column","of","item","to","name","-","generates","context","menu","if","item","is","renamable","or","removable","-","handles","child","added","\/","removed","events","-","provides","virtual","functions","for","handling","changes","from","parameter","For","more","ParameterItem","types",",","see","ParameterTree.parameterTypes","module","."]
docstr: Called when the text in a column has been edited (or otherwise changed).
  By default, we only use changes to column 0 to rename the parameter.
docstr_tok: ["Called","when","the","text","in","a","column","has","been","edited","(","or","otherwise","changed",")",".","By","default",",","we","only","use","changes","to","column","0","to","rename","the","parameter","."]
code: def columnChangedEvent(self, col):
      """Called when the text in a column has been edited (or otherwise changed).
      By default, we only use changes to column 0 to rename the parameter.
      """
      if col == 0 and (self.param.opts.get("title", None) is None):
          if self.ignoreNameColumnChange:
              return
          try:
              newName = self.param.setName(self.text(col))
          except Exception:
              self.setText(0, self.param.name())
              raise
  
          try:
              self.ignoreNameColumnChange = True
              self.nameChanged(
                  self, newName
              )  ## If the parameter rejects the name change, we need to set it back.
          finally:
              self.ignoreNameColumnChange = False
  
imports: from ..Qt import QtCore, QtGui, QtWidgets
label_desc: Use image node_id 12 for calling the ParameterItem obj's underlying member method code with example usage: obj.columnChangedEvent(col) without return types