class_docstr: Specialized Documenter subclass for traits
class_docstr_tok: ["Specialized","Documenter","subclass","for","traits"]
docstr: Add traits to members list
docstr_tok: ["Add","traits","to","members","list"]
code: def get_object_members(self, want_all):
      """Add traits to members list"""
      check, members = super().get_object_members(want_all)
      get_traits = (
          self.object.class_own_traits
          if self.options.inherited_members
          else self.object.class_traits
      )
      members_new = OrderedDict()
      for m in members:
          members_new[m[0]] = m[1]
      traits = tuple(get_traits().items())
      for name, trait in traits:
          if name not in members_new:
              # Don't add a member that would normally be filtered
              continue
              # pass # FIXME: Debugging
  
          # put help in __doc__ where autodoc will look for it
          trait.__doc__ = trait.help or extended_trait_info(
              getattr(self.object, name)
          )
          members_new[name] = trait
  
      return check, [kv for kv in members_new.items()]
  
file_path: pythreejs/docs/sphinxext/autodoc_traits.py
imports: from collections import OrderedDict
  from traitlets import TraitType, Undefined, Container, Dict, Any, HasTraits
  from sphinx.ext.autodoc import ClassDocumenter, AttributeDocumenter
label_desc: Use image node_id 2 for calling the HasTraitsDocumenter obj's underlying member method code with example usage: obj.get_object_members(want_all) and returns: check,  unknown