Esempio n. 1
0
    def test_signal_view(self):
        self.add_signal_to_form("esaver.complex16s")
        signal = self.form.signal_tab_controller.signal_frames[0].signal

        tree_view = self.dialog.ui.treeViewSignals
        tree_model = tree_view.model()
        item = tree_model.rootItem.children[0].children[0]
        index = tree_model.createIndex(0, 0, item)
        rect = tree_view.visualRect(index)
        QTest.mousePress(tree_view.viewport(), Qt.LeftButton, pos=rect.center())
        mime_data = tree_model.mimeData([index])
        drag_drop = QDropEvent(rect.center(), Qt.CopyAction | Qt.MoveAction, mime_data, Qt.LeftButton, Qt.NoModifier)
        drag_drop.acceptProposedAction()
        self.dialog.ui.gVOriginalSignal.dropEvent(drag_drop)
        self.assertEqual(self.dialog.ui.gVOriginalSignal.sceneRect().width(), signal.num_samples)

        self.dialog.ui.cbShowDataBitsOnly.click()
        self.dialog.ui.chkBoxLockSIV.click()

        self.assertEqual(int(self.dialog.ui.gVOriginalSignal.view_rect().width()),
                         int(self.dialog.ui.gVModulated.view_rect().width()))

        freq = self.dialog.ui.doubleSpinBoxCarrierFreq.value()
        self.dialog.ui.btnAutoDetect.click()
        self.assertNotEqual(freq, self.dialog.ui.doubleSpinBoxCarrierFreq.value())

        self.dialog.ui.comboBoxModulationType.setCurrentText("Frequency Shift Keying (FSK)")
        self.dialog.ui.btnAutoDetect.click()

        self.assertEqual(self.dialog.ui.lCurrentSearchResult.text(), "1")
        self.dialog.ui.btnSearchNext.click()
        self.assertEqual(self.dialog.ui.lCurrentSearchResult.text(), "2")
        self.dialog.ui.btnSearchPrev.click()
        self.assertEqual(self.dialog.ui.lCurrentSearchResult.text(), "1")
Esempio n. 2
0
    def testMove(self):
        w = self.newWidget()
        item = w._path_item_map.get("/Variables/u")
        #b = w.tree.getBlockInfo("/Variables/u")
        w.scrollToItem(item)
        point = w.visualItemRect(item).center()
        item1 = w._path_item_map.get("/Variables/v")
        #b1 = w.tree.getBlockInfo("/Variables/v")
        w.scrollToItem(item1)
        point1 = w.visualItemRect(item1).bottomLeft()

        #idx = b.parent.children_list.index(b.name)
        #idx1 = b.parent.children_list.index(b1.name)
        w.setCurrentItem(item)
        mime = QMimeData()
        mime.setData(w._mime_type, "some data")
        ee = QDragEnterEvent(w.mapToGlobal(point), Qt.MoveAction, mime, Qt.LeftButton, Qt.NoModifier)
        w.dragEnterEvent(ee)
        #Testing.process_events(t=1)
        de = QDropEvent(w.mapToGlobal(point1), Qt.MoveAction, mime, Qt.LeftButton, Qt.NoModifier)
        w.dropEvent(de)
        # This doesn't seem to work for some reason
        #self.assertEqual(idx1, b.parent.children_list.index(b.name))
        #self.assertEqual(idx, b.parent.children_list.index(b1.name))

        w.setCurrentItem(None)
        self.assertEqual(w._current_drag, None)
        w.dropEvent(de)

        w.dragEnterEvent(ee)
        self.assertEqual(w._current_drag, None)
        w.setCurrentItem(item1)
        w.dragEnterEvent(ee)
        self.assertNotEqual(w._current_drag, None)
        w.dropEvent(de)
Esempio n. 3
0
    def _drop_event(self, url):
        # make sure data does not get garbage collected before it used
        # pylint: disable=attribute-defined-outside-init
        self.event_data = data = QMimeData()
        data.setUrls([QUrl(url)])

        return QDropEvent(QPoint(0, 0), Qt.MoveAction, data, Qt.NoButton,
                          Qt.NoModifier, QDropEvent.Drop)
Esempio n. 4
0
 def add_all_signals_to_simulator(self):
     assert isinstance(self.form, MainController)
     sim_frame = self.form.simulator_tab_controller
     sim_frame.ui.treeProtocols.selectAll()
     self.assertGreater(len(sim_frame.ui.treeProtocols.selectedIndexes()), 0)
     mimedata = sim_frame.tree_model.mimeData(sim_frame.ui.treeProtocols.selectedIndexes())
     drop_event = QDropEvent(sim_frame.ui.gvSimulator.rect().center(), Qt.CopyAction | Qt.MoveAction,
                             mimedata, Qt.LeftButton, Qt.NoModifier)
     drop_event.acceptProposedAction()
     sim_frame.ui.gvSimulator.dropEvent(drop_event)
Esempio n. 5
0
def test_EditorPane_drop_event():
    """
    If there's a drop event associated with files, cause them to be passed into
    Mu's existing file loading code.
    """
    ep = mu.interface.editor.EditorPane(None, 'baz')
    m = mock.MagicMock()
    ep.open_file = mock.MagicMock()
    ep.open_file.emit = m
    data = QMimeData()
    data.setUrls([QUrl('file://test/path.py'), QUrl('file://test/path.hex'),
                  QUrl('file://test/path.txt')])
    evt = QDropEvent(QPointF(0, 0), Qt.CopyAction, data,
                     Qt.LeftButton, Qt.NoModifier)
    ep.dropEvent(evt)
    # Upstream _load will handle invalid file type (.txt).
    assert m.call_count == 3
Esempio n. 6
0
def test_file_dd_filter_drop_event(qtbot):
    widget = QLineEdit()
    qtbot.addWidget(widget)

    mime = QMimeData()
    mime.setUrls([
        QUrl("file:///path/to/file"),
    ])
    action = Qt.CopyAction | Qt.MoveAction
    point = widget.rect().center()

    event = QDropEvent(point, action, mime, Qt.LeftButton, Qt.NoModifier)
    event.acceptProposedAction()

    event_filter = events.FileDragAndDropFilter()
    assert event_filter.eventFilter(widget, event)

    assert widget.text() == "/path/to/file"
Esempio n. 7
0
    def dropEvent(self, e):
        # self.addItem(e.mimeData().text())
        mime = e.mimeData()
        nya = mime.text()
        if nya[:8] == 'file:///':
            nya = nya[8:]
            self.tab_.make_open_DRY(nya)
        else:
            self.undoStack.edit_type = 'glue'
            self.undoStack.beginMacro('glue')
            self.my_del()

            u = self.cursorForPosition(e.pos())
            self.setTextCursor(u)

            self.insertFromMimeData(mime)
            self.undoStack.endMacro()
            print(' drop event: ', nya)
            #i do not know how to override proposed event, so i am making another hollow event to unfreeze text cursor
            mimeData = QMimeData()
            mimeData.setText("")
            dummyEvent = QDropEvent(e.posF(), e.possibleActions(), mimeData,
                                    e.mouseButtons(), e.keyboardModifiers())
            QPlainTextEdit.dropEvent(self, dummyEvent)