docs: def setQuery(self, query):
          """
          Sets the query instance for this widget to the inputed query.
          
          :param      query | <orb.Query> || <orb.QueryCompound>
          """
          if not query.isNull() and hash(query) == hash(self._query):
              return
          
          self._query = query
          
          if QueryCompound.typecheck(query):
              self.uiColumnDDL.hide()
              self.uiOperatorDDL.hide()
              
              # setup the compound editor
              editor = XLineEdit(self)
              editor.setReadOnly(True)
              editor.setText(query.name() + ' %s' % nativestring(query))
              editor.setHint(nativestring(query))
              
              self.setEditor(editor)
          
          else:
              self.uiColumnDDL.show()
              self.uiOperatorDDL.show()
              
              text = query.columnName()
              self.uiColumnDDL.setCurrentSchemaPath(nativestring(text))
              
              self.uiOperatorDDL.blockSignals(True)
              plug = self.currentPlugin()
              if plug:
                  op = plug.operator(query.operatorType(), query.value())
                  
                  index = self.uiOperatorDDL.findText(op)
                  if index != -1:
                      self.uiOperatorDDL.setCurrentIndex(index)
              
              self.uiOperatorDDL.blockSignals(False)
          
          self.refreshButtons()