docs: def handleButtonClick( self, button ):
          """
          Handle the event when a user clicks on one of the part buttons.
          
          :param      button | <QToolButton>
          """
          path            = button.property('path')
          is_completer    = button.property('is_completer')
          
          # popup a completion menu
          if ( unwrapVariant(is_completer) ):
              model = self.navigationModel()
              if ( not model ):
                  return
              
              sep  = self.separator()
              path = nativestring(unwrapVariant(path))
              item = model.itemByPath(path, includeRoot = True)
              if ( not item ):
                  return
              
              curr_path = nativestring(self.text()).strip(self.separator())
              curr_path = curr_path.replace(path, '').strip(self.separator())
              
              child_name = ''
              if ( curr_path ):
                  child_name = curr_path.split(self.separator())[0]
              
              index = model.indexFromItem(item)
              
              self._completerTree.move(QCursor.pos())
              self._completerTree.setRootIndex(index)
              self._completerTree.verticalScrollBar().setValue(0)
              
              if ( child_name ):
                  child_item = None
                  for i in range(item.rowCount()):
                      child = item.child(i)
                      if ( child.text() == child_name ):
                          child_item = child
                          break
                  
                  if ( child_item ):
                      child_index = model.indexFromItem(child_item)
                      self._completerTree.setCurrentIndex(child_index)
                      self._completerTree.scrollTo(child_index)
              
              self._completerTree.show()
              self._completerTree.setUpdatesEnabled(True)
          else:
              self.setText(unwrapVariant(path))