docs: def rebuild( self ):
          """
          Clears out all the child widgets from this widget and creates the 
          widget that best matches the column properties for this edit.
          """
          plugins.init()
          
          self.blockSignals(True)
          self.setUpdatesEnabled(False)
          
          # clear the old editor
          if ( self._editor ):
              self._editor.close()
              self._editor.setParent(None)
              self._editor.deleteLater()
              self._editor = None
          
          # create a new widget
          plugin_class = plugins.widgets.get(self._columnType)
          if ( plugin_class ):
              self._editor = plugin_class(self)
              self.layout().addWidget(self._editor)
          
          self.blockSignals(False)
          self.setUpdatesEnabled(True)