def hasvar(obj, var):
  if hasattr(obj, var):
    return not callable(getattr(obj, var))
  return False
Updates the editor when the object trait changes externally to the
dataset/ETHPy150Open nikcub/floyd/floyd/util/object.py/hasvar--crossover with--dataset/ETHPy150Open enthought/traitsui/traitsui/wx/check_list_editor.py/CustomEditor.update_editor