docs: def setQuery(self, query):
          """
          Sets the query for this wigdet to the inputed query instance.
          
          :param      query | <orb.Query> || <orb.QueryCompound>
          """
          if not self.isNull() and hash(query) == hash(self.query()):
              return
          
          # add entries
          table = self.tableType()
          
          self.setUpdatesEnabled(False)
          self.blockSignals(True)
          self.clear()
          
          if query is None or table is None:
              self.setEnabled(False)
              self.setUpdatesEnabled(True)
              self.blockSignals(False)
              return
          else:
              self.setEnabled(True)
          
          # load the queries for this item
          if QueryCompound.typecheck(query):
              queries = query.queries()
              self.setCurrentJoiner(query.operatorType())
          else:
              queries = [query]
          
          self.uiNameTXT.setText(query.name())
          
          layout = self._entryWidget.layout()
          for index, query in enumerate(queries):
              widget = self.addEntry(query)
              widget.setFirst(index == 0)
              widget.setLast(index == (len(queries) - 1))
              widget.setJoiner(self.currentJoiner())
          
          self.setUpdatesEnabled(True)
          self.blockSignals(False)