source: dassmodus/trunk/dassmodus/dassmodus/dassmodus/dragndrop.py@ 955

Last change on this file since 955 was 953, checked in by pstorz, on Sep 28, 2011 at 11:32:32 AM

first checkin

File size: 1.9 KB
Line 
1#!/usr/bin/env python
2# -*- coding: utf-8 -*-
3#
4# $Id: dassmodus.py 11167 2010-10-06 15:01:40Z pstorz $
5
6
7from PyQt4.QtCore import *
8from PyQt4.QtGui import *
9
10
11
12class DnDListWidget(QListWidget):
13
14 def __init__(self, parent=None):
15 super(DnDListWidget, self).__init__(parent)
16 self.setAcceptDrops(True)
17 self.setDragEnabled(True)
18
19
20 def dragEnterEvent(self, event):
21 if event.mimeData().hasText():
22 event.accept()
23 else:
24 event.ignore()
25
26
27 def dragMoveEvent(self, event):
28 if event.mimeData().hasText:
29 event.setDropAction(Qt.MoveAction)
30 event.accept()
31 else:
32 event.ignore()
33
34
35 def dropEvent(self, event):
36 if event.mimeData().hasText():
37 text = event.mimeData().text()
38 item = QListWidgetItem(text, self)
39 event.setDropAction(Qt.MoveAction)
40 event.accept()
41 else:
42 event.ignore()
43
44 def startDrag(self, supportedActions):
45 #print self.currentItem().text(0)
46 currentItemName = self.currentItem().data
47 #currentItemName = self.currentItem().text(0)
48 mimeData = QMimeData()
49 mimeData.setText(currentItemName)
50 drag = QDrag(self)
51 drag.setMimeData(mimeData)
52 dropAction = drag.start(Qt.CopyAction)
53
54
55
56
57class DnDTreeWidget(QTreeWidget):
58
59 def __init__(self, parent=None):
60 super(DnDTreeWidget, self).__init__(parent)
61 #self.setAcceptDrops(True)
62 self.setDragEnabled(True)
63
64 def startDrag(self, supportedActions):
65 #print self.currentItem().text(0)
66 currentItemName = self.currentItem().data
67 #currentItemName = self.currentItem().text(0)
68 mimeData = QMimeData()
69 mimeData.setText(currentItemName)
70 drag = QDrag(self)
71 drag.setMimeData(mimeData)
72 dropAction = drag.start(Qt.CopyAction)
Note: See TracBrowser for help on using the repository browser.