code: def index(self, row, column, parent):
          
          item = parent.internalPointer()
          #: If the parent is None
          d = self.declaration if item is None else item.declaration
          if row < len(d._items):
              proxy = d._items[row].proxy
              assert isinstance(proxy, QtTreeViewItem), \
                  "Invalid item {}".format(proxy)
          else:
              proxy = d.proxy
          return self.createIndex(row, column, proxy)
docs: The index should point to the corresponding QtControl in the 
          enaml object hierarchy.