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")
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)
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)
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)
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
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"
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)