docs: def itemChange( self, change, value ):
          """
          Overloads the base QGraphicsItem itemChange method to block user ability
          to move along the y-axis.
          
          :param      change      <int>
          :param      value       <variant>
          
          :return     <variant>
          """
          # only operate when it is a visible, geometric change
          if not (self.isVisible() and change == self.ItemPositionChange):
              return super(XGanttViewItem, self).itemChange( change, value )
          
          if self.isSyncing():
              return super(XGanttViewItem, self).itemChange(change, value)
          
          scene = self.scene()
          # only operate when we have a scene
          if not scene:
              return super(XNode, self).itemChange( change, value )
          
          point = value.toPointF()
          point.setY(self.pos().y())
          
          # create the return value
          new_value = wrapVariant(point)
          
          # call the base method to operate on the new point
          return super(XGanttViewItem, self).itemChange(change, new_value)