![]() |
![]() |
Inherits PyQt4::QtGui::QTableWidget, and Vispa::Views::AbstractView::AbstractView.
Public Member Functions | |
def | __init__ |
def | clear |
def | itemByObject |
def | select |
def | updateContent |
Private Member Functions | |
def | _addRow |
Private Attributes | |
_eventContentsList | |
_itemDict | |
_rows |
Holds a table to compare event contents.
Definition at line 8 of file EventContentView.py.
def python::Vispa::Plugins::EdmBrowser::EventContentView::EventContentView::__init__ | ( | self, | |
parent = None , |
|||
name = None |
|||
) |
Constructor
Definition at line 11 of file EventContentView.py.
00012 : 00013 """ Constructor """ 00014 logging.debug(self.__class__.__name__ + ": __init__()") 00015 AbstractView.__init__(self) 00016 QTableWidget.__init__(self, parent) 00017 00018 self._itemDict = {} 00019 00020 self.setSelectionMode(QTableWidget.SingleSelection) 00021 self.clear() # Sets headers
def python::Vispa::Plugins::EdmBrowser::EventContentView::EventContentView::_addRow | ( | self, | |
names, | |||
items | |||
) | [private] |
Adds a row to the EventContentView.
Definition at line 32 of file EventContentView.py.
00033 : 00034 """ Adds a row to the EventContentView. 00035 """ 00036 self._rows += 1 00037 i=0 00038 for name in names: 00039 item = LabelItem(name) 00040 self.setItem(self._rows - 1, i, item) 00041 i+=1 00042 for entry, color in items: 00043 item = LabelItem(entry, color) 00044 self.setItem(self._rows - 1, i, item) 00045 if i == 4: 00046 self._itemDict[str(self._rows)] = item 00047 item.object = name 00048 i += 1
def python::Vispa::Plugins::EdmBrowser::EventContentView::EventContentView::clear | ( | self | ) |
Definition at line 22 of file EventContentView.py.
00023 : 00024 self._itemDict = {} 00025 QTableWidget.clear(self) 00026 self.setColumnCount(1) 00027 self.setHorizontalHeaderLabels(['no file selected']) 00028 self.horizontalHeaderItem(0).setTextAlignment(Qt.AlignLeft) 00029 self.verticalHeader().hide() 00030 self._rows = 0 00031 self.setRowCount(self._rows)
def python::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.
00118 : 00119 """ Return an item in the TableView with a certain object. 00120 """ 00121 items = [] 00122 for positionName, item in self._itemDict.items(): 00123 if item.object == self.dataAccessor().label(object): 00124 items += [(positionName, item)] 00125 if len(items) > 0: 00126 return sorted(items)[0][1] 00127 else: 00128 return None
def python::Vispa::Plugins::EdmBrowser::EventContentView::EventContentView::select | ( | self, | |
item | |||
) |
Mark an item in the TableView as selected.
Definition at line 111 of file EventContentView.py.
def python::Vispa::Plugins::EdmBrowser::EventContentView::EventContentView::updateContent | ( | self | ) |
Fill the EventContentView using the ContentsDict.
Definition at line 49 of file EventContentView.py.
00050 : 00051 """ Fill the EventContentView using the ContentsDict. 00052 """ 00053 logging.debug('EventContentView: updateContent()') 00054 self._eventContentsList = self.dataAccessor().eventContentsList() 00055 self.clear() 00056 self.setSortingEnabled(False) 00057 names = ["Type","Label","Product","Process"] 00058 allContent = [] 00059 for name, content, relative, comment in self._eventContentsList: 00060 names += [name] 00061 for entry in content: 00062 if not self.dataAccessor().inContent(entry,allContent): 00063 allContent += [entry] 00064 allContent.sort(lambda x, y: cmp(self.dataAccessor().label(x).lower(), self.dataAccessor().label(y).lower())) 00065 self.setColumnCount(len(names)) 00066 self.setHorizontalHeaderLabels(names) 00067 for i in range(len(names)): 00068 self.horizontalHeaderItem(i).setTextAlignment(Qt.AlignLeft) 00069 self.setRowCount(len(allContent)) 00070 for entry in allContent: 00071 items = [] 00072 column_before=None 00073 for name, content, relative, comment in self._eventContentsList: 00074 this_column=self.dataAccessor().inContent(entry,content) 00075 if this_column: 00076 text="Yes" 00077 else: 00078 text="No" 00079 if "_".join(entry) in comment.keys(): 00080 text+=" ("+comment["_".join(entry)]+")" 00081 #if relative: 00082 color=Qt.white 00083 #else: 00084 # color=Qt.gray 00085 input="Input: " in name 00086 output="Output: " in name 00087 if column_before!=None: 00088 rel=0 00089 if this_column and not column_before: 00090 rel=1 00091 if not this_column and column_before: 00092 rel=-1 00093 if input: 00094 if rel>0: 00095 color=Qt.red 00096 elif output: 00097 if rel>0: 00098 color=Qt.green 00099 else: 00100 if rel<0: 00101 color=Qt.red 00102 if rel>0: 00103 color=Qt.green 00104 if not input: 00105 column_before=this_column 00106 items += [(text, color)] 00107 self._addRow(entry,items) 00108 self.sortItems(1) 00109 self.setSortingEnabled(True) 00110 return True
python::Vispa::Plugins::EdmBrowser::EventContentView::EventContentView::_eventContentsList [private] |
Definition at line 50 of file EventContentView.py.
Definition at line 11 of file EventContentView.py.
Definition at line 22 of file EventContentView.py.