def _createMessageItem(self, msg, messageTime, ownMessage, messageState=None, toolTip=None, recvTime=None): item = QStandardItem() item.setEditable(True) item.setData(msg, Qt.DisplayRole) if messageState == None: messageState = self.MESSAGE_STATE_OK item.setData(QVariant(messageState), self.MESSAGE_STATE_ROLE) item.setData(QVariant(messageTime), self.MESSAGE_TIME_ROLE) if recvTime: item.setData(QVariant(recvTime), self.RECV_TIME_ROLE) if messageState == self.MESSAGE_STATE_NOT_DELIVERED: item.setData(QVariant(self._delegate.getWarnIcon()), ChatMessagesModel.STATUS_ICON_ROLE) elif messageState == self.MESSAGE_STATE_ERROR: item.setData(QVariant(self._delegate.getErrorIcon()), ChatMessagesModel.STATUS_ICON_ROLE) if toolTip: item.setData(QVariant(toolTip), self.TOOL_TIP_MSG_ROLE) elif messageState == self.MESSAGE_STATE_ERROR: item.setData(QVariant(u"Unknown error, message could not be delivered."), self.TOOL_TIP_MSG_ROLE) elif messageState == self.MESSAGE_STATE_NOT_DELIVERED: item.setData(QVariant(u"Message not delivered."), self.TOOL_TIP_MSG_ROLE) item.setData(ownMessage, ChatMessagesModel.OWN_MESSAGE_ROLE) return item
def initTable(self): self.model.clear() # header = QHeaderView(Qt.Horizontal) # headerModel = QStandardItemModel() layer = self.baseLayer fields = layer.pendingFields() headersList = ["fid"] for field in fields: headersList.append(field.name()) self.model.setHorizontalHeaderLabels(headersList) # headerModel.setHorizontalHeaderLabels(headersList) # header.setModel(headerModel) # self.attributeTable.setHorizontalHeader(header) if len(layer.selectedFeatures()) > 0: features = layer.selectedFeatures() else: features = layer.getFeatures() for feature in features: record = [QStandardItem(str(feature.id()))] for field in feature.fields(): name = field.name() attribute = feature.attribute(name).toString() stdItemValue = QStandardItem(attribute) stdItemValue.setEditable(False) record.append(stdItemValue) self.model.appendRow(record)
def _createListItem(self, values): result = [] for val in values: item = QStandardItem(str(val)) item.setEditable(False) result.append(item) return result
def createItem(self, key, data, column): item = QStandardItem() item.setEditable(False) self.callItemInitializer(column, key, data, item) if item.data(self.SORT_ROLE) == None: item.setData(item.data(Qt.DisplayRole), self.SORT_ROLE) item.setData(key, self.KEY_ROLE) return item
def populate_sync_path_model(self, folder_paths): self.sync_path_model.clear() for folder_path in folder_paths: item = QStandardItem(folder_path) item.setEditable(False) if folder_path == "Connect to DropBox first": item.setTextAlignment(Qt.AlignCenter) self.sync_path_model.appendRow(item)
def _createActionItem(self, action): item = QStandardItem() item.setEditable(False) item.setData(action, self.ACTION_ROLE) item.setText(action.getName()) icon = action.getIcon() if icon is not None: item.setData(QVariant(icon), Qt.DecorationRole) return item
def actualizePeakModel(sample): model=QApplication.instance().view.peakModel if model.rowCount(): model.clear() for peak in sample.rawPeaks.ipeaks():#sorted(sample.rawPeaks, key=lambda x:x.mass()): std_item = QStandardItem(str(peak)) MSDialogController.setRightIcon(peak, std_item) std_item.setEditable(False) model.appendRow(std_item)
def actualizePeakModel(sample): model = QApplication.instance().view.peakModel if model.rowCount(): model.clear() for peak in sample.rawPeaks.ipeaks( ): #sorted(sample.rawPeaks, key=lambda x:x.mass()): std_item = QStandardItem(str(peak)) MSDialogController.setRightIcon(peak, std_item) std_item.setEditable(False) model.appendRow(std_item)
def select_config_sync_path(self, config_sync_path): found_items = self.sync_path_model.findItems(config_sync_path) if len(found_items) > 0: index = found_items[0].index().row() else: config_item = QStandardItem(config_sync_path) config_item.setEditable(False) self.sync_path_model.insertRow(1, config_item) index = 1 self.sync_path_pick_selector.setCurrentIndex(index)
def createItem( data ): item = None if isinstance( data, QgsMapLayer): item = QStandardItem( data.name() ) item.setData( data, Qt.UserRole ) else: item = QStandardItem( data ) item.setEditable( False ) return item
def get_coloured_root_item(filepath, color, colorr): root = QStandardItem(filepath) gradient = QLinearGradient(-100, -100, 100, 100) gradient.setColorAt(0.7, colorr) gradient.setColorAt(1, color) root.setBackground(QBrush(gradient)) root.setEditable(False) root.setCheckState(Qt.Checked) root.setCheckable(True) return root
def _createItem(self, text, error, toolTip=None): item = QStandardItem() item.setEditable(False) item.setText(text) if error is 1: item.setData(self._warningColor, Qt.ForegroundRole) elif error is 2: item.setData(self._errorColor, Qt.ForegroundRole) if toolTip is None: toolTip = text item.setData(QVariant(toolTip), Qt.ToolTipRole) return item
def add_party_steam(self, parent, party_id): party_icon = QIcon( ':/plugins/stdm/images/icons/table.png' ) title = format_name(self.party.short_name) party_root = QStandardItem(party_icon, title) party_root.setData(party_id) self.set_bold(party_root) parent.appendRow([party_root]) party_root.setEditable(False) return party_root
def _createPluginItem(self, action): item = QStandardItem() item.setEditable(False) pluginName = None if action.getPluginObject() is not None: pluginName = action.getPluginObject().get_displayed_name() if pluginName is None: pluginName = action.getPluginName() item.setText(pluginName) #icon = action.getPluginObject().getIcon() #if icon is not None: # item.setData(QVariant(icon), Qt.DecorationRole) return item
def getColouredRootItem(sample): """stable, may be subdivised in sub routines """ root = QStandardItem(sample.shortName()) #root.setIcon(QIcon(QPixmap(os.path.normpath('gui/icons/formula.png')))) color =QColor.fromRgbF(sample.color[0],sample.color[1], sample.color[2],1.) colorr=QColor.fromRgbF(sample.color[0],sample.color[1], sample.color[2],.5) gradient=QLinearGradient(-100, -100, 100, 100) gradient.setColorAt(0.7, colorr);gradient.setColorAt(1, color) root.setBackground(QBrush(gradient)) root.setEditable(False) root.setCheckState(Qt.Checked) root.setCheckable(True) return root
def show_frame_info(self, process): """ show the frame info """ if not self.isVisible: return #TODO: no update if top frame is the same self.clear() root = self.frame_data.invisibleRootItem() self.source_files.clear() self.frames.clear() if process is None or not process.is_alive: return #if process.num_of_threads == 1: for thread in process: thread_name = thread.GetName() if not thread_name: thread_name = '[No Thread]' thread_row = QStandardItem(thread_name) thread_row.setEditable(False) thread_row.setSelectable(False) dummy = QStandardItem('') dummy.setEditable(False) dummy.setSelectable(False) root.appendRow([thread_row, dummy]) if len(thread.frames): self.top_frame = thread.frames[0] self.frame_changed.emit(self.top_frame) for frame in thread.frames: # first show the frame on the top of call stack. frame_idx = '#%d: ' % frame.idx frame_info = '' selectable = False if frame.name: frame_idx += frame.name if self._show_args.isChecked(): args = ','.join([str(x) for x in frame.args]) frame_info += ' (%s)' % args line = frame.line_entry if line: file_info = ' at %s:%d' % (str(line.GetFileSpec()), line.GetLine()) frame_info += file_info selectable = True else: frame_info += str(frame.module.GetFileSpec()) if frame.is_inlined: frame_info += ' (inlined)' col_idx = QStandardItem(frame_idx) self.source_files[col_idx] = line self.frames[col_idx] = frame col_idx.setEditable(False) col_idx.setSelectable(selectable) col_info = QStandardItem(frame_info) col_info.setEditable(False) col_info.setSelectable(selectable) thread_row.appendRow([col_idx, col_info]) self.expandToDepth(1)
def _addChildrenToParent(self, replaceParentNode, standardItemParent): if len(replaceParentNode.expressions) > 0: for e in replaceParentNode.expressions: if isinstance(e, list): listItem = QStandardItem('+') listItem.setEditable(False) for e2 in e: item = QStandardItem(self._buildTreeStringLabel(e2)) item.setEditable(False) self._addChildrenToParent(e2, item) listItem.appendRow(item) standardItemParent.appendRow(listItem) else: item = QStandardItem(self._buildTreeStringLabel(e)) item.setEditable(False) self._addChildrenToParent(e, item) standardItemParent.appendRow(item) if len(replaceParentNode.children) > 0: for c in replaceParentNode.children: item = QStandardItem(self._buildTreeStringLabel(c)) item.setEditable(False) self._addChildrenToParent(c, item) standardItemParent.appendRow(item)
def addCategory(self, cat, thumbnailPath, thumbnailSize): cat = convert_string(cat) thumbnailPath = convert_string(thumbnailPath) item = QStandardItem() item.setEditable(False) item.setData(QVariant(cat if cat != PrivacySettings.NO_CATEGORY else u"Not Categorized"), Qt.DisplayRole) self._initializeItem(item, thumbnailPath, thumbnailSize, cat, True) item.setData(QVariant() if thumbnailPath is None else QVariant(thumbnailPath), self.PATH_ROLE) catv = QVariant(cat) item.setData(catv, self.SORT_ROLE) item.setData(catv, self.CAT_ROLE) self._categoryToRow[cat] = self.rowCount() self.appendRow([item])
def init_quest_list(self): self.bot.QuestManager.EnumActiveQuests() self.model = QStandardItemModel(self.quest_list) for quest in [ self.bot.QuestManager.GetQuest(quest_id) for quest_id in self.bot.QuestManager.GetQuestIds() ]: item = QStandardItem(quest.GetTitle()) item.setEditable(False) self.model.appendRow(item) self.quest_list.setModel(self.model) self.quest_list.connect(self.quest_list, SIGNAL('itemActivated(QModelIndex)'), self.quest_id_edit, SLOT('setText'))
def actualizeSpectraModel(sample): #color =QColor.fromRgbF(sample.color[0],sample.color[1], sample.color[2], .4) model=QApplication.instance().view.spectraModel if model.rowCount(): model.clear() for i, spectrum in enumerate(sample.ispectra()): std_item = QStandardItem(str(spectrum.rtmin)) #std_item.setBackground(QBrush(color)) s = "<b>rtmin</b>: %f<br/>"%spectrum.rt s += "<b>rtmax</b>: %f<br/>"%spectrum.rtmin s += "<b>nb Points</b>: %d"%spectrum.x_data.shape[0] std_item.setToolTip(s) std_item.setIcon(QIcon(os.path.normpath('gui/icons/spectrumicon.png'))) std_item.setEditable(False) model.appendRow(std_item)
def getColouredRootItem(sample): """stable, may be subdivised in sub routines """ root = QStandardItem(sample.shortName()) #root.setIcon(QIcon(QPixmap(os.path.normpath('gui/icons/formula.png')))) color = QColor.fromRgbF(sample.color[0], sample.color[1], sample.color[2], 1.) colorr = QColor.fromRgbF(sample.color[0], sample.color[1], sample.color[2], .5) gradient = QLinearGradient(-100, -100, 100, 100) gradient.setColorAt(0.7, colorr) gradient.setColorAt(1, color) root.setBackground(QBrush(gradient)) root.setEditable(False) root.setCheckState(Qt.Checked) root.setCheckable(True) return root
def __init__(self, parent = None): QStandardItemModel.__init__(self, parent) self._settings = QSettings() for pluginobject in PluginLoader("ALL").plugins: # Changed the plugin viewable name to the UserString value # as it looks better for the user. #item = QStandardItem(pluginobject.pluginName) item = QStandardItem(pluginobject.pluginUserString) check = Qt.Unchecked valueString = "plugins/" + pluginobject.pluginName + "/load" if self._settings.value(valueString).toString() == "True": check = Qt.Checked item.setCheckState(check) item.setCheckable(True) item.setEditable(False) item.plugin = pluginobject self.appendRow(item)
def createItem(item): (pixel, total) = item (legend, color) = self.legendItems[pixel] name = "[%d] %s" % (pixel, legend) tip = "Value pixel: %d\nTotal pixels: %d\nClass name: %s" % ( pixel, total, legend) pix = QPixmap(16, 16) pix.fill(color) font.setStrikeOut(not self.visibleItems[pixel]) # itemModel = QStandardItem(QIcon(pix), name) itemModel.setEditable(False) itemModel.setData(font, Qt.FontRole) itemModel.setData(tip, Qt.ToolTipRole) itemModel.setData(item, Qt.UserRole) # return itemModel
def actualizeSpectraModel(sample): #color =QColor.fromRgbF(sample.color[0],sample.color[1], sample.color[2], .4) model = QApplication.instance().view.spectraModel if model.rowCount(): model.clear() for i, spectrum in enumerate(sample.ispectra()): std_item = QStandardItem(str(spectrum.rtmin)) #std_item.setBackground(QBrush(color)) s = "<b>rtmin</b>: %f<br/>" % spectrum.rt s += "<b>rtmax</b>: %f<br/>" % spectrum.rtmin s += "<b>nb Points</b>: %d" % spectrum.x_data.shape[0] std_item.setToolTip(s) std_item.setIcon( QIcon(os.path.normpath('gui/icons/spectrumicon.png'))) std_item.setEditable(False) model.appendRow(std_item)
def __init__(self, parent=None): QStandardItemModel.__init__(self, parent) self._settings = QSettings() for pluginobject in PluginLoader("ALL").plugins: # Changed the plugin viewable name to the UserString value # as it looks better for the user. #item = QStandardItem(pluginobject.pluginName) item = QStandardItem(pluginobject.pluginUserString) check = Qt.Unchecked valueString = "plugins/" + pluginobject.pluginName + "/load" if self._settings.value(valueString).toString() == "True": check = Qt.Checked item.setCheckState(check) item.setCheckable(True) item.setEditable(False) item.plugin = pluginobject self.appendRow(item)
def __init__(self, parent = None): QStandardItemModel.__init__(self, parent) self._settings = QSettings() self._settings.beginGroup("plugins") self.pluginloader = PluginLoader() self.pluginloader.pluginsToLoad = self.__checkToLoad() for plugin in self.pluginloader.plugins: if plugin.load == True: item = QStandardItem(plugin.pluginUserString) if plugin.icon: item.setIcon(plugin.icon) font = item.font() font.setPointSize(font.pointSize() + 4) item.setFont(font) item.setEditable(False) item.plugin = plugin self.appendRow(item)
def __init__(self, parent=None): QStandardItemModel.__init__(self, parent) self._settings = QSettings() self._settings.beginGroup("plugins") self.pluginloader = PluginLoader() self.pluginloader.pluginsToLoad = self.__checkToLoad() for plugin in self.pluginloader.plugins: if plugin.load == True: item = QStandardItem(plugin.pluginUserString) if plugin.icon: item.setIcon(plugin.icon) font = item.font() font.setPointSize(font.pointSize() + 4) item.setFont(font) item.setEditable(False) item.plugin = plugin self.appendRow(item)
def actualizeClusterModel(sample): model = QApplication.instance().view.clusterModel if model.rowCount(): model.clear() idItems = [] for peak in sample.imappedPeaks(): std_item = QStandardItem(str(peak)) std_item.setEditable(False) if peak.isFoundInDatabase: std_item.setBackground(QBrush(Qt.green)) #put the formula with the best score o = QStandardItem(peak.formulas.keys()[0]) o.setBackground(QBrush(Qt.green)) idItems.append(o) else: idItems.append(QStandardItem("not found")) MSDialogController.setRightIcon(peak, std_item) if peak.isoCluster: iso_item = QStandardItem("isotopic cluster:") iso_item.setEditable(False) for iso in peak.isoCluster: item = QStandardItem(str(iso)) item.setEditable(False) MSDialogController.setRightIcon(iso, item) iso_item.appendRow(item) std_item.appendRow(iso_item) if peak.fragCluster: frag_item = QStandardItem("fragments/adducts:") frag_item.setEditable(False) for frag in peak.fragCluster: item = QStandardItem("/".join([ str(frag.mass()), str(frag.rt), str(frag.annotation.values())[2:-2] ])) item.setEditable(False) MSDialogController.setRightIcon(frag, item) frag_item.appendRow(item) std_item.appendRow(frag_item) model.appendRow(std_item) model.appendColumn(idItems)
def updateStagesModel(self): ''' Used to update the tree model for the Stages tree ''' self.stagesModel.clear() parent = self.stagesModel.invisibleRootItem(); i = 0 for stage in self.stageTrees: i += 1 stageItem = QStandardItem(stage.replaceVariable) stageItem.setEditable(False) item = QStandardItem(self._buildTreeStringLabel(stage)) item.setEditable(False) self._addChildrenToParent(stage, item) stageItem.appendRow(item) parent.appendRow(stageItem) self.ui.stagesTreeView.setModel(self.stagesModel)
def scanXmlNodes ( self, filename ) : # dom = QtXml.QDomDocument ( '' ) nodeFilename = self.dirName + '/' + self.liblevel + filename file = QFile ( self.libdir.filePath ( filename ) ) if file.open ( QtCore.QIODevice.ReadOnly ) : if dom.setContent ( file ) : node = dom.documentElement () if node.nodeName () == 'nodenet' or node.nodeName () == 'node' : nodeName = node.attributes ().namedItem ( 'name' ).nodeValue () nodeType = node.attributes ().namedItem ( 'type' ).nodeValue () nodeAuthor = node.attributes ().namedItem ( 'author' ).nodeValue () nodeIcon = node.attributes ().namedItem ( 'icon' ).nodeValue () nodeHelp = '' help_tag = node.namedItem ('help') if not help_tag.isNull() : nodeHelp = help_tag.toElement ().text () item = QStandardItem ( nodeName ) item.setEditable ( False ) item.setData ( QVariant ( nodeAuthor ), QtCore.Qt.UserRole + 1 ) item.setData ( QVariant ( nodeType ), QtCore.Qt.UserRole + 2 ) item.setData ( QVariant ( nodeHelp ), QtCore.Qt.UserRole + 3 ) item.setData ( QVariant ( nodeFilename ), QtCore.Qt.UserRole + 4 ) item.setData ( QVariant ( nodeIcon ), QtCore.Qt.UserRole + 5 ) if node.nodeName () == 'nodenet' : # set Blue color for nodenet items brush = QtGui.QBrush () brush.setColor ( QtCore.Qt.blue ) item.setForeground ( brush ) item.setWhatsThis ( 'nodenet' ) else: item.setWhatsThis ( 'node' ) self.parentItem.appendRow ( item ) file.close ()
def setDataInHistoryModel(self, dataList, newFlag = False): # dataList is list of list of tuple with name and data # example # dataList = [ list of name, list of data ] # dataList = [["lat", "lon"], ["59", "17"]] if newFlag: self.stdItemModelHistory.setHorizontalHeaderLabels(dataList[0][0]) for i in range(len(dataList)): for j in range(len(dataList[i][1])): item = QStandardItem(dataList[i][1][j]) item.setEditable(False) self.stdItemModelHistory.setItem(i, j, item) return if len(dataList) > 0: rowcount = self.stdItemModelHistory.rowCount() if self.stdItemModelHistory.rowCount() > 0: for i in range(len(dataList[1])): item = QStandardItem(dataList[1][i]) item.setEditable(False) self.stdItemModelHistory.setItem(rowcount, i, item) pass else: self.stdItemModelHistory.setHorizontalHeaderLabels(dataList[0]) for i in range(len(dataList[1])): item = QStandardItem(dataList[1][i]) item.setEditable(False) self.stdItemModelHistory.setItem(0, i, item)
def actualizeClusterModel(sample): model=QApplication.instance().view.clusterModel if model.rowCount(): model.clear() idItems = [] for peak in sample.imappedPeaks(): std_item = QStandardItem(str(peak)) std_item.setEditable(False) if peak.isFoundInDatabase: std_item.setBackground(QBrush(Qt.green)) #put the formula with the best score o = QStandardItem(peak.formulas.keys()[0]) o.setBackground(QBrush(Qt.green)) idItems.append(o) else: idItems.append(QStandardItem("not found")) MSDialogController.setRightIcon(peak, std_item) if peak.isoCluster: iso_item = QStandardItem("isotopic cluster:") iso_item.setEditable(False) for iso in peak.isoCluster: item = QStandardItem(str(iso)) item.setEditable(False) MSDialogController.setRightIcon(iso, item) iso_item.appendRow(item) std_item.appendRow(iso_item) if peak.fragCluster: frag_item = QStandardItem("fragments/adducts:") frag_item.setEditable(False) for frag in peak.fragCluster: item =QStandardItem("/".join([str(frag.mass()), str(frag.rt), str(frag.annotation.values())[2:-2]])) item.setEditable(False) MSDialogController.setRightIcon(frag, item) frag_item.appendRow(item) std_item.appendRow(frag_item) model.appendRow(std_item) model.appendColumn(idItems)
def scanLibDir ( self ) : # process directories sortFlags = QDir.Name filterFlags = ( QDir.AllDirs | QDir.NoDotAndDotDot ) fileList = self.libdir.entryInfoList ( filterFlags, sortFlags ) for f in fileList : item = QStandardItem ( f.fileName () ) item.setEditable ( False ) item.setDragEnabled ( False ) # set bold font for folders font = item.font() font.setBold ( True ) item.setFont ( font ) item.setWhatsThis ( 'folder' ) currparent = self.parentItem self.parentItem.appendRow ( item ) self.parentItem = item currlevel = self.liblevel # store current level self.liblevel = self.liblevel + f.fileName () + '/' self.libdir.cd ( f.fileName () ) self.scanLibDir () # recurcive call itself self.liblevel = currlevel # restore current level self.libdir.cdUp () self.parentItem = currparent # process XML files filterFlags = QDir.Files fileList = self.libdir.entryInfoList ( [ '*.xml' ], filterFlags, sortFlags ) for f in fileList : self.scanXmlNodes ( f.fileName () )
def comboProjectChanged(self): if len(self.ui.comboProject.currentText()) > 0: self.project_id = self.projects_id[self.ui.comboProject.currentText()] #get project tasks qsubtasks = QStandardItemModel() for proj_tasks in self.asana_api.tasks.find_by_project(self.project_id, { 'completed_since': 'now'}): item = QStandardItem(proj_tasks['name']) item.setEditable(True) item.setToolTip('Double click to edit') if not proj_tasks['name'].endswith(':'): check = Qt.Unchecked item.setCheckState(check) item.setCheckable(True) self.projects_id[proj_tasks['name']] = proj_tasks['id'] item.setStatusTip(str(proj_tasks['id'])) else: font = QFont() font.setWeight(QFont.Bold) item.setFont(font) #populate the listview qsubtasks.appendRow(item) self.ui.listTasks.setModel(qsubtasks) QApplication.setOverrideCursor(QCursor(Qt.ArrowCursor)) qsubtasks.itemChanged.connect(self.checkTasks)
def appendRepository(self, path, active, autoUpdate, canAutoUpdate = None): activeItem = QStandardItem() activeItem.setEditable(False) activeItem.setCheckState(Qt.Checked if active else Qt.Unchecked) activeItem.setCheckable(True) pathItem = QStandardItem() pathItem.setData(path, Qt.DisplayRole) pathItem.setEditable(False) autoUpdateItem = QStandardItem() autoUpdateItem.setEditable(False) if canAutoUpdate == None: canAutoUpdate = self._gitHandler.hasGit(path) if canAutoUpdate: autoUpdateItem.setCheckState(Qt.Checked if autoUpdate else Qt.Unchecked) autoUpdateItem.setCheckable(True) statusItem = QStandardItem() self._updateStatusItem(statusItem, path) self._reposModel.appendRow([activeItem, pathItem, autoUpdateItem, statusItem])
def _icon_item(tooltip): item = QStandardItem() item.setEditable(False) item.setToolTip(tooltip) return item
def _createItem(self, editable=False): item = QStandardItem() item.setEditable(editable) return item
def fillTree(self): self.items = {} self.model.clear() self.model.setHorizontalHeaderLabels([self.tr('Setting'), self.tr('Value')]) text = unicode(self.searchBox.text()) settings = ProcessingConfig.getSettings() rootItem = self.model.invisibleRootItem() priorityKeys = [self.tr('General'), self.tr('Models'), self.tr('Scripts')] for group in priorityKeys: groupItem = QStandardItem(group) icon = ProcessingConfig.getGroupIcon(group) groupItem.setIcon(icon) groupItem.setEditable(False) emptyItem = QStandardItem() emptyItem.setEditable(False) rootItem.insertRow(0, [groupItem, emptyItem]) for setting in settings[group]: if setting.hidden or setting.name.startswith("MENU_"): continue if text == '' or text.lower() in setting.description.lower(): labelItem = QStandardItem(setting.description) labelItem.setIcon(icon) labelItem.setEditable(False) self.items[setting] = SettingItem(setting) groupItem.insertRow(0, [labelItem, self.items[setting]]) if text != '': self.tree.expand(groupItem.index()) providersItem = QStandardItem(self.tr('Providers')) icon = QIcon(os.path.join(pluginPath, 'images', 'alg.png')) providersItem.setIcon(icon) providersItem.setEditable(False) emptyItem = QStandardItem() emptyItem.setEditable(False) rootItem.insertRow(0, [providersItem, emptyItem]) for group in settings.keys(): if group in priorityKeys or group == menusSettingsGroup: continue groupItem = QStandardItem(group) icon = ProcessingConfig.getGroupIcon(group) groupItem.setIcon(icon) groupItem.setEditable(False) for setting in settings[group]: if setting.hidden: continue if text == '' or text.lower() in setting.description.lower(): labelItem = QStandardItem(setting.description) labelItem.setIcon(icon) labelItem.setEditable(False) self.items[setting] = SettingItem(setting) groupItem.insertRow(0, [labelItem, self.items[setting]]) emptyItem = QStandardItem() emptyItem.setEditable(False) providersItem.appendRow([groupItem, emptyItem]) menusItem = QStandardItem(self.tr('Menus (requires restart)')) icon = QIcon(os.path.join(pluginPath, 'images', 'menu.png')) menusItem.setIcon(icon) menusItem.setEditable(False) emptyItem = QStandardItem() emptyItem.setEditable(False) rootItem.insertRow(0, [menusItem, emptyItem]) providers = Processing.providers for provider in providers: groupItem = QStandardItem(provider.getDescription()) icon = provider.getIcon() groupItem.setIcon(icon) groupItem.setEditable(False) for alg in provider.algs: labelItem = QStandardItem(alg.name) labelItem.setIcon(icon) labelItem.setEditable(False) try: setting = ProcessingConfig.settings["MENU_" + alg.commandLineName()] except: continue self.items[setting] = SettingItem(setting) groupItem.insertRow(0, [labelItem, self.items[setting]]) emptyItem = QStandardItem() emptyItem.setEditable(False) menusItem.appendRow([groupItem, emptyItem]) self.tree.sortByColumn(0, Qt.AscendingOrder) self.adjustColumns()
def __setitem__(self, name, plot): model = QStandardItem(name) model.setEditable(False) self.namelist_model.appendRow(model) self.plot_dict[name] = plot
def _createIconItem(self, icon): item = QStandardItem() item.setEditable(False) item.setData(QVariant(icon), Qt.DecorationRole) item.setData(QSize(32, 32), Qt.SizeHintRole) return item
def _createTimeItem(self, rtime): item = QStandardItem() item.setEditable(False) item.setData(QVariant(rtime), Qt.DisplayRole) return item
def setTableView(self, tblView, stdModel, data): for i in range(7): for j in range(12 + data["CatOfAcftCount"][0]): item = QStandardItem("") item.setEditable(True) item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(i, j, item) item = QStandardItem("O C A ( H )") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(0, 0, item) item = QStandardItem("C a t of A C F T") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 0, item) item = QStandardItem("S t r a i g h t-I n A p p r o a c h") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(2, 0, item) if data["Template"][0] >= 0 and data["Template"][0] <= 4: item = QStandardItem("C i r c l i n g") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(4, 0, item) item = QStandardItem( "F i n a l A p p r o a c h L O C D i s t a n c e F A F-M A P t" ) item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(0, data["CatOfAcftCount"][0] + 3, item) else: item = QStandardItem("F i n a l A p p r o a c h F A F-M A P t") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(0, data["CatOfAcftCount"][0] + 3, item) if data["Template"][0] == 5: item = QStandardItem("LPV") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(2, 0, item) item = QStandardItem("LNAV / VNAV") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(3, 0, item) item = QStandardItem("LNAV") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(4, 0, item) item = QStandardItem("C i r c l i n g") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(5, 0, item) elif data["Template"][0] == 6: item = QStandardItem("LNAV / VNAV") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(2, 0, item) item = QStandardItem("LNAV") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(3, 0, item) item = QStandardItem("C i r c l i n g") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(4, 0, item) elif data["Template"][0] == 7: item = QStandardItem("LPV") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(2, 0, item) item = QStandardItem("LNAV") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(3, 0, item) item = QStandardItem("C i r c l i n g") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(4, 0, item) elif data["Template"][0] == 8: item = QStandardItem("LNAV") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(2, 0, item) item = QStandardItem("C i r c l i n g") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(3, 0, item) elif data["Template"][0] == 9: item = QStandardItem("RNP 0.3") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(2, 0, item) item = QStandardItem("C i r c l i n g") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(3, 0, item) if data["CatOfAcftCount"][0] == 1: item = QStandardItem("A") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 3, item) elif data["CatOfAcftCount"][0] == 2: item = QStandardItem("A") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 3, item) item = QStandardItem("B") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 4, item) elif data["CatOfAcftCount"][0] == 3: item = QStandardItem("A") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 3, item) item = QStandardItem("B") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 4, item) item = QStandardItem("C") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 5, item) elif data["CatOfAcftCount"][0] == 4: item = QStandardItem("A") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 3, item) item = QStandardItem("B") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 4, item) item = QStandardItem("C") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 5, item) item = QStandardItem("D") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 6, item) elif data["CatOfAcftCount"][0] == 5: if data["CatOfAcftCount"][1] == 4: item = QStandardItem("A") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 3, item) item = QStandardItem("B") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 4, item) item = QStandardItem("C") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 5, item) item = QStandardItem("D") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 6, item) item = QStandardItem("DL") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 7, item) else: item = QStandardItem("A") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 3, item) item = QStandardItem("B") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 4, item) item = QStandardItem("C") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 5, item) item = QStandardItem("D") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 6, item) item = QStandardItem("E") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 7, item) elif data["CatOfAcftCount"][0] == 6: item = QStandardItem("A") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 3, item) item = QStandardItem("B") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 4, item) item = QStandardItem("C") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 5, item) item = QStandardItem("D") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 6, item) item = QStandardItem("DL") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 7, item) item = QStandardItem("E") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, 8, item) # item = QStandardItem("DME MX NM") # item.setTextAlignment(Qt.AlignCenter) # stdModel.setItem(1, 6, item) item = QStandardItem("DME SSA") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, data["CatOfAcftCount"][0] + 3, item) item = QStandardItem("6") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, data["CatOfAcftCount"][0] + 5, item) item = QStandardItem("5") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, data["CatOfAcftCount"][0] + 6, item) item = QStandardItem("4") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, data["CatOfAcftCount"][0] + 7, item) item = QStandardItem("3") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, data["CatOfAcftCount"][0] + 8, item) item = QStandardItem("2") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, data["CatOfAcftCount"][0] + 9, item) item = QStandardItem("1") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(1, data["CatOfAcftCount"][0] + 10, item) item = QStandardItem("A L T(HGT)") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(2, data["CatOfAcftCount"][0] + 3, item) item = QStandardItem("G S") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(3, data["CatOfAcftCount"][0] + 3, item) item = QStandardItem("kt") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(3, data["CatOfAcftCount"][0] + 5, item) item = QStandardItem("80") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(3, data["CatOfAcftCount"][0] + 6, item) item = QStandardItem("100") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(3, data["CatOfAcftCount"][0] + 7, item) item = QStandardItem("120") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(3, data["CatOfAcftCount"][0] + 8, item) item = QStandardItem("140") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(3, data["CatOfAcftCount"][0] + 9, item) item = QStandardItem("160") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(3, data["CatOfAcftCount"][0] + 10, item) item = QStandardItem("180") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(3, data["CatOfAcftCount"][0] + 11, item) item = QStandardItem("T i me") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(4, data["CatOfAcftCount"][0] + 3, item) item = QStandardItem("mi n:s") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(4, data["CatOfAcftCount"][0] + 5, item) item = QStandardItem("Rate Of D e s c e n t") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(5, data["CatOfAcftCount"][0] + 3, item) item = QStandardItem("ft/mi n") item.setTextAlignment(Qt.AlignCenter) stdModel.setItem(5, data["CatOfAcftCount"][0] + 5, item) tblView.setModel(stdModel) for i in range(7): tblView.setRowHeight(i, int(data["TableHeight"] / 7)) for j in range(12 + data["CatOfAcftCount"][0]): tblView.setColumnWidth( j, int(data["TableWidth"] / float(12 + data["CatOfAcftCount"][0]))) # tblView.setColumnWidth(0, 25) # tblView.setColumnWidth(6, 20) tblView.setSpan(0, 0, 1, data["CatOfAcftCount"][0] + 3) tblView.setSpan(1, 0, 1, 3) if data["Template"][0] >= 0 and data["Template"][0] <= 4: tblView.setSpan(2, 0, 1, 3) tblView.setSpan(2, 3, 1, data["CatOfAcftCount"][0]) tblView.setSpan(3, 0, 1, data["CatOfAcftCount"][0] + 3) tblView.setSpan(4, 0, 1, 3) tblView.setSpan(5, 0, 1, 3) tblView.setSpan(6, 0, 1, 3) else: tblView.setSpan(2, 0, 1, 3) tblView.setSpan(3, 0, 1, 3) tblView.setSpan(4, 0, 1, 3) tblView.setSpan(5, 0, 1, 3) tblView.setSpan(6, 0, 1, 3) # tblView.setSpan(data["StraightCount"] + 2, 0, 1, 3) tblView.setSpan(0, data["CatOfAcftCount"][0] + 3, 1, 9) # tblView.setSpan(1, data["CatOfAcftCount"][0] + 4, 1, 5) # tblView.setSpan(1, data["CatOfAcftCount"][0] + 9, 1, 3) # tblView.setSpan(2, data["CatOfAcftCount"][0] + 5, 1, 4) # tblView.setSpan(2, data["CatOfAcftCount"][0] + 9, 1, 3) tblView.setSpan(1, data["CatOfAcftCount"][0] + 3, 1, 2) tblView.setSpan(2, data["CatOfAcftCount"][0] + 3, 1, 2) tblView.setSpan(3, data["CatOfAcftCount"][0] + 3, 1, 2) tblView.setSpan(4, data["CatOfAcftCount"][0] + 3, 1, 2) tblView.setSpan(5, data["CatOfAcftCount"][0] + 3, 1, 2) tblView.setSpan(6, data["CatOfAcftCount"][0] + 3, 1, 2)
def make_cell(val, editable=False): cell = QStandardItem() cell.setEditable(editable) cell.setData(val, Qt.EditRole) cell.setDropEnabled(False) return cell
def set_DataSource(self, data0): ######------------ dataSource : list of dictionary ---------###### if data0 == None or len(data0) == 0: return self.hLabelList = [] self.clear() if isinstance(data0[0], dict): for name in data0.nameList: self.hLabelList.append(name) self.hLabelList.append("rowID") self.setHorizontalHeaderLabels(self.hLabelList) elif isinstance(data0[0], list): if len(self.hLabelList) != 0: self.setHorizontalHeaderLabels(self.hLabelList) else: for name in data0[0].nameList: self.hLabelList.append(name) self.hLabelList.append("rowID") self.setHorizontalHeaderLabels(self.hLabelList) for i in range(len(data0)): item = QStandardItem(str(i)) self.setItem(i, len(self.hLabelList) - 1, item) if isinstance(data0[0], dict): # for name in data0[0]: # self.hLabelList.append(name) # self.setHorizontalHeaderLabels(self.hLabelList) j = 0 for name in data0.nameList: item = None if isinstance(data0[i][name], str) or isinstance( data0[i][name], QString): item = QStandardItem(data0[i][name]) elif isinstance(data0[i][name], float) or isinstance( data0[i][name], int): item = QStandardItem(str(data0[i][name])) elif data0[i][name] == None: item = QStandardItem("") else: item = QStandardItem(data0[i][name].ToString()) if self.ReadOnly: item.setEditable(False) self.setItem(i, j, item) j += 1 self.dataType = "dict" elif isinstance(data0[0], list): # if len(self.hLabelList) != 0: # self.setHorizontalHeaderLabels(self.hLabelList) j = 0 for dt in data0[i]: item = None if isinstance(dt, str) or isinstance(dt, QString): item = QStandardItem(dt) elif isinstance(dt, float) or isinstance(dt, int): item = QStandardItem(str(dt)) elif dt == None: item = QStandardItem("") else: item = QStandardItem(dt.ToString()) if self.ReadOnly: item.setEditable(False) self.setItem(i, j, item) j += 1 self.dataType = "list" else: j = 0 for k in range(len(data0[i].nameList)): item = None dt = data0[i].dataList[k] if isinstance(dt, str) or isinstance(dt, QString): item = QStandardItem(dt) elif isinstance(dt, float) or isinstance(dt, int): item = QStandardItem(str(dt)) elif dt == None: item = QStandardItem("") else: item = QStandardItem(dt.ToString()) if self.ReadOnly: item.setEditable(False) self.setItem(i, j, item) j += 1 self.dataType = "object" self.dataSource = data0
def fillTree(self): self.items = {} self.model.clear() self.model.setHorizontalHeaderLabels([self.tr('Setting'), self.tr('Value')]) text = unicode(self.searchBox.text()) settings = ProcessingConfig.getSettings() rootItem = self.model.invisibleRootItem() priorityKeys = [self.tr('General'), self.tr('Models'), self.tr('Scripts')] for group in priorityKeys: groupItem = QStandardItem(group) icon = ProcessingConfig.getGroupIcon(group) groupItem.setIcon(icon) groupItem.setEditable(False) emptyItem = QStandardItem() emptyItem.setEditable(False) rootItem.insertRow(0, [groupItem, emptyItem]) for setting in settings[group]: if setting.hidden: continue if text == '' or text.lower() in setting.description.lower(): labelItem = QStandardItem(setting.description) labelItem.setIcon(icon) labelItem.setEditable(False) self.items[setting] = SettingItem(setting) groupItem.insertRow(0, [labelItem, self.items[setting]]) if text != '': self.tree.expand(groupItem.index()) providersItem = QStandardItem(self.tr('Providers')) icon = QIcon(os.path.join(pluginPath, 'images', 'alg.png')) providersItem.setIcon(icon) providersItem.setEditable(False) emptyItem = QStandardItem() emptyItem.setEditable(False) rootItem.insertRow(0, [providersItem, emptyItem]) for group in settings.keys(): if group in priorityKeys: continue groupItem = QStandardItem(group) icon = ProcessingConfig.getGroupIcon(group) groupItem.setIcon(icon) groupItem.setEditable(False) for setting in settings[group]: if setting.hidden: continue if text == '' or text.lower() in setting.description.lower(): labelItem = QStandardItem(setting.description) labelItem.setIcon(icon) labelItem.setEditable(False) self.items[setting] = SettingItem(setting) groupItem.insertRow(0, [labelItem, self.items[setting]]) emptyItem = QStandardItem() emptyItem.setEditable(False) providersItem.appendRow([groupItem, emptyItem]) self.tree.sortByColumn(0, Qt.AscendingOrder) self.adjustColumns()
def _createEmptyItem(self): item = QStandardItem() item.setEditable(False) return item