Example #1
1
 def setModified(self, item: QTreeWidgetItem, modified: bool):
     f = item.font(0)
     f.setItalic(modified)
     item.setFont(0, f)
     item.setFont(1, f)
     f.setBold(modified)
     item.setFont(2, f)
Example #2
0
    def __init__( self, pluginManager, cdmPlugin, active, category ):
        self.plugin = cdmPlugin
        self.active = active
        self.category = category

        name = self.plugin.getName()
        ver = self.plugin.getVersion()
        QTreeWidgetItem.__init__( self, [ "", "", "", name, ver ] )

        if not self.plugin.conflictType in [ pluginManager.NO_CONFLICT,
                                             pluginManager.USER_DISABLED ]:
            self.setIcon( CONFLICT_COL, PixmapCache().getIcon( 'pluginconflict.png' ) )
            self.setToolTip( CONFLICT_COL, self.plugin.conflictMessage )

        self.setToolTip( STATE_COL, "Enable / disable" )
        self.setToolTip( CONFLICT_COL, "Conflict" )

        if self.plugin.isUser():
            self.setIcon( TYPE_COL, PixmapCache().getIcon( 'pluginuser.png' ) )
            self.setToolTip( TYPE_COL, "User plugin" )
        else:
            self.setIcon( TYPE_COL, PixmapCache().getIcon( 'pluginsystem.png' ) )
            self.setToolTip( TYPE_COL, "System wide plugin" )

        self.setFlags( self.flags() | Qt.ItemIsUserCheckable )
        if active:
            self.setCheckState( STATE_COL, Qt.Checked )
        else:
            self.setCheckState( STATE_COL, Qt.Unchecked )
        return
Example #3
0
    def __init__( self, logInfo ):
        self.logInfo = logInfo

        message = ""
        if logInfo.message:
            message = str( logInfo.message )
        authorTooltip = ""
        author = ""
        if logInfo.author:
            authorTooltip = str( logInfo.author )
            author = authorTooltip.split( "@", 1 )[ 0 ]
        revision = ""
        if logInfo.revision:
            if logInfo.revision.number:
                revision = str( logInfo.revision.number )
        date = ""
        if logInfo.date:
            date = timestampToString( logInfo.date )

        QTreeWidgetItem.__init__( self, [ "", "", revision, date,
                                          author, message ] )

        self.setCheckState( SELECT_COL, Qt.Unchecked )
        self.setToolTip( REVISION_COL, revision )
        self.setToolTip( DATE_COL, date )
        self.setToolTip( AUTHOR_COL, authorTooltip )
        self.setToolTip( MESSAGE_COL, message )
        return
Example #4
0
    def populateTree(self):
        self.uptodateItem = QTreeWidgetItem()
        self.uptodateItem.setText(0, self.tr('Installed'))
        self.toupdateItem = QTreeWidgetItem()
        self.toupdateItem.setText(0, self.tr('Updatable'))
        self.notinstalledItem = QTreeWidgetItem()
        self.notinstalledItem.setText(0, self.tr('Not installed'))
        self.toupdateItem.setIcon(0, self.icon)
        self.uptodateItem.setIcon(0, self.icon)
        self.notinstalledItem.setIcon(0, self.icon)
        resources = readUrl(self.urlBase + 'list.txt').splitlines()
        resources = [r.split(',') for r in resources]
        self.resources = {f: (v, n) for f, v, n in resources}
        for filename, version, name in sorted(resources, key=lambda kv: kv[2].lower()):
            treeBranch = self.getTreeBranchForState(filename, float(version))
            item = TreeItem(filename, name, self.icon)
            treeBranch.addChild(item)
            if treeBranch != self.notinstalledItem:
                item.setCheckState(0, Qt.Checked)

        self.tree.addTopLevelItem(self.toupdateItem)
        self.tree.addTopLevelItem(self.notinstalledItem)
        self.tree.addTopLevelItem(self.uptodateItem)

        self.webView.setHtml(self.HELP_TEXT)
    def updateMemberInformation(self, peerID=None, peerInfo=None):
        if peerID != None and peerID != self.get_selected_log_member():
            # only update if selected member updated
            return

        self.memberInformationTable.clear()

        if self.get_selected_log_member() == None:
            self.memberInformationTable.setColumnCount(0)
            self.memberInformationTable.setHeaderLabel("No member selected.")
            return

        if peerInfo == None:
            peerInfo = get_peers().getPeerInfo(pID=self.get_selected_log_member())

        if peerInfo == None:
            self.memberInformationTable.setColumnCount(0)
            self.memberInformationTable.setHeaderLabel("No member information available.")
            return

        self.memberInformationTable.setColumnCount(len(peerInfo))
        headers = sorted(peerInfo.keys(), key=lambda s: s.lower())
        self.memberInformationTable.setHeaderLabels(QStringList(headers))
        item = QTreeWidgetItem(self.memberInformationTable)
        for col, header in enumerate(headers):
            item.setData(col, Qt.DisplayRole, QVariant(peerInfo[header]))
        for col in range(self.memberInformationTable.columnCount()):
            self.memberInformationTable.resizeColumnToContents(col)
Example #6
0
 def createTree(self):
     objects = list(self.model)
     objects = [object for object in objects
         if self.filter.match(object)]
     objects.sort(key=getIdentifier)
     groups = {}
     for object in objects:
         if isinstance(object, Group):
             key = None
         else:
             key = self.getTreeKey(object)
         if key in groups:
             groups[key].append(object)
         else:
             groups[key] = [object]
     root = []
     for key in sorted(groups.keys()):
         if key:
             label = self.createTreeKeyLabel(key)
         else:
             label = tr('Groups')
         tree = QTreeWidgetItem([label])
         unsetFlag(tree, Qt.ItemIsSelectable)
         for object in groups[key]:
             node = self.createTreeItem(object)
             tree.addChild(node)
         root.append(tree)
     return root
    def fillTreeWidget(self):
        """ Заполняем tree widget записями, на основе разбиения на категории"""
        self._loadingData = True
        self._ui.twEntries.clear()
        for key in self._categories:
            self._categories[key] = sorted(self._categories[key], key=attrgetter('title'))
            item = DateTreeWidgetItem(self._ui.twEntries)
            font = item.font(0)
            font.setPointSize(11)
            font.setBold(True)
            item.setFont(0, font)
            if settings.showEntryCountInCategory():
                item.setText(0, "{} ({})".format(key, len(self._categories[key])))
            else:
                item.setText(0, key)
            item.setData(0, Qt.UserRole, self._keyForCategory[key])
            for e in self._categories[key]:
                entryItem = QTreeWidgetItem(item)
                font = entryItem.font(0)
                font.setPointSize(12)
                entryItem.setCheckState(0, Qt.Checked if e.interesting else Qt.Unchecked)
                entryItem.setText(0, e.title)
                entryItem.setFont(0, font)
                entryItem.setData(0, Qt.UserRole, e.id)
                self._setToolTipForItem(e, entryItem)

        self._ui.twEntries.sortItems(0, Qt.AscendingOrder)
        self._ui.twEntries.expandAll()
        self._loadingData = False
Example #8
0
    def init_main_panel(self):
        from PyQt4.QtGui import QTreeWidgetItem as Twi

        this = self.mw
        coco = self.coco
        tree = this.friends_list_tree
        self.root = []

        friends = coco.friends
        from copy import deepcopy

        # 有些好友并不在任何返回的群组中(可能是陌生人或者黑名单吧,没有测试过)
        friends_copy = deepcopy(friends)

        for cat in coco.categories:
            group_item = Twi(tree, [cat["name"]])
            group_item.setSizeHint(0, QSize(0, 30))
            self.root.append(group_item)
            index = cat["index"]
            friends_of_this_group = friends_copy.pop(index)
            for friend in friends_of_this_group:
                uin = friend["uin"]
                # 有备注就取备注否则取昵称
                nick = coco.friend_cache[uin]["nick"]
                t = Twi(group_item, [nick])
                # 将uin存储在item上
                t.uin = uin
                coco.friend_cache[uin]["nick"] = nick

        if friends_copy:
            logging.debug("thers are friends that not belong to any category.")

        tree.insertTopLevelItems(0, self.root)
    def _add_symbol_to_tree_widget(self, symbol):
        """ Add the given symbol to the tree widget. If this
        is a new category create it, otherwise append it
        to the already existing one.

        """

        # find category
        category = symbol["category"]
        categoryItems = self.availableSymbolsWidget.findItems(category,
                                                Qt.MatchExactly, 0)

        name = symbol["name"]
        symbolItem = QTreeWidgetItem([name])
        symbolItem.setData(0, Qt.UserRole, name)
        symbolItem.setFlags(Qt.ItemIsSelectable |
                            Qt.ItemIsUserCheckable |
                            Qt.ItemIsEnabled)

        if categoryItems:
            categoryItems[0].addChild(symbolItem)
        else:
            categoryItem = QTreeWidgetItem(self.availableSymbolsWidget,
                                           [category])
            categoryItem.setFlags(Qt.ItemIsEnabled)
            categoryItem.addChild(symbolItem)

        self.availableSymbolsWidget.resizeColumnToContents(0)
        self.availableSymbolsWidget.sortItems(0, Qt.AscendingOrder)
        self.availableSymbolsWidget.setCurrentItem(symbolItem)
Example #10
0
 def __init__(self, parent, _name, path):
     QTreeWidgetItem.__init__(self, parent)
     self._parent = parent
     self.setText(0, _name)
     self.path = path
     self.isFolder = True
     self.setForeground(0, QBrush(QColor(255, 165, 0)))
     project = json_manager.read_ninja_project(path)
     self.name = project.get('name', '')
     if self.name == '':
         self.name = _name
     self.setText(0, self.name)
     self.projectType = project.get('project-type', '')
     self.description = project.get('description', '')
     self.url = project.get('url', '')
     self.license = project.get('license', '')
     self.mainFile = project.get('mainFile', '')
     self.preExecScript = project.get('preExecScript', '')
     self.postExecScript = project.get('postExecScript', '')
     self.indentation = project.get('indentation', settings.INDENT)
     self.useTabs = project.get('use-tabs', settings.USE_TABS)
     self.extensions = project.get('supported-extensions',
         settings.SUPPORTED_EXTENSIONS)
     self.pythonPath = project.get('pythonPath', settings.PYTHON_PATH)
     self.PYTHONPATH = project.get('PYTHONPATH', '')
     self.programParams = project.get('programParams', '')
     self.venv = project.get('venv', '')
     self.related_projects = project.get('relatedProjects', [])
     self.update_paths()
     self.addedToConsole = False
Example #11
0
 def __init__(self, song, pos):
     QTreeWidgetItem.__init__(self)
     self.song = song
     self.pos = pos
     self.setText(0,mpdlibrary.songArtist(song))
     self.setText(1,mpdlibrary.songTitle(song))
     self.setText(2,mpdlibrary.songAlbum(song))
Example #12
0
 def __init__(self, action, collection, name):
     QTreeWidgetItem.__init__(self)
     self.collection = collection
     self.name = name
     self.setIcon(0, action.icon())
     self.setText(0, qutil.removeAccelelator(action.text()))
     self._shortcuts = {}
Example #13
0
 def build_menu_item(action):
     """Return a QTreeWidgetItem with children for all the actions in the submenu."""
     menuitem = QTreeWidgetItem()
     text = qutil.removeAccelelator(action.text())
     menuitem.setText(0, _("Menu {name}").format(name=text))
     add_actions(menuitem, action.menu().actions())
     return menuitem
 def __init__(self, parent, name, lineno=None):
     QTreeWidgetItem.__init__(self, parent, name)
     self.lineno = lineno
     self.isClickable = True
     self.isAttribute = False
     self.isClass = False
     self.isMethod = False
Example #15
0
    def __init__( self, parent, isGlobal,
                        displayName, displayValue, displayType ):
        self.__isGlobal = isGlobal
        self.__value = displayValue
        self.__name = displayName
        self.__type = displayType

        # Decide about the display value
        displayValue = getDisplayValue( displayValue )

        # Decide about the tooltip
        self.__tooltip = "Name: " + displayName + "\n" + \
                         "Type: " + displayType + "\n" + \
                         "Value: "

        tooltipDisplayValue = getTooltipValue( self.__value )
        if '\r' in tooltipDisplayValue or '\n' in tooltipDisplayValue:
            self.__tooltip += "\n" + tooltipDisplayValue
        else:
            self.__tooltip += tooltipDisplayValue

        QTreeWidgetItem.__init__( self, parent, [ displayName, displayValue,
                                                  displayType ] )

        self.populated = True
        return
Example #16
0
 def appendPage(self, path, widget, icon=None):
     """Append page to the tree. Called by a plugin for creating own page. Example:
     ::
     
         widget = MitSchemeSettings(dialog)
         dialog.appendPage(u"Modes/MIT Scheme", widget, QIcon(':/enkiicons/languages/scheme.png'))
     
     """
     pathParts = path.split('/')
     if len(pathParts) == 1:
         parentItem = None
     else:
         parentItem = self._itemByPath(pathParts[:-1])
     
     twItem = QTreeWidgetItem([pathParts[-1]])
     if icon is not None:
         twItem.setIcon(0, icon)
     
     if parentItem is not None:
         parentItem.addChild(twItem)
     else:
         self.twMenu.addTopLevelItem(twItem)
     
     self.swPages.addWidget(widget)
     self._pageForItem[path] = widget
Example #17
0
    def populateTree(self):
        self.uptodateItem = QTreeWidgetItem()
        self.uptodateItem.setText(0, self.tr("Installed"))
        self.toupdateItem = QTreeWidgetItem()
        self.toupdateItem.setText(0, self.tr("Updatable"))
        self.notinstalledItem = QTreeWidgetItem()
        self.notinstalledItem.setText(0, self.tr("Not installed"))
        self.toupdateItem.setIcon(0, self.icon)
        self.uptodateItem.setIcon(0, self.icon)
        self.notinstalledItem.setIcon(0, self.icon)
        resources = readUrl(self.urlBase + "list.txt").splitlines()
        resources = [r.split(",") for r in resources]
        self.resources = {f: (v, n) for f, v, n in resources}
        for filename, version, name in resources:
            treeBranch = self.getTreeBranchForState(filename, float(version))
            item = TreeItem(filename, name, self.icon)
            treeBranch.addChild(item)
            if treeBranch != self.notinstalledItem:
                item.setCheckState(0, Qt.Checked)

        self.tree.addTopLevelItem(self.toupdateItem)
        self.tree.addTopLevelItem(self.notinstalledItem)
        self.tree.addTopLevelItem(self.uptodateItem)

        self.webView.setHtml(self.HELP_TEXT)
Example #18
0
    def _updateCacheView(self, build_dir):
        # Do nothing if build dir is not configured
        if not build_dir:
            return

        self.cacheViewPage.cacheItems.clear()               # Remove previously collected cache
        is_advanced = self.cfgPage.mode.isChecked()

        try:
            items = cmake_help_parser.get_cache_content(build_dir, is_advanced)
        except ValueError as error:
            kate.ui.popup(
                i18nc('@title:window', 'Error')
              , i18nc(
                    '@info:tooltip'
                  , 'Unable to get CMake cache content:<nl/><message>%1</message>'
                  , str(error)
                  )
              , 'dialog-error'
              )
            return

        # Add items to a list
        for key, value in items.items():
            item = QTreeWidgetItem(self.cacheViewPage.cacheItems, [key, value[1], value[0]])
            item.setToolTip(0, value[2])

        self.cacheViewPage.cacheItems.resizeColumnToContents(0)
        self.cacheViewPage.cacheItems.resizeColumnToContents(1)
        self.cacheViewPage.cacheItems.resizeColumnToContents(2)
 def OpenProjectFromFile(self, name):
     self.demands = {}
     self.project = Project()
     
     #try:
     self.project.Load(name)
     #except :
         # TODO: proper exceptioning
     #    QMessageBox.critical(self, self.tr("An error occured"), self.tr("File is not a valid project file: ") + name)
     #    return
     self.projectFile = name
     self.resourcesGraphEditor.setData(self.project.resources)
     self.ui.demands.clear()
     for d in self.project.demands:
         it = QTreeWidgetItem(self.ui.demands, QStringList([d.id, str(d.startTime), str(d.endTime), self.tr("No") if d.critical else self.tr("Yes"), self.tr("Yes") if d.assigned else self.tr("No")]))
         cb = QComboBox()
         cb.addItems([self.tr("No"),self.tr("Yes")])
         cb.setCurrentIndex(0 if d.critical else 1)
         QObject.connect(cb, SIGNAL("currentIndexChanged(int)"), it.emitDataChanged)
         self.ui.demands.setItemWidget(it,3,cb)
         it.setFlags(Qt.ItemIsEditable | Qt.ItemIsEnabled | Qt.ItemIsSelectable)
         self.demands[it] = d
     self.UpdateRecentFiles()
     self.setWindowTitle(self.project.name + " - " + self.basename)
     self.ui.projectname.setText(self.project.name)
     self.showStats()
     self.backupTimer.start()
     self.autosaveTimer.start()
 def __init__(self, filename, name, icon):
     QTreeWidgetItem.__init__(self)
     self.name = name
     self.filename = filename
     self.setText(0, name)
     self.setIcon(0, icon)
     self.setCheckState(0, Qt.Unchecked)
Example #21
0
	def populateTable(self):
		"""Populates table with data from ItemTracker."""
		self.selectedWidget.clear()
		self.selectedWidget.setSortingEnabled(False)
		numRows = len(self.tableResults)
		self.mkInfo("Selected items in ItemTracker: {0}".format(numRows))

		self.selectedWidget.setAlternatingRowColors(True)
		header = ["ItemID", "StrainID", "ItemType", "ItemName", "BacteriaItemID"]
		self.selectedWidget.setColumnCount(len(header))
		self.selectedWidget.setHeaderLabels(header)

		# use result and populate table
		for result in self.tableResults:
			properties = [unicode(i) for i in result]
			item = QTreeWidgetItem(self.selectedWidget, properties)
			item.setCheckState(0, Qt.Unchecked)

		self.selectedWidget.setSortingEnabled(True)
		for i in range(len(header)):
			self.selectedWidget.resizeColumnToContents(i)
		self.stackedWidget.setCurrentIndex(1) # switch view to table
		self.statusbar.clearMessage()
		self.populatedTable = True
		self.updateUi()
Example #22
0
    def addResults(self, results):
        tree = QTreeWidget()
        tree.setColumnCount(1)
        header = QString("Offset")
        tree.setHeaderLabel(header)
        tree.setAlternatingRowColors(True)            
        self.connect(tree, SIGNAL("itemDoubleClicked(QTreeWidgetItem *, int)"), self.treeClicked)

        for res in results:
            #            print hex(res)
            item = QTreeWidgetItem(tree)
            off = "0x"
            off += "%.2x" % res
            item.setText(0, str(off))
            self.trees.append(tree)
            
        #Add pattern and offsets to tupple
        key = binascii.hexlify(self.search.search_th.pattern)
        self.search.searchedPatterns[key] = results
        
        if self.search.lastSearchType == 0:
            p = binascii.hexlify(self.search.search_th.pattern)
        elif self.search.lastSearchType == 1:
            p = self.search.search_th.pattern
        else:
            p = "u("
            p += self.search.needle.text()
            p += ")"
        #Add Ascii hex pattern in searched list for syntaxHighliter
        self.insertTab(len(self.trees), tree, p)
Example #23
0
    def updateLogList(self, logsAdded=None, logsRenamed=None):
        selectedMember = self.get_selected_log_member()

        if logsAdded == None:
            self.log_tree_view.clear()
            logsAdded = []
            for index, logFile in enumerate(reversed(self.listLogFilesForMember(selectedMember))):
                logsAdded.append((index, logFile))
            if len(logsAdded) == 0:
                self.log_tree_view.clear()
                self.log_tree_view.addTopLevelItem(
                    QTreeWidgetItem(self.log_tree_view, QStringList("No logs available."))
                )
                self.log_tree_view.setSelectionMode(QTreeWidget.NoSelection)
                self.logSizeLabel.setText("No logs")
                self.clearLogsButton.setEnabled(False)
                return

        if logsRenamed != None:
            for index, oldName, newName in logsRenamed:
                # index + 1 because of the "requesting" item
                item = self.log_tree_view.topLevelItem(index + 1)
                if item != None:
                    itemLogFile = convert_string(item.data(0, Qt.UserRole).toString())
                    if itemLogFile != oldName:
                        self.logger.warning(
                            "index does not correspond to item in list:\n\t%s\n\t%s", itemLogFile, oldName
                        )
                    self.initializeLogItem(item, newName)

        if len(logsAdded) == 0:
            self.log_tree_view.takeTopLevelItem(0)
        else:
            for index, logFile in logsAdded:
                oldItem = self.log_tree_view.topLevelItem(index)
                item = None
                if oldItem != None and oldItem.data(0, Qt.UserRole) == None:
                    # requested item has been received
                    item = oldItem
                else:
                    item = QTreeWidgetItem()
                    oldItem = None

                if logFile == None:
                    item.setData(0, Qt.DisplayRole, QVariant("Requesting..."))
                    QTimer.singleShot(6000, partial(self.requestTimedOut, item))
                else:
                    self.initializeLogItem(item, logFile)

                if oldItem == None:
                    # else, the old item is being modified
                    self.log_tree_view.insertTopLevelItem(index, item)
                self.log_tree_view.setSelectionMode(QTreeWidget.SingleSelection)

        totalSize = 0
        for aLogFile in self.listLogFilesForMember(selectedMember):
            totalSize += os.path.getsize(aLogFile)

        self.logSizeLabel.setText("%s consumed" % self.formatFileSize(totalSize))
        self.clearLogsButton.setEnabled(True)
Example #24
0
	def updateHolesTable(self):
		self.treeWidget_holes.clear()
		self.treeWidget_holes.setColumnCount(3)
		self.treeWidget_holes.setColumnWidth(0, 50)
		self.treeWidget_holes.setColumnWidth(1, 50)
		self.treeWidget_holes.setColumnWidth(2, 70)
		self.treeWidget_holes.setColumnWidth(3, 70)
		self.treeWidget_holes.setHeaderLabels(["dia", "#", "X", "Y"])

		diaList=list(self.fitHoles.keys())
		diaList.sort()

		for dia in diaList:
			drillItem = QTreeWidgetItem()
			drillItem.setText(0, str(dia))
			drillItem.setText(1, str(len(self.fitHoles[dia])))
			self.treeWidget_holes.addTopLevelItem(drillItem)

			for hole in (self.fitHoles[dia]):
				x, y, ID = hole
				holeItem = QTreeWidgetItem(ID+1000)	# use ID of hole as type
				holeItem.setText(2, "{:3.1f}".format(x))
				holeItem.setText(3, "{:3.1f}".format(y))
				drillItem.addChild(holeItem)

				if hole in self.selectedHoles:
					self.treeWidget_holes.setCurrentItem(holeItem)
					#self.treeWidget_holes.expandItem(drillItem)
					#self.treeWidget_holes.scrollToItem(holeItem)

		if not self.selectedHoles:
			self.treeWidget_holes.setCurrentItem(None)
Example #25
0
 def __init__(self, parent, _name, path):
     QTreeWidgetItem.__init__(self, parent)
     self._parent = parent
     self.setText(0, _name)
     self.path = path
     self.isFolder = True
     self.setForeground(0, QBrush(Qt.darkGray))
     project = json_manager.read_ninja_project(path)
     self.name = project.get('name', '')
     if self.name == '':
         self.name = _name
     self.setText(0, self.name)
     self.projectType = project.get('project-type', '')
     self.description = project.get('description', '')
     self.url = project.get('url', '')
     self.license = project.get('license', '')
     self.mainFile = project.get('mainFile', '')
     self.preExecScript = project.get('preExecScript', '')
     self.postExecScript = project.get('postExecScript', '')
     self.extensions = project.get('supported-extensions',
         settings.SUPPORTED_EXTENSIONS)
     self.pythonPath = project.get('pythonPath', settings.PYTHON_PATH)
     self.programParams = project.get('programParams', '')
     self.venv = project.get('venv', '')
     self.addedToConsole = False
        def cb_success(result):
            programs, message = result

            if message != None:
                QMessageBox.critical(get_main_window(), 'Import Error', message)
            else:
                sorted_programs = {}

                for program in programs:
                    first_upload = program[4]

                    if first_upload in sorted_programs:
                        sorted_programs[first_upload][program[1]] = program
                    else:
                        sorted_programs[first_upload] = {program[1]: program}

                for first_upload in sorted(sorted_programs.keys()):
                    for identifier in sorted(sorted_programs[first_upload].keys()):
                        program = sorted_programs[first_upload][identifier]
                        item    = QTreeWidgetItem(program[0:4])

                        self.tree_programs.addTopLevelItem(item)

                        item.setSelected(True)

            self.refresh_in_progress = False
            self.update_ui_state()
            self.tree_programs.setFocus()
Example #27
0
    def __init__(self):
        super(ShortcutSection, self).__init__()
        container = QVBoxLayout(self)
        self.tree = QTreeWidget()
        self.tree.setHeaderLabels([self.tr("Keys"), self.tr("Description")])
        self.tree.header().setStretchLastSection(True)
        self.tree.setColumnWidth(0, 200)
        container.addWidget(self.tree)

        self.items = {
            "new": "Create a new editor to work in a file",
            "new-project": "Create a new project",
            "open": "Open one or more files",
            "open-project": "Opens an existing project Edis",
            "reload": "Reload file",
            "save": "Save file"
            }

        for i, e in list(self.items.items()):
            item = QTreeWidgetItem(self.tree,
                                   [keymap.get_keymap(i).toString(), e])
            item.setFlags(Qt.ItemIsEditable | Qt.ItemIsEnabled)

        self.tree.itemDoubleClicked.connect(self._change_shortcut)
        # Install
        EnvironmentConfiguration.install_widget(self.tr("Shortcuts"), self)
Example #28
0
    def __init__( self, parentItem, exceptionType, exceptionMessage,
                  stackTrace ):
        QTreeWidgetItem.__init__( self, parentItem )
        self.__count = 1
        self.__exceptionType = exceptionType
        self.__exceptionMessage = exceptionMessage

        if exceptionMessage == "" or exceptionMessage is None:
            self.setText( 0, str( exceptionType ) )
            self.setToolTip( 0, "Type: " + str( exceptionType ) )
        else:
            self.setText( 0, str( exceptionType ) + ", " +
                             getDisplayValue( exceptionMessage ) )
            tooltip = "Type: " + str( exceptionType ) + "\n" + \
                      "Message: "
            tooltipMessage = getTooltipValue( exceptionMessage )
            if '\r' in tooltipMessage or '\n' in tooltipMessage:
                tooltip += "\n" + tooltipMessage
            else:
                tooltip += tooltipMessage
            self.setToolTip( 0, tooltip )

        if stackTrace:
            for fileName, lineNumber in stackTrace:
                StackFrameItem( self, fileName, lineNumber )
        return
Example #29
0
 def __init__(self, parent, name, node):
     QTreeWidgetItem.__init__(self, parent)
     self.setText(0, name)
     self._node = node
     value = node.get("value") and node.get("value") or ""
     self.setText(1, value)
     self._recurse_children()
Example #30
0
 def parseIPTree(self, fatherNode, ip):
     IPTree = QTreeWidgetItem(fatherNode)
     IPTree.setText(0, 'IP')
     IPTup = (('v', 'Version: %d' % ip.v),
               ('hl', 'Header Length: %d' % (ip.hl << 4)),
               ('tos', 'Differentiated Services: 0x%.2x' % ip.tos),
               ('len', 'Total Length: %d' % ip.len),
               ('id', 'Identification: 0x%.4x' % ip.id),
               ('flag', 'Flags: 0x%.2x' % (ip.off >> 13)),
               ('off', 'Fragment Offset: %d' % (ip.off & 0x1fff)),
               ('ttl', 'Time To Live: %d' % ip.ttl),
               ('p', 'Protocol: %d' % ip.p),
               ('sum', 'Header Checksum: 0x%.4x' % ip.sum),
               ('src', 'Source: %s' % NetFormat.ntoa_ip(ip.src)),
               ('dst', 'Destination: %s' % NetFormat.ntoa_ip(ip.dst))
               )
     
     self.parseDetail(IPTree, IPTup)
     self.TreeList.append(IPTree)
     
     if ip.p == dpkt.ip.IP_PROTO_TCP:
         self.parseTCPTree(fatherNode, ip.data)
     elif ip.p == dpkt.ip.IP_PROTO_UDP:
         self.parseUDPTree(fatherNode, ip.data)
     elif ip.p == dpkt.ip.IP_PROTO_ICMP:
         self.parseICMPTree(fatherNode, ip.data)
     elif ip.p == dpkt.ip.IP_PROTO_IGMP:
         self.parseIGMPTree(fatherNode, ip.data)
     else:
         self.parseUnknownTree(fatherNode, ip.data)
Example #31
0
 def updateToc(self, root, entries):
     self.clear()
     item = QTreeWidgetItem(self, [root, '0'])
     curLevel = 0
     for (level, h, p, a) in entries:
         val = [h, str(p), a]
         if level == curLevel:
             item = QTreeWidgetItem(item.parent(), val)
         elif level < curLevel:
             item = QTreeWidgetItem(item.parent().parent(), val)
             curLevel = level
         else:
             item = QTreeWidgetItem(item, val)
             curLevel = level
     self.expandAll()
Example #32
0
    def add_program_to_tree(self, program):
        program_info = ProgramInfoMain(self.session, self.script_manager,
                                       self.image_version,
                                       self.executable_versions, program)
        program_info.name_changed.connect(self.refresh_program_name)
        program_info.status_changed.connect(self.refresh_program_status)

        item = QTreeWidgetItem([
            program.cast_custom_option_value('name', unicode, '<unknown>'),
            get_program_short_status(program)
        ])
        item.setData(0, Qt.UserRole, program_info)

        self.tree_programs.addTopLevelItem(item)
        self.stacked_container.addWidget(program_info)
Example #33
0
    def onClickItem(self, item: QtGui.QTreeWidgetItem, column: int):
        """ Action performed when an item in the QTreeWidget is clicked.

        Keyword arguments:
            item   -- The item user clicked on.
            column -- The column number clicked (not used here).
        """
        if self.path and self.key != None:
            self.saveValue()
        if self.data and item.isLeaf() and len(item.text(0).split()) == 1:
            # Update GUI
            self.dataClicked(item)
        else:
            # Update GUI
            self.dataStructureClicked(item)
Example #34
0
    def __init__(self, vector):
        """A new QTreeWidgetItem with the QGis layer information added.

        :param isVisible: Is the layer visible within the legend.
        :type isVisible: bool

        :param vector: Vector object from the mapModel
        :type vector: model.vector"""

        QTreeWidgetItem.__init__(self)
        self.setText(0, vector.name)
        self.setIcon(0, self.layerIcon)
        if vector.isVisible:
            self.setCheckState(0, Qt.Checked)
        else:
            self.setCheckState(0, Qt.Unchecked)
Example #35
0
    def createNavTreeItems(self):
        self.fs = QTreeWidgetItem(self.navtree)
        self.fs.setText(0, "File size")
        f = "%.2d" % self.heditor.filesize
        self.fs.setText(1, f)

        self.curoff = QTreeWidgetItem(self.navtree)
        self.curoff.setText(0, "Curr. offset")
        self.curpage = QTreeWidgetItem(self.navtree)
        self.curpage.setText(0, "Curr. page")
        self.curblock = QTreeWidgetItem(self.navtree)
        self.curblock.setText(0, "Curr. block")

        self.cursoroff = QTreeWidgetItem(self.navtree)
        self.cursoroff.setText(0, "Cursor")
        self.vbox.addWidget(self.navgroup)
Example #36
0
    def __init__(self, parent=None):
        KVBox.__init__(self, parent)
        self.help = QLabel(i18n(helpText), self)
        self.layout().setAlignment(self.help, Qt.AlignHCenter)
        self.setSpacing(10)

        hBox = KHBox(self)

        display = QTreeWidget(hBox)
        display.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        display.setHeaderLabels(["Volume", "File Path", "Accessible"])
        display.setColumnWidth(0, 200)
        display.setColumnWidth(1, 300)

        # retrieve a list of Solid.Device for this machine
        deviceList = Solid.Device.allDevices()

        # filter the list of all devices and display matching results
        # note that we never create a Solid.StorageAccess object, but
        # receive one from the 'asDeviceInterface' call
        for device in deviceList:
            if device.isDeviceInterface(Solid.DeviceInterface.StorageAccess):
                access = device.asDeviceInterface(
                    Solid.DeviceInterface.StorageAccess)
                QTreeWidgetItem(display, [
                    device.product(),
                    access.filePath(),
                    str(access.isAccessible())
                ])
Example #37
0
    def setExploits(self, exploits):
        self.treeWidget.clear()
        for exploit in exploits:
            widget = self.__stackedWidgetController.getWidget(exploit.category)
            if widget:
                # Create a dict like {name:exploit}
                self.__exploits[exploit.name] = exploit
                item = QTreeWidgetItem(self.treeWidget.invisibleRootItem())
                item.setText(0, exploit.name)

                widget.setExploit(exploit)
                # join an exploit with her widget
                self.__stackedWidgetController.setExploitWidget(
                    exploit.name, widget)
                self.stackedWidget.addWidget(widget)
                self.stackedWidget.setCurrentWidget(widget)
Example #38
0
    def _open_refinement_folder(self, path):
        """
        Reads the refinement folder, setup the folder daemon and signals
        :param path: Path to refinement folder

        """

        if path != '':

            #for i in reversed(range(self.root.childCount())):
            #    self.root.removeChild(self.root.child(i))
            name = os.path.basename(path)
            # qname = QString(name)
            root = QTreeWidgetItem([str(path)])
            self.root_items_path_dictionary[str(path)] = root
            self.tree.addTopLevelItem(root)
            fm = QFontMetrics(self.font)
            w = fm.width(path)
            self.tree.setMinimumWidth(w + 150)
            #self.root.setText(0, qname)
            self.reader.sig_readfolders.emit(path)
            self.monitor = MonitorRefinementFolder(path, self.sig_update_tree,
                                                   self)
            self.timer = QTimer(self)
            self.timer.timeout.connect(self.monitor.update)
            self.timer.start(2000)
Example #39
0
 def _makeTreeWidgetItem(self, node):
     l = []
     l.append("%r" % node.name)
     l.append("%1.1f MB" % (node.usedMemory/1024**2.0))
     if node.roi is not None:
         l.append("%r\n%r" % (list(node.roi[0]), list(node.roi[1])))
     else:
         l.append("")
     if node.dtype is not None:
         if node.dtype == numpy.float32:
             l.append("float32")
         elif node.dtype == numpy.uint8:
             l.append("uint8")
         elif node.dtype == numpy.uint32:
             l.append("uint32")
         elif node.dtype == numpy.float64:
             l.append("float64")
         else:
             l.append(str(node.dtype))
             
     else:
         l.append("")
     
     t = str(node.type)
     t = t[len("<type '")+1:-len("'>")]
     t = t.split(".")[-1]
     l.append(t)
     return QTreeWidgetItem(l)
Example #40
0
 def add_to_list(self, command, value, status):
     self.tree_widget.insertTopLevelItem(
         0,
         QTreeWidgetItem([
             str(round(time.time() - self.start_time, 2)), command, value,
             self.get_status_text(status)
         ]))
Example #41
0
    def loadBackendsList(self):
        self.ui.backendsList.clear()
        for instance_name, name, params in self.weboob.backends_config.iter_backends(
        ):
            info = self.weboob.repositories.get_module_info(name)
            if not info or (self.caps and not info.has_caps(self.caps)):
                continue

            item = QTreeWidgetItem(None, [instance_name, name])
            item.setCheckState(
                0, Qt.Checked if params.get('_enabled', '1').lower()
                in ('1', 'y', 'true', 'on', 'yes') else Qt.Unchecked)

            self.set_icon(item, info)

            self.ui.backendsList.addTopLevelItem(item)
Example #42
0
 def groupDocument(self, doc):
     """Called, if grouping is enabled, to group the document."""
     i = self._items[doc]
     p = path(doc.url())
     new_parent = self._paths.get(p)
     if new_parent is None:
         new_parent = self._paths[p] = QTreeWidgetItem(self)
         new_parent._path = p
         new_parent.setText(0, p or _("Untitled"))
         new_parent.setIcon(0, icons.get("folder-open"))
         new_parent.setFlags(Qt.ItemIsEnabled)
         new_parent.setExpanded(True)
         self.sortItems(0, Qt.AscendingOrder)
     old_parent = i.parent()
     if old_parent == new_parent:
         return
     if old_parent:
         old_parent.takeChild(old_parent.indexOfChild(i))
         if old_parent.childCount() == 0:
             self.takeTopLevelItem(self.indexOfTopLevelItem(old_parent))
             del self._paths[old_parent._path]
     else:
         self.takeTopLevelItem(self.indexOfTopLevelItem(i))
     new_parent.addChild(i)
     new_parent.sortChildren(0, Qt.AscendingOrder)
    def createSeparatorItem(self):
        """
        Creates a new separator item.
        
        :return     <QTreeWidgetItem>
        """
        item = QTreeWidgetItem(['                                    '])
        font = item.font(0)
        font.setStrikeOut(True)
        item.setFont(0, font)
        item.setData(0, Qt.UserRole, qt.wrapVariant('separator'))
        flags = item.flags()
        flags ^= Qt.ItemIsDropEnabled
        item.setFlags(flags)

        return item
Example #44
0
    def cb_enumerate(self, uid, connected_uid, position, hardware_version,
                     firmware_version, device_identifier, enumeration_type):
        if enumeration_type in [IPConnection.ENUMERATION_TYPE_AVAILABLE,
                                IPConnection.ENUMERATION_TYPE_CONNECTED] and \
           uid not in self.connected_uids:
            try:
                display_name = device_factory.get_device_display_name(
                    device_identifier)
            except KeyError:
                return  # unknown device identifier

            if display_name in device_specs:
                self.connected_uids.append(uid)
                self.available_item.addChild(
                    QTreeWidgetItem(['{0} [{1}]'.format(display_name, uid)]))
                self.available_item.setText(
                    0, 'Devices available at {0}:{1}'.format(
                        self.host, self.port))
                self.available_item.sortChildren(0, Qt.AscendingOrder)
        else:
            if uid in self.connected_uids:
                self.connected_uids.remove(uid)

            for i in range(self.available_item.childCount()):
                child = self.available_item.child(i)

                if '[{0}]'.format(uid) in child.text(0):
                    self.available_item.takeChild(i)
                    break

            if self.available_item.childCount() == 0:
                self.available_item.setText(
                    0, 'No devices available at {0}:{1}'.format(
                        self.host, self.port))
Example #45
0
    def __createLayout(self, pathsToAdd):
        " Creates the dialog layout "

        self.resize(640, 480)
        self.setSizeGripEnabled(True)

        vboxLayout = QVBoxLayout(self)

        # Paths to add part
        vboxLayout.addWidget(
            QLabel("Paths to add (total: " + str(len(pathsToAdd)) + ")"))

        self.__pathToAddView = QTreeWidget()
        self.__configTable(self.__pathToAddView)

        self.__pathToAddHeader = QTreeWidgetItem(["", "Path"])
        self.__pathToAddView.setHeaderItem(self.__pathToAddHeader)
        self.__pathToAddView.header().setSortIndicator(PATH_COL,
                                                       Qt.AscendingOrder)
        self.__pathToAddView.itemChanged.connect(self.__onAddPathChanged)
        vboxLayout.addWidget(self.__pathToAddView)

        # Buttons at the bottom
        buttonBox = QDialogButtonBox(self)
        buttonBox.setOrientation(Qt.Horizontal)
        buttonBox.setStandardButtons(QDialogButtonBox.Ok
                                     | QDialogButtonBox.Cancel)
        self.__OKButton = buttonBox.button(QDialogButtonBox.Ok)
        self.__OKButton.setText("Add")
        buttonBox.button(QDialogButtonBox.Cancel).setDefault(True)
        buttonBox.accepted.connect(self.userAccept)
        buttonBox.rejected.connect(self.close)
        vboxLayout.addWidget(buttonBox)
        return
Example #46
0
    def cb_frame_read(self, frame_type, identifier, data):
        length = len(data)
        parts = []
        max_length = 0
        extended = False

        if frame_type == self.can.FRAME_TYPE_STANDARD_DATA:
            parts.append('Standard Data')
            max_length = 8
        elif frame_type == self.can.FRAME_TYPE_STANDARD_REMOTE:
            parts.append('Standard Remote')
        elif frame_type == self.can.FRAME_TYPE_EXTENDED_DATA:
            parts.append('Extended Data')
            max_length = 8
            extended = True
        elif frame_type == self.can.FRAME_TYPE_EXTENDED_REMOTE:
            parts.append('Extended Remote')
            extended = True
        else:
            parts.append('Unknown')

        parts.append(self.spin_identifier.textFromValue(identifier))
        parts.append(' '.join(
            ['%02X' % c for c in data[:min(length, max_length)]]))
        parts.append(str(length))

        scroll_bar = self.tree_frames.verticalScrollBar()
        at_bottom = scroll_bar.value() == scroll_bar.maximum()

        self.tree_frames.addTopLevelItem(QTreeWidgetItem(parts))

        if at_bottom:
            self.tree_frames.scrollToBottom()
Example #47
0
 def update_result(self, dir_name_root, file_name, items):
     if items:
         root_item = FindInFilesRootItem(self, (file_name, ''),
                                         dir_name_root)
         root_item.setExpanded(True)
         for line, content in items:
             QTreeWidgetItem(root_item, (content, str(line + 1)))
Example #48
0
    def __addGenericTable(self, table):
        " Adds a generic table to the report "

        theTable = QTreeWidget(self.bodyWidget)
        theTable.setAlternatingRowColors(True)
        theTable.setRootIsDecorated(False)
        theTable.setItemsExpandable(False)
        theTable.setSortingEnabled(False)
        theTable.setItemDelegate(NoOutlineHeightDelegate(4))
        theTable.setUniformRowHeights(True)

        headerLabels = []
        for index in range(0, len(table.header)):
            headerLabels.append(table.header[index])
        theTable.setHeaderLabels(headerLabels)

        for item in table.body:
            row = []
            for index in range(0, len(table.header)):
                row.append(item[index])
            theTable.addTopLevelItem(QTreeWidgetItem(row))

        theTable.setFocusPolicy(Qt.NoFocus)

        # Resizing
        theTable.header().resizeSections(QHeaderView.ResizeToContents)
        theTable.header().setStretchLastSection(True)

        # Height
        self.__setTableHeight(theTable)

        self.__vLayout.addWidget(theTable)
        self.__widgets.append(theTable)
        return
Example #49
0
    def __init__(self, parent=None):
        KVBox.__init__(self, parent)
        self.help = QLabel(i18n(helpText), self)
        self.layout().setAlignment(self.help, Qt.AlignHCenter)
        self.setSpacing(10)

        audioDriverStr = {
                            Solid.AudioInterface.Alsa: "Alsa",\
                            Solid.AudioInterface.OpenSoundSystem: "Open Sound",\
                            Solid.AudioInterface.UnknownAudioDriver: "Unknown"
                         }


        audioInterfaceTypeStr = {
                                  Solid.AudioInterface.UnknownAudioInterfaceType: "Unknown",\
                                  Solid.AudioInterface.AudioControl: "Control",\
                                  Solid.AudioInterface.AudioInput: "In",\
                                  Solid.AudioInterface.AudioOutput: "Out"
                                }

        soundcardTypeStr = {
                             Solid.AudioInterface.InternalSoundcard: "Internal",\
                             Solid.AudioInterface.UsbSoundcard: "USB",\
                             Solid.AudioInterface.FirewireSoundcard: "Firewire",\
                             Solid.AudioInterface.Headset: "Headset",\
                             Solid.AudioInterface.Modem: "Modem"
                           }

        hBox = KHBox(self)

        display = QTreeWidget(hBox)
        display.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
        display.setHeaderLabels(
            ["Item", "Name", "Driver", "I/F Type", "Sound Card Type"])
        display.setColumnWidth(0, 300)
        display.setColumnWidth(1, 300)
        display.setColumnWidth(3, 75)

        # retrieve a list of Solid.Device for this machine
        deviceList = Solid.Device.allDevices()

        # filter the list of all devices and display matching results
        # note that we never create a Solid.AudioInterface object, but
        # receive one from the 'asDeviceInterface' call
        for device in deviceList:
            if device.isDeviceInterface(Solid.DeviceInterface.AudioInterface):
                audio = device.asDeviceInterface(
                    Solid.DeviceInterface.AudioInterface)
                devtype = audio.deviceType()
                devstr = []
                for key in audioInterfaceTypeStr:
                    flag = key & devtype
                    if flag:
                        devstr.append(audioInterfaceTypeStr[key])

                QTreeWidgetItem(display, [
                    device.product(),
                    audio.name(), audioDriverStr[audio.driver()],
                    "/".join(devstr), soundcardTypeStr[audio.soundcardType()]
                ])
Example #50
0
    def __init__(self, text, parent = None, icon=None):
        """
        Constructs TaskItem widget item

        @param task: 
        @type task: list

        @param parent: 
        @type parent:
        """
        QTreeWidgetItem.__init__(self, parent)

        self.setText(COL_RUNNING_ID, text )
        self.setIcon(COL_RUNNING_ID, QIcon(":/processes.png") )
        if icon is not None:
            self.setIcon(COL_RUNNING_ID, icon )
Example #51
0
    def getDestinationNode(self, destinationRoot, catChild, returnNew=True):
        """
        Looks for node in destination and returns it. If none is found, creates one and returns it
        """
        #get destination parent, creates one in destination if not exists
        destinationCatChild = None
        if isinstance(catChild, list):
            comparisonText = catChild[0]
            if returnNew:
                itemTextList = [catChild[i] for i in range(len(catChild))]
        else:
            comparisonText = catChild.text(0)
            if returnNew:
                itemTextList = [
                    catChild.text(i) for i in range(catChild.columnCount())
                ]

        for i in range(destinationRoot.childCount()):
            candidate = destinationRoot.child(i)
            if candidate.text(0) == comparisonText:
                #if candidate is found, returns candidate
                return candidate
        #if candidate is not found, creates one and returns it
        if returnNew:
            if not destinationCatChild:
                return QTreeWidgetItem(destinationRoot, itemTextList)
        else:
            return None
    def __showTaskResourcesClicked(self):

        if self.currentTaskHighlighted:

            res = list(self.currentTaskHighlighted.definition.resources)

            for i in range(len(res)):
                res[i] = os.path.abspath(res[i])

            res.sort()

            self.showTaskResourcesDialog = ShowTaskResourcesDialog(
                self.gui.window)

            item = QTreeWidgetItem(["Resources"])
            self.showTaskResourcesDialog.ui.folderTreeWidget.insertTopLevelItem(
                0, item)

            self.showTaskResourcesDialog.ui.closeButton.clicked.connect(
                self.__showTaskResCloseButtonClicked)

            for r in res:
                splited = r.split("\\")

                insertItem(item, splited)

            self.showTaskResourcesDialog.ui.mainSceneFileLabel.setText(
                self.currentTaskHighlighted.definition.mainSceneFile)
            self.showTaskResourcesDialog.ui.folderTreeWidget.expandAll()

            self.showTaskResourcesDialog.show()
Example #53
0
    def addRow(self, row):
        """
        Add row as a new root item
        """
        root = QTreeWidgetItem(self)
        root.setIcon( 0, QtGui.QIcon( pulimonitor.Config.root_dir+"/rsrc/graph_32.png" ) )

        # self.bold = BoldDelegate(self)
        # self.standard = StandardDelegate(self)
        # self.setItemDelegateForColumn(4, self.bold)
        # self.setItemDelegateForColumn(5, self.standard)

        self.setItemValues( root, row )
        if "items" in row:
            for item in row["items"]:
                self.addItem( root, item)
Example #54
0
 def populate_methods(self, parent, c_name, methods):
     """Populate methods"""
     for lineno, m_name in methods:
         decorator = m_name.startswith('@')
         if decorator:
             m_name = m_name[1:]
         item = QTreeWidgetItem(parent, [m_name])
         self.lines[item] = lineno
         if m_name.startswith('__'):
             item.setIcon(0, get_icon('private2.png'))
         elif m_name.startswith('_'):
             item.setIcon(0, get_icon('private1.png'))
         elif decorator:
             item.setIcon(0, get_icon('decorator.png'))
         else:
             item.setIcon(0, get_icon('method.png'))
Example #55
0
    def __populate(self):
        " Populate the properties list "
        # Get the currently selected name
        selectedName = None
        selected = list(self.__propsView.selectedItems())
        if selected:
            selectedName = str(selected[0].text(0))

        self.__propsView.clear()
        properties = readProperties(self.__client, self.__path)
        if properties:
            for itemPath, itemProps in properties:
                if self.__path == itemPath or \
                   self.__path == itemPath + os.path.sep:
                    for name, value in itemProps.iteritems():
                        name = str(name).strip()
                        value = str(value).strip()
                        newItem = QTreeWidgetItem([name, value])
                        self.__propsView.addTopLevelItem(newItem)

        self.__resizePropsView()
        self.__sortPropsView()

        if selectedName:
            index = 0
            for index in xrange(0, self.__propsView.topLevelItemCount()):
                item = self.__propsView.topLevelItem(index)
                if selectedName == item.text(0):
                    item.setSelected(True)
        return
Example #56
0
 def moveTreeItem(self, trFrom, trTo):
     if (trFrom.currentItem()):
         name = trFrom.currentItem().text(0)
         item = QTreeWidgetItem(trTo, QStringList(name))
         #add
         trFrom.takeTopLevelItem(
             trFrom.indexOfTopLevelItem(trFrom.currentItem()))
Example #57
0
 def processtrigger(self, q):
     self.set_params()
     if q.text() == 'Загрузить данные':
         dlg = QFileDialog()
         dlg.setFileMode(QFileDialog.AnyFile)
         dlg.setFileMode(QFileDialog.ExistingFiles)
         filenames = QStringListModel()
         if dlg.exec_():
             filenames = dlg.selectedFiles()
         if self.active_class_item is not None:
             for f in filenames:
                 self.active_class_item.addChild(QTreeWidgetItem([str(f)]))
                 img = imread(f, mode='P')
                 lbl = self.active_class_item.text(0)[
                     -1]  #считаем, что не будет двузначных меток
                 if self.active_class_item.text(0) == 'Тест':
                     self.mController.add_test(img, self.params)
                 else:
                     self.mController.add_data(img, lbl, self.params)
     elif q.text() == 'Очистить':
         count = self.active_class_item.childCount()
         for _ in range(count):
             self.active_class_item.removeChild(
                 self.active_class_item.child(0))
         if self.active_class_item.text(0) == 'Тест':
             self.mController.delete_test()
         else:
             lbl = self.active_class_item.text(0)[-1]
             self.mController.delete_data(lbl)
     self.active_class_item = None
Example #58
0
    def __init__(self, parent=None):
        super(RestoreDialog, self).__init__(parent)
        self.messageLabel().setWordWrap(True)
        userguide.addButton(self.buttonBox(), "snippets")
        self.tree = QTreeWidget(headerHidden=True, rootIsDecorated=False)
        self.setMainWidget(self.tree)

        self.deletedItem = QTreeWidgetItem(self.tree)
        self.deletedItem.setFlags(Qt.ItemIsUserCheckable)
        self.changedItem = QTreeWidgetItem(self.tree)
        self.changedItem.setFlags(Qt.ItemIsUserCheckable)
        self.tree.itemChanged.connect(self.slotItemChanged)

        app.translateUI(self)
        app.languageChanged.connect(self.populate)
        self.accepted.connect(self.updateSnippets)
        qutil.saveDialogSize(self, "snippettool/restoredialog/size")
Example #59
0
 def addSetEvent(self):
     index = self.trSchedTable.topLevelItem(0).indexOfChild(self.curtree)
     tbl = self.cfg.table[index]
     tbl.actionList.append('SetEvent(NULL,NULL)')
     name = QString('SetEvent(NULL,NULL)')
     item = QTreeWidgetItem(self.curtree, QStringList(name))
     self.curtree.addChild(item)
     self.curtree.setExpanded(True)
Example #60
0
 def addActivateTask(self):
     index = self.trSchedTable.topLevelItem(0).indexOfChild(self.curtree)
     tbl = self.cfg.table[index]
     tbl.actionList.insert(0, 'ActivateTask(NULL)')
     name = QString('ActivateTask(NULL)')
     item = QTreeWidgetItem(None, QStringList(name))
     self.curtree.insertChild(0, item)
     self.curtree.setExpanded(True)