Python PyQt5.QtCore.Qt.TextAlignmentRole() Examples
The following are 22
code examples of PyQt5.QtCore.Qt.TextAlignmentRole().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
PyQt5.QtCore.Qt
, or try the search function
.
Example #1
Source File: ListModel.py From WeiboSuperSpider with Apache License 2.0 | 7 votes |
def data(self, index, role): if index.isValid() or (0 <= index.row() < len(self.ListItemData)): if role == Qt.DisplayRole: return QVariant(self.ListItemData[index.row()]['name']) elif role == Qt.DecorationRole: return QVariant(QIcon(self.ListItemData[index.row()]['iconPath'])) elif role == Qt.SizeHintRole: return QVariant(QSize(70,80)) elif role == Qt.TextAlignmentRole: return QVariant(int(Qt.AlignHCenter|Qt.AlignVCenter)) elif role == Qt.FontRole: font = QFont() font.setPixelSize(20) return QVariant(font) else: return QVariant()
Example #2
Source File: LogBlockTab.py From crazyflie-clients-python with GNU General Public License v2.0 | 6 votes |
def data(self, index, role): """Re-implemented method to get the data for a given index and role""" node = index.internalPointer() parent = node.parent if parent: if role == Qt.DisplayRole and index.column() == 5: return node.name elif not parent and role == Qt.DisplayRole and index.column() == 5: return node.var_list() elif not parent and role == Qt.DisplayRole: if index.column() == 0: return node.id if index.column() == 1: return node.name if index.column() == 2: return str(node.period) if role == Qt.TextAlignmentRole and \ (index.column() == 4 or index.column() == 3): return Qt.AlignHCenter | Qt.AlignVCenter return None
Example #3
Source File: ObjList.py From KStock with GNU General Public License v3.0 | 6 votes |
def data(self, index, role = Qt.DisplayRole): if not index.isValid(): return None obj = self.getObject(index) prop = self.getProperty(index) if role == Qt.BackgroundRole: return color(obj.D) if role == Qt.TextAlignmentRole: return Qt.AlignCenter if (obj is None) or (prop is None): return None try: if role in [Qt.DisplayRole, Qt.EditRole]: return getAttrRecursive(obj, prop['attr']) except: return None return None
Example #4
Source File: custom.py From heap-viewer with GNU General Public License v3.0 | 6 votes |
def __init__(self, labels, parent=None): super(TTable, self).__init__(parent) self.labels = labels self.setColumnCount(len(labels)) self.setHorizontalHeaderLabels(labels) self.verticalHeader().hide() self.setContextMenuPolicy(Qt.CustomContextMenu) self.horizontalHeader().model().setHeaderData(0, Qt.Horizontal, Qt.AlignJustify, Qt.TextAlignmentRole) self.horizontalHeader().setStretchLastSection(1) self.setSelectionMode(QtWidgets.QTableView.SingleSelection) self.setSelectionBehavior(QtWidgets.QTableView.SelectRows) self.setEditTriggers(QtWidgets.QAbstractItemView.NoEditTriggers)
Example #5
Source File: FuzzingTableModel.py From urh with GNU General Public License v3.0 | 6 votes |
def data(self, index: QModelIndex, role=None): i = index.row() j = index.column() if role == Qt.DisplayRole: if self.data is None: return None else: if self.proto_view == 0: return self.data[i][j] elif self.proto_view == 1: return "{0:x}".format(int(self.data[i][4 * j:4 * (j + 1)], 2)) elif self.proto_view == 2: return chr(int(self.data[i][8 * j:8 * (j + 1)], 2)) elif role == Qt.FontRole: if i == 0: font = QFont() font.setBold(True) return font elif role == Qt.TextAlignmentRole: return Qt.AlignCenter
Example #6
Source File: PLabelTableModel.py From urh with GNU General Public License v3.0 | 6 votes |
def data(self, index: QModelIndex, role=Qt.DisplayRole): i, j = index.row(), index.column() if role == Qt.DisplayRole: try: lbl = self.message_type[i] except IndexError: return False if j == 0: return lbl.name elif j == 1: return self.message.get_label_range(lbl, view=self.proto_view, decode=True)[0] + 1 elif j == 2: return self.message.get_label_range(lbl, view=self.proto_view, decode=True)[1] elif j == 3: return lbl.color_index elif j == 4: return lbl.apply_decoding elif role == Qt.TextAlignmentRole: return Qt.AlignCenter else: return None
Example #7
Source File: TestGeneratorTablePerformance.py From urh with GNU General Public License v3.0 | 5 votes |
def __role_to_str(self, role): if role == Qt.DisplayRole: return "Display" if role == Qt.BackgroundColorRole: return "BG-Color" if role == Qt.TextAlignmentRole: return "Text-Alignment" if role == Qt.TextColorRole: return "TextColor" if role == Qt.ToolTipRole: return "ToolTip" if role == Qt.FontRole: return "Font"
Example #8
Source File: qmodels.py From linux-show-player with GNU General Public License v3.0 | 5 votes |
def data(self, index, role=Qt.DisplayRole): if index.isValid(): if role == Qt.DisplayRole or role == Qt.EditRole: return self.rows[index.row()][index.column()] elif role == Qt.TextAlignmentRole: return Qt.AlignCenter
Example #9
Source File: SimulatorMessageFieldModel.py From urh with GNU General Public License v3.0 | 5 votes |
def headerData(self, section, orientation, role=Qt.DisplayRole): if role == Qt.DisplayRole and orientation == Qt.Horizontal: return self.header_labels[section] elif role == Qt.TextAlignmentRole: return Qt.AlignLeft return super().headerData(section, orientation, role)
Example #10
Source File: first.py From FIRST-plugin-ida with GNU General Public License v2.0 | 5 votes |
def data(self, index, role=Qt.DisplayRole): '''The data stored under the given role for the item referred to by the index. Args: index (:obj:`QtCore.QModelIndex`): Index role (:obj:`Qt.ItemDataRole`): Default :obj:`Qt.DisplayRole` Returns: data ''' if role == Qt.DisplayRole: row = self._data[index.row()] if (index.column() == 0) and (type(row) != dict): return row elif index.column() < self.columnCount(): if type(row) == dict: if self.header[index.column()] in row: return row[self.header[index.column()]] elif self.header[index.column()].lower() in row: return row[self.header[index.column()].lower()] return row[index.column()] return None elif role == Qt.FontRole: return QtGui.QFont().setPointSize(30) elif role == Qt.DecorationRole and index.column() == 0: return None elif role == Qt.TextAlignmentRole: return Qt.AlignLeft;
Example #11
Source File: dialog_scripts.py From Dwarf with GNU General Public License v3.0 | 5 votes |
def __init__(self, parent=None): super(ScriptsTable, self).__init__(parent=parent) self._scripts_model = QStandardItemModel(0, 6) self._scripts_model.setHeaderData(0, Qt.Horizontal, 'Name') self._scripts_model.setHeaderData(1, Qt.Horizontal, 'Author') self._scripts_model.setHeaderData(1, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._scripts_model.setHeaderData(2, Qt.Horizontal, 'A') self._scripts_model.setHeaderData(2, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._scripts_model.setHeaderData(3, Qt.Horizontal, 'I') self._scripts_model.setHeaderData(3, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._scripts_model.setHeaderData(4, Qt.Horizontal, 'W') self._scripts_model.setHeaderData(4, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._scripts_model.setHeaderData(5, Qt.Horizontal, 'Description') self.setModel(self._scripts_model) self.header().setSectionResizeMode(0, QHeaderView.ResizeToContents) self.header().setSectionResizeMode(1, QHeaderView.ResizeToContents) self.header().setSectionResizeMode(2, QHeaderView.ResizeToContents) self.header().setSectionResizeMode(3, QHeaderView.ResizeToContents) self.header().setSectionResizeMode(4, QHeaderView.ResizeToContents) self.doubleClicked.connect(self._item_doubleclicked)
Example #12
Source File: LabelValueTableModel.py From urh with GNU General Public License v3.0 | 5 votes |
def headerData(self, section, orientation, role=Qt.DisplayRole): if role == Qt.DisplayRole and orientation == Qt.Horizontal: return self.header_labels[section] elif role == Qt.TextAlignmentRole: return Qt.AlignLeft return super().headerData(section, orientation, role)
Example #13
Source File: threads.py From Dwarf with GNU General Public License v3.0 | 5 votes |
def __init__(self, parent=None): super(ThreadsWidget, self).__init__(parent=parent) self._app_window = parent self.dwarf = parent.dwarf self.threads_model = QStandardItemModel(0, 3) self.threads_model.setHeaderData(0, Qt.Horizontal, 'TID') self.threads_model.setHeaderData(0, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) if self.dwarf.arch == 'ia32': self.threads_model.setHeaderData(1, Qt.Horizontal, 'EIP') elif self.dwarf.arch == 'x64': self.threads_model.setHeaderData(1, Qt.Horizontal, 'RIP') else: self.threads_model.setHeaderData(1, Qt.Horizontal, 'PC') self.threads_model.setHeaderData(1, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self.threads_model.setHeaderData(2, Qt.Horizontal, 'Symbol') self.setModel(self.threads_model) self.header().setSectionResizeMode(0, QHeaderView.ResizeToContents) self.header().setSectionResizeMode(1, QHeaderView.ResizeToContents) self.header().setSectionResizeMode(2, QHeaderView.ResizeToContents) self.setContextMenuPolicy(Qt.CustomContextMenu) self.customContextMenuRequested.connect(self._on_context_menu) self.doubleClicked.connect(self._item_double_clicked)
Example #14
Source File: panel_ranges.py From Dwarf with GNU General Public License v3.0 | 4 votes |
def __init__(self, parent=None): super(RangesPanel, self).__init__(parent=parent) self._app_window = parent if self._app_window.dwarf is None: print('RangesPanel created before Dwarf exists') return # connect to dwarf self._app_window.dwarf.onSetRanges.connect(self.set_ranges) self._uppercase_hex = True self._ranges_model = QStandardItemModel(0, 6) self._ranges_model.setHeaderData(0, Qt.Horizontal, 'Address') self._ranges_model.setHeaderData(0, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._ranges_model.setHeaderData(1, Qt.Horizontal, 'Size') self._ranges_model.setHeaderData(1, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._ranges_model.setHeaderData(2, Qt.Horizontal, 'Protection') self._ranges_model.setHeaderData(2, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._ranges_model.setHeaderData(3, Qt.Horizontal, 'FileOffset') self._ranges_model.setHeaderData(3, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._ranges_model.setHeaderData(4, Qt.Horizontal, 'FileSize') self._ranges_model.setHeaderData(4, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._ranges_model.setHeaderData(5, Qt.Horizontal, 'FilePath') self.setHeaderHidden(False) self.setAutoFillBackground(True) self.setEditTriggers(self.NoEditTriggers) self.setRootIsDecorated(False) self.doubleClicked.connect(self._range_dblclicked) self.setModel(self._ranges_model) # self.setSortingEnabled(True) self.header().setSectionResizeMode(0, QHeaderView.ResizeToContents) self.header().setSectionResizeMode(1, QHeaderView.ResizeToContents) self.header().setSectionResizeMode(2, QHeaderView.ResizeToContents) self.header().setSectionResizeMode(3, QHeaderView.ResizeToContents) self.header().setSectionResizeMode(4, QHeaderView.ResizeToContents) self.setContextMenuPolicy(Qt.CustomContextMenu) self.customContextMenuRequested.connect(self._on_contextmenu) self.update_ranges() # ************************************************************************ # **************************** Properties ******************************** # ************************************************************************
Example #15
Source File: TableModel.py From urh with GNU General Public License v3.0 | 4 votes |
def data(self, index: QModelIndex, role=Qt.DisplayRole): if not index.isValid(): return None i = index.row() j = index.column() if role == Qt.DisplayRole and self.display_data: try: alignment_offset = self.get_alignment_offset_at(i) if j < alignment_offset: return self.ALIGNMENT_CHAR if self.proto_view == 0: return self.display_data[i][j - alignment_offset] elif self.proto_view == 1: return "{0:x}".format(self.display_data[i][j - alignment_offset]) elif self.proto_view == 2: return chr(self.display_data[i][j - alignment_offset]) except IndexError: return None elif role == Qt.TextAlignmentRole: if i in self.first_messages: return Qt.AlignHCenter + Qt.AlignBottom else: return Qt.AlignCenter elif role == Qt.BackgroundColorRole: return self.background_colors[i, j] elif role == Qt.FontRole: font = QFont() font.setBold(self.bold_fonts[i, j]) font.setItalic(self.italic_fonts[i, j]) return font elif role == Qt.TextColorRole: return self.text_colors[i, j] elif role == Qt.ToolTipRole: return self.get_tooltip(i, j) else: return None
Example #16
Source File: process_list.py From Dwarf with GNU General Public License v3.0 | 4 votes |
def __init__(self, device, parent=None): super(ProcessList, self).__init__(parent=parent) # if not isinstance(device, frida.core.Device): # print('No FridaDevice') # return self._device = device self.process_list = DwarfListView() model = QStandardItemModel(0, 2, parent) model.setHeaderData(0, Qt.Horizontal, "PID") model.setHeaderData(0, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) model.setHeaderData(1, Qt.Horizontal, "Name") self.process_list.doubleClicked.connect(self._on_item_clicked) v_box = QVBoxLayout() v_box.setContentsMargins(0, 0, 0, 0) v_box.addWidget(self.process_list) self.refresh_button = QPushButton('Refresh') self.refresh_button.clicked.connect(self._on_refresh_procs) self.refresh_button.setEnabled(False) v_box.addWidget(self.refresh_button) self.setLayout(v_box) self.process_list.setModel(model) self.process_list.header().setSectionResizeMode( 0, QHeaderView.ResizeToContents) self.procs_update_thread = ProcsThread(self, self._device) self.procs_update_thread.add_proc.connect(self._on_add_proc) self.procs_update_thread.is_error.connect(self._on_error) self.procs_update_thread.is_finished.connect(self._on_refresh_finished) self.procs_update_thread.device = self._device self.procs_update_thread.start() # ************************************************************************ # **************************** Properties ******************************** # ************************************************************************
Example #17
Source File: panel_search.py From Dwarf with GNU General Public License v3.0 | 4 votes |
def _on_search_complete(self): self.input.setEnabled(True) self.search_btn.setEnabled(True) self.check_all_btn.setEnabled(True) self.uncheck_all_btn.setEnabled(True) self._app_window.hide_progress() if self._blocking_search: self.progress.cancel() self._ranges_model.removeColumns(4, 3) self._ranges_model.setHeaderData(3, Qt.Horizontal, 'Search Results') self._ranges_model.setHeaderData(3, Qt.Horizontal, None, Qt.TextAlignmentRole) results_count = 0 is_selected = False for i in range(self._ranges_model.rowCount()): item = self._ranges_model.item(i, 0) if item.checkState() == Qt.Checked: item.setCheckState(Qt.Unchecked) if not is_selected: is_selected = True self.ranges.setCurrentIndex(self._ranges_model.index(i, 0)) else: self._search_results.insert(i, None) self._ranges_model.item(i, 3).setText('') self._ranges_model.item(i, 3).setTextAlignment(Qt.AlignLeft) continue if len(self._search_results[i]): results_count += len(self._search_results[i]) self._ranges_model.item(i, 3).setText('Matches: {0}'.format( len(self._search_results[i]))) self._ranges_model.item(i, 3).setTextAlignment(Qt.AlignLeft) else: self._ranges_model.item(i, 3).setText('') self._ranges_model.item(i, 3).setTextAlignment(Qt.AlignLeft) self._app_window.set_status_text( 'Search complete: {0} matches'.format(results_count)) if results_count: for i in self._search_results: if i and len(i): self.results.setVisible(True) for result in i: self._result_model.appendRow( QStandardItem(result['address'])) break
Example #18
Source File: panel_search.py From Dwarf with GNU General Public License v3.0 | 4 votes |
def _setup_models(self): self._ranges_model = QStandardItemModel(0, 7) # just replicate ranges panel model self._ranges_model.setHeaderData( 0, Qt.Horizontal, 'x' ) # TODO: replace with checkbox in header - remove checkall btns self._ranges_model.setHeaderData(0, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._ranges_model.setHeaderData(1, Qt.Horizontal, 'Address') self._ranges_model.setHeaderData(1, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._ranges_model.setHeaderData(2, Qt.Horizontal, 'Size') self._ranges_model.setHeaderData(2, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._ranges_model.setHeaderData(3, Qt.Horizontal, 'Protection') self._ranges_model.setHeaderData(3, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._ranges_model.setHeaderData(4, Qt.Horizontal, 'FileOffset') self._ranges_model.setHeaderData(4, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._ranges_model.setHeaderData(5, Qt.Horizontal, 'FileSize') self._ranges_model.setHeaderData(5, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self._ranges_model.setHeaderData(6, Qt.Horizontal, 'FilePath') self.ranges.setModel(self._ranges_model) self.ranges.header().setSectionResizeMode(0, QHeaderView.ResizeToContents) self.ranges.header().setSectionResizeMode(1, QHeaderView.ResizeToContents) self.ranges.header().setSectionResizeMode(2, QHeaderView.ResizeToContents) self.ranges.header().setSectionResizeMode(3, QHeaderView.ResizeToContents) self.ranges.header().setSectionResizeMode(4, QHeaderView.ResizeToContents) self.ranges.header().setSectionResizeMode(5, QHeaderView.ResizeToContents) self.ranges.doubleClicked.connect(self._on_range_dblclick) # setup results model self._result_model = QStandardItemModel(0, 1) self._result_model.setHeaderData(0, Qt.Horizontal, 'Address') self.results.setModel(self._result_model) self.results.doubleClicked.connect(self._on_double_clicked)
Example #19
Source File: casc_plugin.py From CASC with GNU General Public License v2.0 | 4 votes |
def data(self, index, role=Qt.DisplayRole): if not index.isValid(): return None if not 0 <= index.row() < len(self.sub_signatures): return None if role == Qt.DisplayRole: row = self.sub_signatures.values()[index.row()] if row is None: return None ((start_ea, end_ea, mask_options, custom), notes) = row if index.column() == 0: if None == start_ea: return '-' return '0x{0:08x}'.format(start_ea) elif index.column() == 1: if None == end_ea: return '-' return '0x{0:08x}'.format(end_ea) elif index.column() == 2: return notes elif index.column() == 3: if None != mask_options: temp = Assembly(start_ea, end_ea) temp.mask_opcodes_tuple(mask_options) if None != custom: temp.set_opcode_list(custom, True) return ''.join(temp.get_opcode_list()).replace(' ', '') return MiscAssembly.sub_signature_string(custom) else: return None if role == Qt.FontRole: return QtGui.QFont().setPointSize(30) if role == Qt.DecorationRole and index.column() == 0: return None if role == Qt.TextAlignmentRole: if index.column() < 2: return Qt.AlignCenter; return Qt.AlignLeft;
Example #20
Source File: visualizarImprimirExportar.py From PyQt5 with MIT License | 4 votes |
def initUI(self): self.documento = QTextDocument() # =================== WIDGETS QPUSHBUTTON ================== buttonBuscar = QPushButton("Buscar usuarios", self) buttonBuscar.setFixedSize(426, 26) buttonBuscar.move(20, 20) buttonLimpiar = QPushButton("Limpiar tabla", self) buttonLimpiar.setFixedSize(140, 26) buttonLimpiar.move(452, 20) # =================== WIDGET QTREEWIDGET =================== self.treeWidgetUsuarios = QTreeWidget(self) self.treeWidgetUsuarios.setFont(QFont(self.treeWidgetUsuarios.font().family(), 10, False)) self.treeWidgetUsuarios.setRootIsDecorated(False) self.treeWidgetUsuarios.setHeaderLabels(("D.N.I", "NOMBRE", "APELLIDO", "FECHA DE NACIMIENTO")) self.model = self.treeWidgetUsuarios.model() for indice, ancho in enumerate((110, 150, 150, 160), start=0): self.model.setHeaderData(indice, Qt.Horizontal, Qt.AlignCenter, Qt.TextAlignmentRole) self.treeWidgetUsuarios.setColumnWidth(indice, ancho) self.treeWidgetUsuarios.setAlternatingRowColors(True) self.treeWidgetUsuarios.setFixedSize(572, 300) self.treeWidgetUsuarios.move(20, 56) # =================== WIDGETS QPUSHBUTTON ================== buttonVistaPrevia = QPushButton("Vista previa", self) buttonVistaPrevia.setFixedSize(140, 26) buttonVistaPrevia.move(156, 364) buttonImprimir = QPushButton("Imprimir", self) buttonImprimir.setFixedSize(140, 26) buttonImprimir.move(304, 364) buttonExportarPDF = QPushButton("Exportar a PDF", self) buttonExportarPDF.setFixedSize(140, 26) buttonExportarPDF.move(452, 364) # =================== EVENTOS QPUSHBUTTON ================== buttonBuscar.clicked.connect(self.Buscar) buttonLimpiar.clicked.connect(self.limpiarTabla) buttonVistaPrevia.clicked.connect(self.vistaPrevia) buttonImprimir.clicked.connect(self.Imprimir) buttonExportarPDF.clicked.connect(self.exportarPDF) # ======================= FUNCIONES ============================
Example #21
Source File: wallet_data_models.py From dash-masternode-tool with MIT License | 4 votes |
def data(self, index, role=None): if index.isValid(): col_idx = index.column() row_idx = index.row() if row_idx < len(self.utxos): utxo = self.utxos[row_idx] if utxo: if role in (Qt.DisplayRole, Qt.EditRole): col = self.col_by_index(col_idx) if col: field_name = col.name if field_name == 'satoshis': return app_utils.to_string(round(utxo.satoshis / 1e8, 8)) elif field_name == 'masternode': if utxo.masternode: return utxo.masternode.name elif field_name == 'confirmations': if utxo.block_height >= UNCONFIRMED_TX_BLOCK_HEIGHT: return 'Unconfirmed' else: return app_utils.to_string(utxo.__getattribute__(field_name)) elif field_name == 'address': if utxo.address_obj and utxo.address_obj.label: return utxo.address_obj.label else: return utxo.address elif col.name == 'txid': if self.tx_explorer_url: url = self.tx_explorer_url.replace('%TXID%', utxo.txid) url = f'<a href="{url}">{utxo.txid}</a>' return url else: return utxo.txid else: return app_utils.to_string(utxo.__getattribute__(field_name)) elif role == Qt.ForegroundRole: if utxo.is_collateral: return QColor(Qt.white) elif utxo.coinbase_locked or utxo.block_height >= UNCONFIRMED_TX_BLOCK_HEIGHT: return QColor('red') elif role == Qt.BackgroundRole: if utxo.is_collateral: return QColor(Qt.red) elif role == Qt.TextAlignmentRole: col = self.col_by_index(col_idx) if col: if col.name in ('satoshis', 'confirmations', 'output_index'): return Qt.AlignRight return QVariant()
Example #22
Source File: first.py From FIRST-plugin-ida with GNU General Public License v2.0 | 4 votes |
def data(self, index, role): if not index.isValid(): return None if not (0 <= index.row() < self.rowCount()): return None elif role == Qt.FontRole: return QtGui.QFont().setPointSize(30) elif role == Qt.DecorationRole and index.column() == 0: return None elif role == Qt.TextAlignmentRole: return Qt.AlignLeft; # Color background if role == Qt.BackgroundRole: function = self._data[index.row()] # Row is selected if index.row() in self.rows_selected: return FIRST.color_selected # Data has been updated since original if function.has_changed: return FIRST.color_changed # if function.id is not None: return FIRST.color_unchanged # Return the default color return FIRST.color_default if role == Qt.DisplayRole: function = self._data[index.row()] column = index.column() if 0 == column: return '0x{0:X}'.format(function.address) elif 1 == column: return function.name elif 2 == column: return function.prototype elif 3 == column: return function.comment return None return super(FIRST.Model.Upload, self).data(index, role)