code: def updateState(self, slicedArray, rtiInfo, separateFields):
          
          self.beginResetModel()
          try:
              # The sliced array can be a masked array or a (regular) numpy array.
              # The table works fine with masked arrays, no need to replace the masked values.
              self._slicedArray = slicedArray
              if slicedArray is None:
                  self._nRows = 0
                  self._nCols = 0
                  self._fieldNames = []
              else:
                  self._nRows, self._nCols = self._slicedArray.shape
                  if self._slicedArray.data.dtype.names:
                      self._fieldNames = self._slicedArray.data.dtype.names
                  else:
                      self._fieldNames = []
  
              self._rtiInfo = rtiInfo
              self._separateFields = separateFields
  
              # Don't put numbers in the header if the record is of structured type, fields are
              # placed in separate cells and the fake dimension is selected (combo index 0)
              if self._separateFields and self._fieldNames:
  
                  if self._rtiInfo['x-dim'] == FAKE_DIM_NAME:
                      self._separateFieldOrientation = Qt.Horizontal
                      self._numbersInHeader = False
                  elif self._rtiInfo['y-dim'] == FAKE_DIM_NAME:
                      self._separateFieldOrientation = Qt.Vertical
                      self._numbersInHeader = False
                  else:
                      self._separateFieldOrientation = Qt.Horizontal
                      self._numbersInHeader = True
              else:
                  self._separateFieldOrientation = None
                  self._numbersInHeader = True
  
          finally:
              self.endResetModel()
docs: Sets the slicedArray and rtiInfo and other members. This will reset the model.
  
              Will be called from the tableInspector._drawContents.