Returns the query for this item by joining together its children, 
        or building its data.
        
        :return     <Query> || <QueryCompound>

def query( self ):
        """
        Returns the query for this item by joining together its children, 
        or building its data.
        
        :return     <Query> || <QueryCompound>
        """
        if ( self.childCount() ):
            q = Q()
            for i in range(self.childCount()):
                q &= self.child(i).query()
            return q
        else:
            op_name = projex.text.classname(self.text(2))
            q = Q(nativestring(self.text(1)))
            q.setOperatorType(Q.Op[op_name])
            q.setValueString(nativestring(self.text(3)))
            return q