def test_rectangle_drawing(self):
     points = [[1, 1], [10, 10], [15, 15]]
     for i in points:
         for j in points:
             if (i[0] != j[0] or i[1] != j[1]):
                 p1 = QPoint()
                 p1.setX(i[0])
                 p1.setY(i[1])
                 p2 = QPoint()
                 p2.setX(j[0])
                 p2.setY(j[1])
                 # print('point', i, j, p1.x(), p1.y(), p2.x(), p2.y())
                 testCanv = Canvas()
                 testCanv.initialize()
                 p = QPainter(testCanv.pixmap())
                 p.setPen(
                     QPen(self.canvas.primary_color,
                          self.canvas.config['size'], Qt.SolidLine,
                          Qt.SquareCap, Qt.MiterJoin))
                 p.drawRect(QRect(p1, p2))
                 p.end()
                 self.canvas.reset()
                 self.canvas.set_mode('rect')
                 self.canvas.config['fill'] = False
                 QTest.mousePress(self.canvas, Qt.LeftButton, Qt.NoModifier,
                                  p1)
                 QTest.mouseMove(self.canvas, p2, 100)
                 QTest.mouseRelease(self.canvas, Qt.LeftButton,
                                    Qt.NoModifier, p2, 100)
                 print(img_not_fill(self.canvas.pixmap().toImage()))
                 # print(img_not_fill(testCanv.pixmap().toImage()))
                 self.assertEqual(
                     True,
                     img_equals(self.canvas.pixmap().toImage(),
                                testCanv.pixmap().toImage()))
Exemple #2
0
 def on_move_complete(self, scene, x, y):
     """ Simulate click on the button """
     QTest.mouseMove(scene.parent, QPoint(x, y))
     QTest.mousePress(scene.parent, Qt.LeftButton, delay=1000)
     self.pressed.emit()
     self.update()
     QTest.mouseRelease(scene.parent, Qt.LeftButton, delay=2000)
     self.update()
 def drag_slider(self, slider):
     ''' Click *slider*, drag from one side to the other, release mouse
     button repeat to restore inital state'''
     position = self.get_slider_position(slider)
     QTest.mouseMove(slider, pos=position.topLeft())
     QTest.mousePress(slider, Qt.LeftButton)
     QTest.mouseMove(slider, pos=position.bottomRight())
     QTest.mouseRelease(slider, Qt.LeftButton)
     QTest.mousePress(slider, Qt.LeftButton)
     QTest.mouseMove(slider, pos=position.topLeft())
     QTest.mouseRelease(slider, Qt.LeftButton)
Exemple #4
0
 def drag_slider(self, slider):
     ''' Click *slider*, drag from one side to the other, release mouse
     button repeat to restore inital state'''
     position = self.get_slider_position(slider)
     QTest.mouseMove(slider, pos=position.topLeft())
     QTest.mousePress(slider, Qt.LeftButton)
     QTest.mouseMove(slider, pos=position.bottomRight())
     QTest.mouseRelease(slider, Qt.LeftButton)
     QTest.mousePress(slider, Qt.LeftButton)
     QTest.mouseMove(slider, pos=position.topLeft())
     QTest.mouseRelease(slider, Qt.LeftButton)
    def test_droplist_completer_mousepick(self):
        leftButton = QtCore.Qt.LeftButton

        w = CompletionWidget(self.console)
        w.show_items(self.text_edit.textCursor(), ["item1", "item2", "item3"])

        QTest.mouseClick(w.viewport(), leftButton, pos=QtCore.QPoint(19, 8))
        QTest.mouseRelease(w.viewport(), leftButton, pos=QtCore.QPoint(19, 8))
        QTest.mouseDClick(w.viewport(), leftButton, pos=QtCore.QPoint(19, 8))

        self.assertEqual(self.text_edit.toPlainText(), "item1")
        self.assertFalse(w.isVisible())
Exemple #6
0
    def test_droplist_completer_mousepick(self):
        leftButton = QtCore.Qt.LeftButton

        w = CompletionWidget(self.console)
        w.show_items(self.text_edit.textCursor(), ["item1", "item2", "item3"])

        QTest.mouseClick(w.viewport(), leftButton, pos=QtCore.QPoint(19, 8))
        QTest.mouseRelease(w.viewport(), leftButton, pos=QtCore.QPoint(19, 8))
        QTest.mouseDClick(w.viewport(), leftButton, pos=QtCore.QPoint(19, 8))

        self.assertEqual(self.text_edit.toPlainText(), "item1")
        self.assertFalse(w.isVisible())
    def add_one_pick(self):
        '''Add a single pick to pile_viewer'''
        pv = self.pile_viewer
        QTest.mouseDClick(pv.viewer, Qt.LeftButton)
        position_tl = pv.pos()
        geom = pv.frameGeometry()
        QTest.mouseMove(pv.viewer, pos=position_tl)
        QTest.mouseMove(pv.viewer, pos=(qc.QPoint(
            position_tl.x()+geom.x()/2., position_tl.y()+geom.y()/2.)))

        # This should be done also by mouseDClick().
        QTest.mouseRelease(pv.viewer, Qt.LeftButton)
        QTest.mouseClick(pv.viewer, Qt.LeftButton)
Exemple #8
0
    def add_one_pick(self):
        '''Add a single pick to pile_viewer'''
        pv = self.pile_viewer
        QTest.mouseDClick(pv.viewer, Qt.LeftButton)
        position_tl = pv.pos()
        geom = pv.frameGeometry()
        QTest.mouseMove(pv.viewer, pos=position_tl)
        QTest.mouseMove(pv.viewer, pos=(qc.QPoint(
            position_tl.x()+geom.x()/2., position_tl.y()+geom.y()/2.)))

        # This should be done also by mouseDClick().
        QTest.mouseRelease(pv.viewer, Qt.LeftButton)
        QTest.mouseClick(pv.viewer, Qt.LeftButton)
    def mouseDrag(widget, press_on, release_on, button,
                  modifier=None, delay=-1):
        """ Convenience helper for dragging a QWidget
        Makes a drag with the mouse.

        Args:
            widget (QWidget):
            press_on (QPoint): this is the position where the mouse is pressed.
            release_on (QPoint): this is the position where the mouse is released.
        """
        if modifier is None:
            modifier = Qt.KeyboardModifiers()
        QTest.mousePress(widget, button, modifier, pos=press_on, delay=delay)
        QTest.mouseMove(widget, pos=release_on, delay=delay)
        QTest.mouseRelease(widget, button, modifier, pos=release_on, delay=delay)
Exemple #10
0
    def mouseDrag(widget, press_on, release_on, button,
                  modifier=None, delay=-1):
        """ Convenience helper for dragging a QWidget
        Makes a drag with the mouse.

        Args:
            widget (QWidget):
            press_on (QPoint): this is the position where the mouse is pressed.
            release_on (QPoint): this is the position where the mouse is released.
        """
        if modifier is None:
            modifier = Qt.KeyboardModifiers()
        QTest.mousePress(widget, button, modifier, pos=press_on, delay=delay)
        QTest.mouseMove(widget, pos=release_on, delay=delay)
        QTest.mouseRelease(widget, button, modifier, pos=release_on, delay=delay)
Exemple #11
0
    def test_downPB(self):
        device = DeviceConnectorMock("Device#1", "Owner", 83)
        self.widget.attachConnector(device)

        positionStart = device.currentPosition()

        downPB = self.widget.ui.downPB
        QTest.mousePress(downPB, Qt.LeftButton)
        self.assertEquals(0, device.upCounter)
        self.assertEquals(1, device.downCounter)
        self.assertEquals(0, device.stopCounter)

        QTest.qSleep(1000)

        QTest.mouseRelease(downPB, Qt.LeftButton)
        self.assertEquals(0, device.upCounter)
        self.assertEquals(1, device.downCounter)
        self.assertEquals(1, device.stopCounter)

        positionEnd = device.currentPosition()
        self.assertLess(positionEnd, positionStart)
Exemple #12
0
def mouse_drag(widget, start_pos=None, stop_pos=None, button=Qt.LeftButton):
    """Simulates dragging the mouse from a start position to a stop position

    :param widget: widget to drag mouse on
    :type widget: QtWidgets.QWidget
    :param start_pos: start mouse position
    :type start_pos: QtCore.QPoint
    :param stop_pos: stop mouse position
    :type stop_pos: QtCore.QPoint
    :param button: button to press while dragging
    :type button: Qt.MouseButtons
    """
    if start_pos is None:
        start_pos = widget.rect().topLeft()
    if stop_pos is None:
        stop_pos = widget.rect().bottomRight()

    QTest.mousePress(widget, button, pos=start_pos)

    event = QMouseEvent(QEvent.MouseMove, stop_pos, button, button,
                        Qt.NoModifier)
    APP.sendEvent(widget, event)

    QTest.mouseRelease(widget, button, pos=stop_pos)