code: def data(self, index, role=Qt.DisplayRole):
          
  
          if role == Qt.DisplayRole:
              node = self.get_node(index)
              if node.family == "Editor":
                  data = self.__editor_node_format.format(node.name)
              elif node.family == "File":
                  data = self.__file_node_format.format(node.name)
              elif node.family == "Directory":
                  data = self.__directory_node_format.format(node.name)
              elif node.family == "Project":
                  if node is self.sourceModel().default_project_node:
                      data = self.__default_project_node_format.format(node.name)
                  else:
                      data = self.__project_node_format.format(node.name)
              else:
                  data = QVariant()
              return data
          else:
              return QSortFilterProxyModel.data(self, index, role)
docs: Reimplements the :meth:`QSortFilterProxyModel.data` method.
  
          :param index: Index.
          :type index: QModelIndex
          :param role: Role.
          :type role: int
          :return: Data.
          :rtype: QVariant