def dragMoveEvent(self, e): """ desc: Accepts drag-moves to implement moving items. arguments: e: type: QGraphicsSceneDragDropEvent """ data = drag_and_drop.receive(e) if data[u'type'] != u'sketchpad-element-move': e.ignore() return ex, ey = self.cursor_pos(e, grid=True) dx = ex - self.start_move_pos[0] dy = ey - self.start_move_pos[1] self.start_move_pos = ex, ey if abs(dx) < self.grid and abs(dy) < self.grid: e.accept() return self.sketchpad.move_elements(self.sketchpad.selected_elements(), dx=dx, dy=dy) self.sketchpad.draw() e.accept()
def dragMoveEvent(self, e): """ desc: Accepts drag-moves to implement moving items. arguments: e: type: QGraphicsSceneDragDropEvent """ data = drag_and_drop.receive(e) if data[u'type'] != u'sketchpad-element-move': e.ignore() return ex, ey = self.cursor_pos(e, grid=True) dx = ex-self.start_move_pos[0] dy = ey-self.start_move_pos[1] self.start_move_pos = ex, ey if abs(dx) < self.grid and abs(dy) < self.grid: e.accept() return self.sketchpad.move_elements(self.sketchpad.selected_elements(), dx=dx, dy=dy) self.sketchpad.draw() e.accept()
def dragMoveEvent(self, e): """ desc: Handles drag-move events to see if the item tree can handle incoming drops. arguments: e: desc: A drag-move event. type: QDragMoveEvent """ data = drag_and_drop.receive(e) if drag_and_drop.matches(data, [u'url-local']): e.accept() return if not drag_and_drop.matches(data, [u'item-new', u'item-existing']): e.accept() return target = self.itemAt(e.pos()) if not self.droppable(target, data): e.ignore() return e.accept()
def dragEnterEvent(self, e): """ desc: Handles drag-enter events to see if the item tree can handle incoming drops. arguments: e: desc: A drag-enter event. type: QDragEnterEvent """ data = drag_and_drop.receive(e) if drag_and_drop.matches(data, [u"item-new", u"item-existing", u"url-local"]): e.accept() else: e.ignore()
def dragEnterEvent(self, e): """ desc: Handles drag-enter events to see if the item tree can handle incoming drops. arguments: e: desc: A drag-enter event. type: QDragEnterEvent """ data = drag_and_drop.receive(e) if drag_and_drop.matches( data, [u'item-new', u'item-existing', u'url-local']): e.accept() else: e.ignore()
def dragEnterEvent(self, e): """ desc: Handles drag-enter events to see if they are supported arguments: e: desc: A drag-enter event. type: QDragEnterEvent """ if not hasattr(self, u'supported_drop_types'): e.ignore() return data = drag_and_drop.receive(e) if drag_and_drop.matches(data, self.supported_drop_types): e.accept() else: e.ignore()
def dragMoveEvent(self, e): """ desc: Handles drag-move events to see if the item tree can handle incoming drops. arguments: e: desc: A drag-move event. type: QDragMoveEvent """ data = drag_and_drop.receive(e) self.drop_indicator = None if drag_and_drop.matches(data, [u"url-local"]): e.accept() self.end_drag() return if not drag_and_drop.matches(data, [u"item-snippet", u"item-existing"]): e.accept() self.end_drag() return target = self.itemAt(e.pos()) if not self.droppable(target, data): self.end_drag() e.ignore() return e.accept() # Update the drop indicator index = self.indexFromItem(target) rect = self.visualRect(index) if target.name == u"__unused__" or ( target.item.name in self.experiment.items.used() and isinstance(target.item, qtstructure_item) and target.item.name != self.experiment.var.start and target.parent() is not None ): self.drop_indicator = rect else: self.drop_indicator = QtCore.QRect(rect.left(), rect.bottom(), rect.width(), 0) self.viewport().update()
def dragMoveEvent(self, e): """ desc: Handles drag-move events to see if the item tree can handle incoming drops. arguments: e: desc: A drag-move event. type: QDragMoveEvent """ data = drag_and_drop.receive(e) self.drop_indicator = None if drag_and_drop.matches(data, [u'url-local']): e.accept() self.end_drag() return if not drag_and_drop.matches(data, [u'item-snippet', u'item-existing']): e.accept() self.end_drag() return target = self.itemAt(e.pos()) if not self.droppable(target, data): self.end_drag() e.ignore() return e.accept() # Update the drop indicator index = self.indexFromItem(target) rect = self.visualRect(index) if target.name == u'__unused__' or ( \ target.item.name in self.experiment.items.used() and \ isinstance(target.item, qtstructure_item) and \ target.item.name != self.experiment.var.start and \ target.parent() is not None): self.drop_indicator = rect else: self.drop_indicator = QtCore.QRect(rect.left(), rect.bottom(), rect.width(), 0) self.viewport().update()
def dropEvent(self, e): """ desc: Handles drop events and accepts them if supported. arguments: e: desc: A drop event. type: QDropEvent """ if not hasattr(self, u'supported_drop_types'): e.ignore() return data = drag_and_drop.receive(e) if drag_and_drop.matches(data, self.supported_drop_types): e.accept() self.accept_drop(data) else: e.ignore()
def dragMoveEvent(self, e): """ desc: Handles drag-move events to see if the item tree can handle incoming drops. arguments: e: desc: A drag-move event. type: QDragMoveEvent """ data = drag_and_drop.receive(e) self.drop_indicator = None if drag_and_drop.matches(data, [u'url-local']): e.accept() self.end_drag() return if not drag_and_drop.matches(data, [u'item-new', u'item-existing']): e.accept() self.end_drag() return target = self.itemAt(e.pos()) if not self.droppable(target, data): self.end_drag() e.ignore() return e.accept() # Update the drop indicator index = self.indexFromItem(target) rect = self.visualRect(index) if target.name == u'__unused__' or ( target.item.item_type in (u'loop', u'sequence') and \ target.item.name != self.experiment.start and \ target.parent() is not None): self.drop_indicator = rect else: self.drop_indicator = QtCore.QRect(rect.left(), rect.bottom(), rect.width(), 0) self.viewport().update()
def dropEvent(self, e): """ desc: Handles drop events for file opening and item creation. arguments: e: desc: A drop event. type: QDropEvent """ data = drag_and_drop.receive(e) if data[u'type'] == u'item-new': self.drop_event_item_new(data, e) elif data[u'type'] == u'item-existing': self.drop_event_item_move(data, e) elif data[u'type'] == u'url-local': self.main_window.open_file(path=data[u'url']) else: e.ignore()
def dropEvent(self, e): """ desc: Accept drops. arguments: e: desc: A drop event. type: QDragLeaveEvent """ data = drag_and_drop.receive(e) if data[u'type'] == u'item-snippet': self.drop_event_item_new(data, e) elif data[u'type'] == u'item-existing': self.drop_event_item_existing(data, e) elif data[u'type'] == u'url-local': self.main_window.open_file(path=data[u'url']) e.accept() else: e.ignore() self.end_drag()
def dropEvent(self, e): """ desc: Handles drop events for file opening and item creation. arguments: e: desc: A drop event. type: QDropEvent """ data = drag_and_drop.receive(e) if data[u'type'] == u'item-new': self.drop_event_item_new(data, e) elif data[u'type'] == u'item-existing': self.drop_event_item_move(data, e) elif data[u'type'] == u'url-local': self.main_window.open_file(path=data[u'url']) e.accept() else: e.ignore() self.end_drag()
def dropEvent(self, e): """ desc: Handles drop events for file opening and item creation. arguments: e: desc: A drop event. type: QDropEvent """ data = drag_and_drop.receive(e) if data[u"type"] == u"item-new": self.drop_event_item_new(data, e) elif data[u"type"] == u"item-existing": self.drop_event_item_move(data, e) elif data[u"type"] == u"url-local": self.main_window.open_file(path=data[u"url"]) e.accept() else: e.ignore() self.end_drag()
def dropEvent(self, e): """ desc: Accept drops. arguments: e: desc: A drop event. type: QDragLeaveEvent """ data = drag_and_drop.receive(e) if data[u"type"] == u"item-snippet": self.drop_event_item_new(data, e) elif data[u"type"] == u"item-existing": self.drop_event_item_existing(data, e) elif data[u"type"] == u"url-local": self.main_window.open_file(path=data[u"url"]) e.accept() else: e.ignore() self.end_drag()