def mousePressEvent( self, event ):
        """
        Handles the mouse press event.
        
        :param      event | <QMouseEvent>
        """
        scene_point = self.mapToScene(event.pos())
        date        = self.scene().dateAt(scene_point)
        date_time   = self.scene().dateTimeAt(scene_point)
        item        = self.scene().itemAt(scene_point)
        
        if ( not isinstance(item, XCalendarItem) ):
            item = None
        
        # checks to see if the signals are blocked
        if ( not self.signalsBlocked() ):
            if ( item ):
                self.calendarItemClicked.emit(item)
            
            elif ( date_time.isValid() ):
                self.dateTimeClicked.emit(date_time)
            
            elif ( date.isValid() ):
                self.dateClicked.emit(date)
        
        return super(XCalendarWidget, self).mousePressEvent(event)