예제 #1
0
def mouse_click(widget, pos, button=Qt.LeftButton):
    QTest.mouseMove(widget, pos)
    yield
    QTest.mousePress(widget, button, Qt.NoModifier, pos)
    yield
    QTest.mouseRelease(widget, button, Qt.NoModifier, pos)
    yield 0.1
예제 #2
0
def mouse_click(widget, pos, button=Qt.LeftButton):
    QTest.mouseMove(widget, pos)
    yield
    QTest.mousePress(widget, button, Qt.NoModifier, pos)
    yield
    QTest.mouseRelease(widget, button, Qt.NoModifier, pos)
    yield 0.1
예제 #3
0
def drag_mouse(widget, from_pos, to_pos):
    QTest.mousePress(widget, Qt.LeftButton, Qt.NoModifier, from_pos)
    yield
    QTest.mouseMove(widget, from_pos)
    yield 0.1
    QTest.mouseMove(widget, to_pos)
    yield 0.1
    QTest.mouseRelease(widget, Qt.LeftButton, Qt.NoModifier, to_pos)
    yield 0.1
예제 #4
0
def drag_mouse(widget, from_pos, to_pos):
    QTest.mousePress(widget, Qt.LeftButton, Qt.NoModifier, from_pos)
    yield
    QTest.mouseMove(widget, from_pos)
    yield 0.1
    QTest.mouseMove(widget, to_pos)
    yield 0.1
    QTest.mouseRelease(widget, Qt.LeftButton, Qt.NoModifier, to_pos)
    yield 0.1
예제 #5
0
 def mouse_trigger_action(self, name, pause=0):
     menu = self.get_active_popup_widget()
     a, m = self.get_action(name, get_menu=True)
     pos = menu.actionGeometry(a).center()
     QTest.mouseMove(menu, pos)
     yield pause
     self.hover_action(name)
     QTest.mousePress(menu, Qt.LeftButton, Qt.NoModifier, pos)
     yield pause
     QTest.mouseRelease(menu, Qt.LeftButton, Qt.NoModifier, pos)
예제 #6
0
 def mouse_trigger_action(self, name, pause=0):
     menu = self.get_active_popup_widget()
     a, m = self.get_action(name, get_menu=True)
     pos = menu.actionGeometry(a).center()
     QTest.mouseMove(menu, pos)
     yield pause
     self.hover_action(name)
     QTest.mousePress(menu, Qt.LeftButton, Qt.NoModifier, pos)
     yield pause
     QTest.mouseRelease(menu, Qt.LeftButton, Qt.NoModifier, pos)
예제 #7
0
    def userClickDrag(test, distance, delegate):
        """
        Tests a user click/drag operation.  When the delegate opens, a user
        can click + drag on a value to determine how much to update the
        parent widget.
        """
        from decimal import Decimal, getcontext

        item_list = delegate.item_list

        for item in item_list:
            if isinstance(item, LadderItem):
                # pen down
                QTest.mousePress(item, Qt.LeftButton)

                # pen move
                num_ticks = 0
                for x in range(0, distance):
                    pos = QPoint(QCursor().pos().x() + x, QCursor().pos().y() + x)
                    move_event = QMouseEvent(
                        QEvent.MouseMove,
                        pos,
                        Qt.LeftButton,
                        Qt.LeftButton,
                        Qt.KeyboardModifiers()
                    )
                    item.mouseMoveEvent(move_event)

                    # do math for test
                    magnitude = LadderItem._LadderItem__getMagnitude(item, QCursor().pos(), pos)
                    if num_ticks != int(magnitude):
                        # set significant digits
                        sig_digits = item.parent()._significant_digits
                        int_len = len(item.parent().middle_item.text().split('.')[0])
                        getcontext().prec = sig_digits + int_len
                        value_mult = item.value_mult * num_ticks

                        # get values
                        return_val = Decimal(value_mult) + item.orig_value
                        current_val = item.parent().middle_item.getValue()

                        # update num ticks
                        num_ticks = int(magnitude)

                    # test values
                    try:
                        test.assertEqual(float(return_val), float(current_val))
                    except UnboundLocalError:
                        # pass on the first run since the values are not set yet
                        pass
                    except AssertionError:
                        pass
                        """
                        print("""

                # return val == {return_val}
                # current_val == {current_val}
                #
                # float(return val) == {freturn_val}
                # float(current_val) == {fcurrent_val}
                #
                # """.format(
                #     return_val=return_val,
                #     current_val=current_val,
                #     freturn_val=float(return_val),
                #     fcurrent_val=float(current_val),
                # )
                # )
                # """
                # pen up
                QTest.mouseRelease(item, Qt.LeftButton)