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
Example #2
0
    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)
Example #3
0
 def _createListItem(self, values):
     result = []
     for val in values:
         item = QStandardItem(str(val))
         item.setEditable(False)
         result.append(item)
     return result
Example #4
0
 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
Example #5
0
 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)
Example #6
0
 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
Example #7
0
 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)
Example #8
0
 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)
Example #9
0
 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)
Example #10
0
    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
Example #11
0
 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
Example #12
0
 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
Example #13
0
    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
Example #14
0
 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
Example #15
0
 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
Example #16
0
    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])
Example #19
0
    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'))
Example #20
0
    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)
Example #21
0
 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
Example #22
0
 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)
Example #23
0
 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
Example #24
0
    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)
Example #26
0
    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)
Example #28
0
    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)
Example #30
0
 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)
Example #32
0
    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)
Example #33
0
 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 () )
Example #34
0
 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])
Example #36
0
 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
Example #38
0
 def _icon_item(tooltip):
     item = QStandardItem()
     item.setEditable(False)
     item.setToolTip(tooltip)
     return item
Example #39
0
    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()
Example #40
0
 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
Example #43
0
    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)
Example #44
0
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
Example #46
0
    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