def __generateItem(self, index, status, name, summary, error=False): """ Private method to generate a patch item in the list of patches. @param index index of the patch (integer, -1 for missing) @param status status of the patch (string) @param name name of the patch (string) @param summary first line of the patch header (string) @param error flag indicating an error entry (boolean) """ if error: itm = QTreeWidgetItem(self.patchesList, ["", name, "", summary]) else: if index == -1: index = "" try: statusStr = self.__statusDict[status] except KeyError: statusStr = self.tr("unknown") itm = QTreeWidgetItem(self.patchesList) itm.setData(0, Qt.DisplayRole, index) itm.setData(1, Qt.DisplayRole, name) itm.setData(2, Qt.DisplayRole, statusStr) itm.setData(3, Qt.DisplayRole, summary) if status == "A": # applied for column in range(itm.columnCount()): itm.setForeground(column, Qt.blue) elif status == "D": # missing for column in range(itm.columnCount()): itm.setForeground(column, Qt.red) itm.setTextAlignment(0, Qt.AlignRight) itm.setTextAlignment(2, Qt.AlignHCenter)
def __generateItem(self, index, status, name, summary, error=False): """ Private method to generate a patch item in the list of patches. @param index index of the patch (integer, -1 for missing) @param status status of the patch (string) @param name name of the patch (string) @param summary first line of the patch header (string) @param error flag indicating an error entry (boolean) """ if error: itm = QTreeWidgetItem(self.patchesList, ["", name, "", summary]) else: if index == -1: index = "" try: statusStr = self.__statusDict[status] except KeyError: statusStr = self.tr("unknown") itm = QTreeWidgetItem(self.patchesList) itm.setData(0, Qt.DisplayRole, index) itm.setData(1, Qt.DisplayRole, name) itm.setData(2, Qt.DisplayRole, statusStr) itm.setData(3, Qt.DisplayRole, summary) if status == "A": # applied for column in range(itm.columnCount()): itm.setForeground(column, Qt.blue) elif status == "D": # missing for column in range(itm.columnCount()): itm.setForeground(column, Qt.red) itm.setTextAlignment(0, Qt.AlignRight) itm.setTextAlignment(2, Qt.AlignHCenter)
def __createResultItem(self, file, statements, executed, coverage, excluded, missing): """ Private method to create an entry in the result list. @param file filename of file (string) @param statements amount of statements (integer) @param executed amount of executed statements (integer) @param coverage percent of coverage (integer) @param excluded list of excluded lines (string) @param missing list of lines without coverage (string) """ itm = QTreeWidgetItem(self.resultList, [ file, str(statements), str(executed), "{0:.0f}%".format(coverage), excluded, missing ]) for col in range(1, 4): itm.setTextAlignment(col, Qt.AlignRight) if statements != executed: font = itm.font(0) font.setBold(True) for col in range(itm.columnCount()): itm.setFont(col, font)
def populateMovieListWidget(self): allMovies = Movie.getAllMovies(self.currentPage * self.getPerPage(), self.getPerPage()) self.trwMovieList.clear() for movie in allMovies: item = QTreeWidgetItem(self.trwMovieList) item.setText(0, movie.title) item.setText(1, str(movie.length)) item.setText(2, str(movie.mediums)) item.setText(3, str(movie.rated)) item.setText(4, movie.getCategoriesAsCommaSeparatedString()) item.setText(5, movie.getActorsAsCommaSeparatedString()) item.setText(6, "%.2f €" % movie.cost) item.setData(0, roles.UserRoles.MOVIE_ID.value, movie.id) self.trwMovieList.addTopLevelItem(item) for i in range(0, self.trwMovieList.columnCount()): item.setTextAlignment( i, self.trwMovieList.headerItem().textAlignment(i)) item.setTextAlignment(item.columnCount() - 1, Qt.AlignRight) allMovies.clear()
def __populateVenvList(self): """ Private method to populate the list of virtual environments. """ environments = self.__manager.getEnvironmentEntries() for venvName in environments: itm = QTreeWidgetItem(self.venvList, [ venvName, environments[venvName]["path"], environments[venvName]["interpreter"], ]) itm.setData(0, VirtualenvManagerDialog.PythonVariantRole, environments[venvName]["variant"]) itm.setData(0, VirtualenvManagerDialog.IsGlobalRole, environments[venvName]["is_global"]) itm.setData(0, VirtualenvManagerDialog.IsCondaRole, environments[venvName]["is_conda"]) itm.setData(0, VirtualenvManagerDialog.IsRemoteRole, environments[venvName]["is_remote"]) itm.setData(0, VirtualenvManagerDialog.ExecPathRole, environments[venvName]["exec_path"]) # show remote environments with underlined font if environments[venvName]["is_remote"]: font = itm.font(0) font.setUnderline(True) for column in range(itm.columnCount()): itm.setFont(column, font) else: # local environments # show global environments with bold font if environments[venvName]["is_global"]: font = itm.font(0) font.setBold(True) for column in range(itm.columnCount()): itm.setFont(column, font) # show Anaconda environments with italic font if environments[venvName]["is_conda"]: font = itm.font(0) font.setItalic(True) for column in range(itm.columnCount()): itm.setFont(column, font) self.__resizeSections()
def __createResultItem(self, file, statements, executed, coverage, excluded, missing): """ Private method to create an entry in the result list. @param file filename of file (string) @param statements amount of statements (integer) @param executed amount of executed statements (integer) @param coverage percent of coverage (integer) @param excluded list of excluded lines (string) @param missing list of lines without coverage (string) """ itm = QTreeWidgetItem(self.resultList, [ file, str(statements), str(executed), "{0:.0f}%".format(coverage), excluded, missing ]) for col in range(1, 4): itm.setTextAlignment(col, Qt.AlignRight) if statements != executed: font = itm.font(0) font.setBold(True) for col in range(itm.columnCount()): itm.setFont(col, font)
def __createResultItem(self, filename, line, pos, message, fixed, autofixing, ignored): """ Private method to create an entry in the result list. @param filename file name of the file (string) @param line line number of issue (integer or string) @param pos character position of issue (integer or string) @param message message text (string) @param fixed flag indicating a fixed issue (boolean) @param autofixing flag indicating, that we are fixing issues automatically (boolean) @param ignored flag indicating an ignored issue (boolean) @return reference to the created item (QTreeWidgetItem) """ from .CodeStyleFixer import FixableCodeStyleIssues if self.__lastFileItem is None: # It's a new file self.__lastFileItem = QTreeWidgetItem(self.resultList, [ self.__project.getRelativePath(filename)]) self.__lastFileItem.setFirstColumnSpanned(True) self.__lastFileItem.setExpanded(True) self.__lastFileItem.setData(0, self.filenameRole, filename) fixable = False code, message = message.split(None, 1) itm = QTreeWidgetItem( self.__lastFileItem, ["{0:6}".format(line), code, message]) if code.startswith(("W", "-", "C", "M")): itm.setIcon(1, UI.PixmapCache.getIcon("warning.png")) elif code.startswith("N"): itm.setIcon(1, UI.PixmapCache.getIcon("namingError.png")) elif code.startswith("D"): itm.setIcon(1, UI.PixmapCache.getIcon("docstringError.png")) else: itm.setIcon(1, UI.PixmapCache.getIcon("syntaxError.png")) if fixed: itm.setIcon(0, UI.PixmapCache.getIcon("issueFixed.png")) elif code in FixableCodeStyleIssues and not autofixing and \ code not in self.__noFixCodesList: itm.setIcon(0, UI.PixmapCache.getIcon("issueFixable.png")) fixable = True itm.setTextAlignment(0, Qt.AlignRight) itm.setTextAlignment(1, Qt.AlignHCenter) itm.setTextAlignment(0, Qt.AlignVCenter) itm.setTextAlignment(1, Qt.AlignVCenter) itm.setTextAlignment(2, Qt.AlignVCenter) itm.setData(0, self.filenameRole, filename) itm.setData(0, self.lineRole, int(line)) itm.setData(0, self.positionRole, int(pos)) itm.setData(0, self.messageRole, message) itm.setData(0, self.fixableRole, fixable) itm.setData(0, self.codeRole, code) itm.setData(0, self.ignoredRole, ignored) if ignored: font = itm.font(0) font.setItalic(True) for col in range(itm.columnCount()): itm.setFont(col, font) return itm
def __createResultItem(self, file, line, pos, message, fixed, autofixing, ignored): """ Private method to create an entry in the result list. @param file file name of the file (string) @param line line number of issue (integer or string) @param pos character position of issue (integer or string) @param message message text (string) @param fixed flag indicating a fixed issue (boolean) @param autofixing flag indicating, that we are fixing issues automatically (boolean) @param ignored flag indicating an ignored issue (boolean) @return reference to the created item (QTreeWidgetItem) """ from .CodeStyleFixer import FixableCodeStyleIssues if self.__lastFileItem is None: # It's a new file self.__lastFileItem = QTreeWidgetItem(self.resultList, [file]) self.__lastFileItem.setFirstColumnSpanned(True) self.__lastFileItem.setExpanded(True) self.__lastFileItem.setData(0, self.filenameRole, file) fixable = False code, message = message.split(None, 1) itm = QTreeWidgetItem( self.__lastFileItem, ["{0:6}".format(line), code, message]) if code.startswith(("W", "-")): itm.setIcon(1, UI.PixmapCache.getIcon("warning.png")) elif code.startswith("N"): itm.setIcon(1, UI.PixmapCache.getIcon("namingError.png")) elif code.startswith("D"): itm.setIcon(1, UI.PixmapCache.getIcon("docstringError.png")) else: itm.setIcon(1, UI.PixmapCache.getIcon("syntaxError.png")) if fixed: itm.setIcon(0, UI.PixmapCache.getIcon("issueFixed.png")) elif code in FixableCodeStyleIssues and not autofixing: itm.setIcon(0, UI.PixmapCache.getIcon("issueFixable.png")) fixable = True itm.setTextAlignment(0, Qt.AlignRight) itm.setTextAlignment(1, Qt.AlignHCenter) itm.setTextAlignment(0, Qt.AlignVCenter) itm.setTextAlignment(1, Qt.AlignVCenter) itm.setTextAlignment(2, Qt.AlignVCenter) itm.setData(0, self.filenameRole, file) itm.setData(0, self.lineRole, int(line)) itm.setData(0, self.positionRole, int(pos)) itm.setData(0, self.messageRole, message) itm.setData(0, self.fixableRole, fixable) itm.setData(0, self.codeRole, code) itm.setData(0, self.ignoredRole, ignored) if ignored: font = itm.font(0) font.setItalic(True) for col in range(itm.columnCount()): itm.setFont(col, font) return itm