docs: def add_message(self, msg):
          """
          Adds a checker message to the table.
  
          :param msg: The message to append
          :type msg: pyqode.core.modes.CheckerMessage
          """
          row = self.rowCount()
          self.insertRow(row)
  
          # type
          item = QtWidgets.QTableWidgetItem(
              self._make_icon(msg.status), msg.status_string)
          item.setFlags(QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable)
          item.setData(QtCore.Qt.UserRole, msg)
          self.setItem(row, COL_TYPE, item)
  
          # filename
          item = QtWidgets.QTableWidgetItem(
              QtCore.QFileInfo(msg.path).fileName())
          item.setFlags(QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable)
          item.setData(QtCore.Qt.UserRole, msg)
          self.setItem(row, COL_FILE_NAME, item)
  
          # line
          if msg.line < 0:
              item = QtWidgets.QTableWidgetItem("-")
          else:
              item = QtWidgets.QTableWidgetItem(str(msg.line + 1))
          item.setFlags(QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable)
          item.setData(QtCore.Qt.UserRole, msg)
          self.setItem(row, COL_LINE_NBR, item)
  
          # desc
          item = QtWidgets.QTableWidgetItem(msg.description)
          item.setFlags(QtCore.Qt.ItemIsEnabled | QtCore.Qt.ItemIsSelectable)
          item.setData(QtCore.Qt.UserRole, msg)
          self.setItem(row, COL_MSG, item)