def createWidgets(self): self.listWidget = QListWidget() for row, (gid, name) in enumerate(self.state.model.normalGroups()): item = QListWidgetItem(name) item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsUserCheckable | Qt.ItemIsEnabled) item.setBackground(self.palette().base() if row % 2 else self.palette().alternateBase()) item.setCheckState(Qt.Unchecked) item.setData(Qt.UserRole, gid) item.setIcon(QIcon(":/groups.svg")) self.listWidget.addItem(item) self.tooltips.append((self.listWidget, "List of Normal Groups")) self.buttons = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
def updateStrategyView(self): """Updates a strategy view.""" sec = self.selectedTitles(self.ui.listWidgetSection.selectedItems()) subs = self.selectedTitles(self.ui.listWidgetComponent.selectedItems()) func = self.container.listStrategies(qsections=sec, qsubsections=subs) func = sorted(func) func_all = self.container.listStrategies() self.ui.listWidgetStrategy.clear() func_all = sorted(func_all) # remove from func if "Not Classified" in func: func.remove("Not Classified") # remove from func_all, and add in the end if "Not Classified" in func_all: func_all.remove("Not Classified") func_all.append("Not Classified") # we need to thing better ways to make this # without for's # paint and put first in the view for row, value in enumerate(func): item = QListWidgetItem(str(value)) item.setBackground(QBrush(QColor(0, 0, 255, 30))) self.ui.listWidgetStrategy.addItem(item) # put some they not have for row, value in enumerate(func_all): # if we can use set we dont need to use if if value not in func: item = QListWidgetItem(str(value)) self.ui.listWidgetStrategy.addItem(item) self.ui.labelHighlightedStrategy.setText(str(len(func))) self.updateSentenceView()