CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Static Public Attributes | Private Attributes
Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget Class Reference
Inheritance diagram for Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget:

Public Member Functions

def __init__
 
def mimeData
 
def mimeType
 
def mimeTypes
 
def mousePressEvent
 
def populate
 
def setDragEnable
 
def setMimeType
 
def startDrag
 

Static Public Attributes

string MIME_TYPE = "text/plain"
 

Private Attributes

 _mimeType
 

Detailed Description

TreeWidget suitable for holding a list of strings.

Definition at line 6 of file SimpleDraggableTreeWidget.py.

Constructor & Destructor Documentation

def Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.__init__ (   self,
  headerLabel,
  dragEnabled = False,
  mimeType = None,
  parent = None 
)
Constructor.

Definition at line 10 of file SimpleDraggableTreeWidget.py.

References TrackerMap.palette, and Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.setMimeType().

10 
11  def __init__(self, headerLabel, dragEnabled=False, mimeType=None, parent=None):
12  """ Constructor.
13  """
14  QTreeWidget.__init__(self,parent)
15  self.setMimeType(mimeType)
16  self.setAutoFillBackground(True)
17  #print "color roles", QPalette.Base, QPalette.Window, self.backgroundRole()
18  lightBlueBackgroundColor = QColor(Qt.blue).lighter(195)
19  #lightBlueBackgroundColor = QColor(Qt.red)
20  self.palette().setColor(QPalette.Base, lightBlueBackgroundColor) # OS X
21  self.palette().setColor(QPalette.Window, lightBlueBackgroundColor)
22 
23  self.setColumnCount(1)
24  self.setHeaderLabels([headerLabel])
25  if dragEnabled:
26  self.setDragEnabled(True)

Member Function Documentation

def Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.mimeData (   self,
  items 
)
Returns QMimeData for drag and drop.

Definition at line 60 of file SimpleDraggableTreeWidget.py.

References Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.mimeType().

Referenced by Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.startDrag().

60 
61  def mimeData(self, items):
62  """ Returns QMimeData for drag and drop.
63  """
64  logging.debug(self.__class__.__name__ + ": mimeData()")
65  mime = QMimeData()
66  encodedData = QByteArray()
67 
68  for item in items:
69  encodedData.append(item.text(0))
70  mime.setData(self.mimeType(), encodedData)
71  return mime
def Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.mimeType (   self)
Returns mime type which will be used to encode list entries while dragging.

Definition at line 38 of file SimpleDraggableTreeWidget.py.

References Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget._mimeType.

Referenced by Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.mimeData(), and Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.mimeTypes().

38 
39  def mimeType(self):
40  """ Returns mime type which will be used to encode list entries while dragging.
41  """
42  return self._mimeType
def Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.mimeTypes (   self)
Returns self.mimeType() as single element of QStringList.

Definition at line 53 of file SimpleDraggableTreeWidget.py.

References Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.mimeType().

53 
54  def mimeTypes(self):
55  """ Returns self.mimeType() as single element of QStringList.
56  """
57  list = QStringList()
58  list << self.mimeType()
59  return list
def Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.mousePressEvent (   self,
  event 
)

Definition at line 92 of file SimpleDraggableTreeWidget.py.

References edm::signalslot::Signal< T >.emit(), edm::signalslot::Signal< void(StreamID)>.emit(), edm::signalslot::Signal< void(const std::string &, const std::string &)>.emit(), edm::signalslot::Signal< void(service::SystemBounds const &)>.emit(), edm::signalslot::Signal< void(StreamContext const &)>.emit(), edm::signalslot::Signal< void(const std::string &, const edmplugin::PluginInfo &)>.emit(), edm::signalslot::Signal< void(TerminationOrigin)>.emit(), edm::signalslot::Signal< void(StreamContext const &, PathContext const &, HLTPathStatus const &)>.emit(), edm::signalslot::Signal< void(edm::StreamContext const &, edm::ModuleCallingContext const &)>.emit(), edm::signalslot::Signal< void()>.emit(), edm::signalslot::Signal< void(std::string const &, bool)>.emit(), edm::signalslot::Signal< void(GlobalContext const &, ModuleCallingContext const &)>.emit(), edm::signalslot::Signal< void(const edmplugin::SharedLibrary &)>.emit(), edm::signalslot::Signal< void(edm::BranchDescription const &)>.emit(), edm::signalslot::Signal< void(GlobalContext const &)>.emit(), edm::signalslot::Signal< void(unsigned int, unsigned int)>.emit(), edm::signalslot::Signal< void(StreamContext const &, PathContext const &)>.emit(), edm::signalslot::Signal< void(GlobalContext const &, TerminationOrigin)>.emit(), edm::signalslot::Signal< void(const boost::filesystem::path &)>.emit(), edm::signalslot::Signal< void(const edmplugin::PluginFactoryBase *)>.emit(), edm::signalslot::Signal< void(PathsAndConsumesOfModulesBase const &, ProcessContext const &)>.emit(), edm::signalslot::Signal< void(StreamContext const &, ModuleCallingContext const &)>.emit(), edm::signalslot::Signal< void(StreamContext const &, TerminationOrigin)>.emit(), and edm::signalslot::Signal< void(ModuleDescription const &)>.emit().

92 
93  def mousePressEvent(self,event):
94  QTreeWidget.mousePressEvent(self,event)
95  if event.button()==Qt.RightButton:
self.emit(SIGNAL("mouseRightPressed"), event.globalPos())
def Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.populate (   self,
  items 
)
Fills items into list.

Definition at line 27 of file SimpleDraggableTreeWidget.py.

27 
28  def populate(self, items):
29  """ Fills items into list.
30  """
31  self.insertTopLevelItems(0, items)
def Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.setDragEnable (   self,
  dragEnabled,
  mimeType = None 
)
Usual behavior of QWidget's setDragEnabled() function plus optional setting of mimeType.

Definition at line 32 of file SimpleDraggableTreeWidget.py.

References Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.setMimeType().

32 
33  def setDragEnable(self, dragEnabled, mimeType=None):
34  """ Usual behavior of QWidget's setDragEnabled() function plus optional setting of mimeType.
35  """
36  QTreeWidget.setDragEnabled(dragEnabled)
37  self.setMimeType(mimeType)
def Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.setMimeType (   self,
  mimeType 
)
Sets mime type of this widget to type if type is not None.

If type is None the default mime type MIME_TYPE will be used.

Definition at line 43 of file SimpleDraggableTreeWidget.py.

Referenced by Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.__init__(), and Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.setDragEnable().

43 
44  def setMimeType(self, mimeType):
45  """ Sets mime type of this widget to type if type is not None.
46 
47  If type is None the default mime type MIME_TYPE will be used.
48  """
49  if mimeType:
50  self._mimeType = mimeType
51  else:
52  self._mimeType = self.MIME_TYPE
def Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.startDrag (   self,
  supportedActions 
)
Overwritten function of QTreeWidget.

This function creates a QDrag object representing the selected element of this TreeWidget.

Definition at line 72 of file SimpleDraggableTreeWidget.py.

References data, Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.mimeData(), and create_public_lumi_plots.width.

72 
73  def startDrag(self, supportedActions):
74  """ Overwritten function of QTreeWidget.
75 
76  This function creates a QDrag object representing the selected element of this TreeWidget.
77  """
78  logging.debug(self.__class__.__name__ +": startDrag()")
79  indexes = self.selectedIndexes()
80  if len(indexes) > 0:
81  data = self.model().mimeData(indexes)
82  if not data:
83  return
84  drag = QDrag(self)
85  drag.setMimeData(data)
86  if self.model().data(indexes[0], Qt.DecorationRole).type() == QVariant.Icon:
87  icon = QIcon(self.model().data(indexes[0], Qt.DecorationRole))
88  drag.setPixmap(icon.pixmap(QSize(50, 50)))
89  drag.setHotSpot(QPoint(drag.pixmap().width()/2, drag.pixmap().height()/2)) # center icon in respect to cursor
90  defaultDropAction = Qt.IgnoreAction
91  drag.exec_(supportedActions, defaultDropAction)
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82

Member Data Documentation

Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget._mimeType
private

Definition at line 49 of file SimpleDraggableTreeWidget.py.

Referenced by Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.mimeType().

string Vispa.Gui.SimpleDraggableTreeWidget.SimpleDraggableTreeWidget.MIME_TYPE = "text/plain"
static

Definition at line 9 of file SimpleDraggableTreeWidget.py.