CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Member Functions | Private Attributes
Vispa.Plugins.EdmBrowser.EventContentView.EventContentView Class Reference
Inheritance diagram for Vispa.Plugins.EdmBrowser.EventContentView.EventContentView:
Vispa.Views.AbstractView.AbstractView Vispa.Share.ObjectHolder.ObjectHolder

Public Member Functions

def __init__
 
def clear
 
def itemByObject
 
def select
 
def updateContent
 
- Public Member Functions inherited from Vispa.Views.AbstractView.AbstractView
def __init__
 
def cancel
 
def isBusy
 
def restoreSelection
 
def select
 
def selection
 
def updateContent
 
- Public Member Functions inherited from Vispa.Share.ObjectHolder.ObjectHolder
def __init__
 
def allDataObjectChildren
 
def appendObject
 
def applyFilter
 
def clearObjects
 
def dataAccessor
 
def dataObject
 
def dataObjects
 
def dataObjectsCount
 
def numberDataObjectChildren
 
def removeObject
 
def setDataAccessor
 
def setDataObject
 
def setDataObjects
 
def setExclusiveMode
 
def setFilter
 

Private Member Functions

def _addRow
 

Private Attributes

 _eventContentsList
 
 _itemDict
 
 _rows
 

Additional Inherited Members

- Static Public Attributes inherited from Vispa.Views.AbstractView.AbstractView
string LABEL = "&Abstract View"
 

Detailed Description

Holds a table to compare event contents.

Definition at line 8 of file EventContentView.py.

Constructor & Destructor Documentation

def Vispa.Plugins.EdmBrowser.EventContentView.EventContentView.__init__ (   self,
  parent = None,
  name = None 
)
Constructor 

Definition at line 11 of file EventContentView.py.

11 
12  def __init__(self, parent=None, name=None):
13  """ Constructor """
14  logging.debug(self.__class__.__name__ + ": __init__()")
15  AbstractView.__init__(self)
16  QTableWidget.__init__(self, parent)
17 
18  self._itemDict = {}
19 
20  self.setSelectionMode(QTableWidget.SingleSelection)
21  self.clear() # Sets headers

Member Function Documentation

def Vispa.Plugins.EdmBrowser.EventContentView.EventContentView._addRow (   self,
  names,
  items 
)
private
Adds a row to the EventContentView.

Definition at line 32 of file EventContentView.py.

References Vispa.Plugins.EdmBrowser.EventContentView.EventContentView._itemDict, Vispa.Plugins.EdmBrowser.EventContentView.EventContentView._rows, FWCaloRecHitDigitSetProxyBuilder.setItem(), FWGenParticleLegoProxyBuilder.setItem(), FWTrackingParticleProxyBuilder.setItem(), FWTrackProxyBuilderFF.setItem(), FWVertexProxyBuilder.setItem(), FWDetailViewBase.setItem(), FWJetProxyBuilder.setItem(), and FWProxyBuilderBase.setItem().

32 
33  def _addRow(self, names, items):
34  """ Adds a row to the EventContentView.
35  """
36  self._rows += 1
37  i=0
38  for name in names:
39  item = LabelItem(name)
40  self.setItem(self._rows - 1, i, item)
41  i+=1
42  for entry, color in items:
43  item = LabelItem(entry, color)
44  self.setItem(self._rows - 1, i, item)
45  if i == 4:
46  self._itemDict[str(self._rows)] = item
47  item.object = name
48  i += 1
def Vispa.Plugins.EdmBrowser.EventContentView.EventContentView.clear (   self)

Definition at line 22 of file EventContentView.py.

References Vispa.Plugins.EdmBrowser.EventContentView.EventContentView._itemDict.

Referenced by Vispa.Views.WidgetView.WidgetView.closeEvent(), Vispa.Views.BoxDecayView.BoxDecayView.closeEvent(), Vispa.Share.FindAlgorithm.FindAlgorithm.findUsingFindDialog(), Vispa.Views.LineDecayView.LineDecayView.setDataObjects(), Vispa.Views.WidgetView.WidgetView.setDataObjects(), Vispa.Views.TreeView.TreeView.updateContent(), Vispa.Views.TableView.TableView.updateContent(), Vispa.Views.BoxDecayView.BoxDecayView.updateContent(), and Vispa.Views.PropertyView.PropertyView.updateContent().

22 
23  def clear(self):
24  self._itemDict = {}
25  QTableWidget.clear(self)
26  self.setColumnCount(1)
27  self.setHorizontalHeaderLabels(['no file selected'])
28  self.horizontalHeaderItem(0).setTextAlignment(Qt.AlignLeft)
29  self.verticalHeader().hide()
30  self._rows = 0
31  self.setRowCount(self._rows)
def Vispa.Plugins.EdmBrowser.EventContentView.EventContentView.itemByObject (   self,
  object 
)
Return an item in the TableView with a certain object.

Definition at line 117 of file EventContentView.py.

References Vispa.Share.ObjectHolder.ObjectHolder.dataAccessor(), Vispa.Plugins.Browser.BrowserTabController.BrowserTabController.dataAccessor(), and diffTwoXMLs.label.

118  def itemByObject(self, object):
119  """ Return an item in the TableView with a certain object.
120  """
121  items = []
122  for positionName, item in self._itemDict.items():
123  if item.object == self.dataAccessor().label(object):
124  items += [(positionName, item)]
125  if len(items) > 0:
126  return sorted(items)[0][1]
127  else:
128  return None
def Vispa.Plugins.EdmBrowser.EventContentView.EventContentView.select (   self,
  item 
)
Mark an item in the TableView as selected.

Definition at line 111 of file EventContentView.py.

Referenced by Vispa.Views.AbstractView.AbstractView.restoreSelection().

112  def select(self, item):
113  """ Mark an item in the TableView as selected.
114  """
115  if item != None:
116  self.setCurrentItem(item)
def Vispa.Plugins.EdmBrowser.EventContentView.EventContentView.updateContent (   self)
Fill the EventContentView using the ContentsDict.

Definition at line 49 of file EventContentView.py.

49 
50  def updateContent(self):
51  """ Fill the EventContentView using the ContentsDict.
52  """
53  logging.debug('EventContentView: updateContent()')
54  self._eventContentsList = self.dataAccessor().eventContentsList()
55  self.clear()
56  self.setSortingEnabled(False)
57  names = ["Type","Label","Product","Process"]
58  allContent = []
59  for name, content, relative, comment in self._eventContentsList:
60  names += [name]
61  for entry in content:
62  if not self.dataAccessor().inContent(entry,allContent):
63  allContent += [entry]
64  allContent.sort(lambda x, y: cmp(self.dataAccessor().label(x).lower(), self.dataAccessor().label(y).lower()))
65  self.setColumnCount(len(names))
66  self.setHorizontalHeaderLabels(names)
67  for i in range(len(names)):
68  self.horizontalHeaderItem(i).setTextAlignment(Qt.AlignLeft)
69  self.setRowCount(len(allContent))
70  for entry in allContent:
71  items = []
72  column_before=None
73  for name, content, relative, comment in self._eventContentsList:
74  this_column=self.dataAccessor().inContent(entry,content)
75  if this_column:
76  text="Yes"
77  else:
78  text="No"
79  if "_".join(entry) in comment.keys():
80  text+=" ("+comment["_".join(entry)]+")"
81  #if relative:
82  color=Qt.white
83  #else:
84  # color=Qt.gray
85  input="Input: " in name
86  output="Output: " in name
87  if column_before!=None:
88  rel=0
89  if this_column and not column_before:
90  rel=1
91  if not this_column and column_before:
92  rel=-1
93  if input:
94  if rel>0:
95  color=Qt.red
96  elif output:
97  if rel>0:
98  color=Qt.green
99  else:
100  if rel<0:
101  color=Qt.red
102  if rel>0:
103  color=Qt.green
104  if not input:
105  column_before=this_column
106  items += [(text, color)]
107  self._addRow(entry,items)
108  self.sortItems(1)
109  self.setSortingEnabled(True)
110  return True
static std::string join(char **cmd)
Definition: RemoteFile.cc:18

Member Data Documentation

Vispa.Plugins.EdmBrowser.EventContentView.EventContentView._eventContentsList
private

Definition at line 53 of file EventContentView.py.

Vispa.Plugins.EdmBrowser.EventContentView.EventContentView._itemDict
private

Definition at line 17 of file EventContentView.py.

Referenced by Vispa.Plugins.EdmBrowser.EventContentView.EventContentView._addRow(), Vispa.Views.TreeView.TreeView._createNode(), Vispa.Views.TreeView.TreeView._selectedItem(), Vispa.Plugins.EdmBrowser.EventContentView.EventContentView.clear(), and Vispa.Views.TreeView.TreeView.clear().

Vispa.Plugins.EdmBrowser.EventContentView.EventContentView._rows
private

Definition at line 29 of file EventContentView.py.

Referenced by Vispa.Plugins.EdmBrowser.EventContentView.EventContentView._addRow().