Пример #1
0
    def load_project_content(self):
        self.r2Static = Static(self.tab.binary_path, self.plugin_pois)
        if DS.getProject(self.project_run_id) is None:
            return

        for poi in DS.getAllPois(self.project_run_id):
            if poi.type.lower() == "function":
                _poi = Function(poi.name)
                for _projectpoi in poi.data:
                    _var = Var(_projectpoi.name, _projectpoi.type)
                    _var.content['value'] = _projectpoi.data
                    _poi.content['parameters'].append(_var)
                _poi.content['calls'] = poi.calls
                _return = Var()
                _return.importFromDatabase(poi.returnV)
                _poi.content['return'] = _return
                self.r2Static.content['Function'].append(_poi)
            elif poi.type.lower() == "string":
                _poi = String(poi.name)
                _poi.importFromDatabase(poi)
                self.r2Static.content['String'].append(_poi)
            else:
                continue

        self.poiList.addItems(self.r2Static.getPOINames())
        for i in range(len(self.r2Static.getPOINames())):
            list_item = self.poiList.item(i)
            item = self.r2Static.getPOI(list_item.text())

            if type(item) == Function:
                if item.check:
                    list_item.setCheckState(Qt.Checked)
                else:
                    list_item.setCheckState(Qt.Unchecked)
Пример #2
0
    def save_poi(self, ppoi):
        self.pois.append(ppoi.name)
        item = QtWidgets.QListWidgetItem(ppoi.name)
        self.poiList.addItem(item)

        project = DS.getProject(self.project_run_id)
        project.projectPOI.append(ppoi)
        project.save()
Пример #3
0
    def static_finished(self):
        self.setDisabled(False)
        self.r2Static.message.disconnect(self.write)
        self.r2Static.finished.disconnect(self.static_finished)
        self.r2Static.add_poi.disconnect(self.save_poi)
        self.r2Static.add_function.disconnect(self.save_function)

        self.runsMenu.currentIndexChanged.connect(self.load_project_run)
        self.pluginMenu.currentIndexChanged.connect(self.load_plugin_data)
        self.pluginMenu.currentIndexChanged.connect(self.load_project_run)

        self.daRunButton.setDisabled(False)
        for poi in self.r2Static.content['Function']:
            _poi_data = poi.toProjectPoi()
            poi_data = DS.getPOI(poi.content['name'])
            if poi_data != None:
                ProjectPOI.transferPOI(poi_data, _poi_data)
        DS.getProject(self.project_run_id).save()
Пример #4
0
    def save_function(self, fpoi):
        self.pois.append(fpoi.name)
        item = QtWidgets.QListWidgetItem(fpoi.name)
        item.setCheckState(Qt.Checked)
        self.poiList.addItem(item)

        project = DS.getProject(self.project_run_id)
        project.projectFunctions.append(fpoi)
        project.save()
Пример #5
0
    def select_project(self, item):
        self.project_name_edit.setReadOnly(True)
        title = 'BEAT - ' + item.text()
        self.window_name.emit(title)
        self.parent().setWindowTitle(title)
        self.show_detailed_view()
        self.project_path_button.hide()
        self.project_name_edit.setText(item.text())
        self.project_name_edit.setDisabled(True)
        project = dbHandler.getProject(item.text())
        self.project_desc_edit.setPlainText(project.description)
        self.project_path_edit.setText(project.path)

        properties = project.properties
        for index in range(len(properties)):
            item = QtWidgets.QTableWidgetItem()
            item.setFlags(QtCore.Qt.ItemIsEnabled)
            item.setText(properties[index])
            self.project_prop_table.setItem(index, 1, item)

        self.project_save_button.setDisabled(True)