Esempio n. 1
0
    def dropEvent(self, event: QDropEvent):
        self.drag_active = False
        row = self.rowAt(event.pos().y())
        index = self.model().createIndex(row, 0)  # this always get the default 0 column index
        rect = self.visualRect(index)
        drop_indicator_position = self.position(event.pos(), rect)
        if row == -1:
            row = self.model().row_count - 1
        elif drop_indicator_position == self.BelowItem or drop_indicator_position == self.OnItem:
            row += 1

        self.model().dropped_row = row

        super().dropEvent(event)
Esempio n. 2
0
    def dropEvent(self, event: QDropEvent):
        """custom drop event to prevent reparenting
        """
        # data = event.mimeData()
        # if data.hasFormat('application/x-qabstractitemmodeldatalist'):
        #     the_bytearray = data.data('application/x-qabstractitemmodeldatalist')
        #     data_item = self.decodeMimeData(the_bytearray)
        #     print("got a drop event", data_item)

        # item Drop above
        pos = event.pos()
        dest_item = self.itemAt(pos)
        if dest_item is None:
            return
        dest_parent = dest_item.parent()
        selected_items = self.selectedItems()
        for x in selected_items:
            if x.parent() != dest_parent:
                return

        res = QTreeWidget.dropEvent(self, event)
        if isinstance(dest_item, OutlineVirtualHelixItem):
            part = dest_item.part()
            vhi_list = [dest_parent.child(i) for i in range(dest_parent.childCount())]
            part.setImportedVHelixOrder([vhi.idNum() for vhi in vhi_list], check_batch=False)
Esempio n. 3
0
 def dropEvent(self, event: QDropEvent):
     super().dropEvent(event)
     if self.count() > 0:
         item = self.itemAt(event.pos())
         if item is not None:
             index = self.indexFromItem(item).row()
             self.setCurrentRow(index)
         else:
             self.setCurrentRow(self.count()-1)
Esempio n. 4
0
 def dropEvent(self, event: QDropEvent):
     target = self.itemAt(event.pos())
     sources = self.selectedItems()
     self.window().central_widget.move_items(sources, target)
 def dropEvent(self, event: QDropEvent):
     if len(event.mimeData().urls()) == 0:
         self.frame_dropped.emit(self.mapToParent(event.pos()))
     else:
         self.files_dropped.emit(event.mimeData().urls())
 def dropEvent(self, event: QDropEvent):
     if len(event.mimeData().urls()) == 0:
         self.frame_dropped.emit(self.mapToParent(event.pos()))
     else:
         self.files_dropped.emit(event.mimeData().urls())
Esempio n. 7
0
 def dragMoveEvent(self, event: QDropEvent):
     self.update_drop_indicator(event.pos())
Esempio n. 8
0
 def dropEvent(self, event: QDropEvent):
     if len(event.mimeData().urls()) > 0:
         group_id = self.model().get_group_id_for_index(self.indexAt(event.pos()))
         self.files_dropped_on_group.emit(event.mimeData().urls(), group_id)
     else:
         super().dropEvent(event)