def __init__(self, rep_out_path, parent=None): QtGui.QWidget.__init__(self, parent) self.repOutputPath = rep_out_path self.fileList = [] self.ui = Ui_RepOutput() self.ui.setupUi(self) self.postSetup() self.process_clone()
def __init__(self, clone_list, parent=None): QtGui.QWidget.__init__(self, parent) self.cloneList = clone_list self.fileList = [] self.ui = Ui_RepOutput() self.ui.setupUi(self) self.postSetup() self.process_clone()
class RepOutput(QtGui.QMainWindow): def __init__(self, clone_list, parent=None): QtGui.QWidget.__init__(self, parent) self.cloneList = clone_list self.fileList = [] self.ui = Ui_RepOutput() self.ui.setupUi(self) self.postSetup() self.process_clone() def postSetup(self): self.ui.fileList.setColumnWidth(0,100) self.ui.fileList.setColumnWidth(1,200) self.ui.fileList.setColumnWidth(2,200) self.ui.fileList.setColumnWidth(4,100) self.ui.fileList.setColumnWidth(5,100) self.ui.cloneList.setColumnWidth(0,400) self.ui.cloneList.setColumnWidth(1,400) self.ui.cloneList.itemClicked.connect(self.onClick) def onClick(self): item = self.ui.cloneList.currentItem() clone = str(item.text(0)) print clone cl1,cl2 = clone.split("\t") fname1,cl1 = cl1.split(":") start1,end1 = cl1.split("-") fname2,cl2 = cl2.split(":") start2,end2 = cl2.split("-") # fname1 = self.fileList[int(indx1)-1] # fname2 = self.fileList[int(indx2)-1] clone1 = fname1 + ":" + start1 + ":" + end1 clone2 = fname2 + ":" + start2 + ":" + end2 args = "./display_diff.py " + clone1 + " " + clone2 print args os.system(args) # proc = Popen(args,shell=True,stdout=PIPE,stderr=PIPE) # print clone1 # print clone2 def contextMenuEvent(self,event): if event.reason() == event.Mouse: pos = event.globalPos() item = self.ui.cloneList.itemAt(pos) if pos is not None: menu = QMenu(self) menu.addAction(item.text(0)) menu.popup(Qcpos) event.accept() def process_clone(self): for clone in self.cloneList: print clone metric,lhs_clone,rhs_clone = clone print lhs_clone print rhs_clone print metric tmp_clones = [lhs_clone,rhs_clone] for cl in tmp_clones: print cl listItem = QtGui.QTreeWidgetItem(self.ui.fileList) listItem.setText(0,cl.projId) listItem.setText(1,cl.origFile) listItem.setText(2,cl.diffFile) listItem.setText(3,cl.dev) listItem.setText(4,str(cl.commitDate)) if int(metric) is not 0: listItem = QtGui.QTreeWidgetItem(self.ui.cloneList) clStr = "{0}:{1}-{2}\t{3}:{4}-{5}".format( lhs_clone.diffFile,lhs_clone.startLine,lhs_clone.endLine, rhs_clone.diffFile,rhs_clone.startLine,rhs_clone.endLine) listItem.setText(0,clStr) listItem.setText(1,str(metric)) def closeDisplay(self): sys.exit()
class RepOutput(QtGui.QMainWindow): def __init__(self, rep_out_path, parent=None): QtGui.QWidget.__init__(self, parent) self.repOutputPath = rep_out_path self.fileList = [] self.ui = Ui_RepOutput() self.ui.setupUi(self) self.postSetup() self.process_clone() def postSetup(self): self.ui.fileList.setColumnWidth(0, 100) self.ui.fileList.setColumnWidth(1, 600) self.ui.cloneList.setColumnWidth(0, 200) self.ui.cloneList.setColumnWidth(1, 400) self.ui.cloneList.itemClicked.connect(self.onClick) def onClick(self): item = self.ui.cloneList.currentItem() clone = str(item.text(1)) # print clone cl1, cl2 = clone.split("\t") indx1, cl1 = cl1.split(".") start1, end1 = cl1.split("-") indx2, cl2 = cl2.split(".") start2, end2 = cl2.split("-") fname1 = self.fileList[int(indx1) - 1] fname2 = self.fileList[int(indx2) - 1] clone1 = fname1 + ":" + start1 + ":" + end1 clone2 = fname2 + ":" + start2 + ":" + end2 args = "./display_diff.py " + clone1 + " " + clone2 print args os.system(args) # print clone1 # print clone2 def contextMenuEvent(self, event): if event.reason() == event.Mouse: pos = event.globalPos() item = self.ui.cloneList.itemAt(pos) if pos is not None: menu = QMenu(self) menu.addAction(item.text(0)) menu.popup(Qcpos) event.accept() def process_clone(self): rep_output = RepertoireOutput() print self.repOutputPath rep_output.loadFromFile(self.repOutputPath, 1) for index, fileName in rep_output.getFileIter(): if config.DEBUG == 2: print "fileName =" + fileName self.fileList.append(fileName) listItem = QtGui.QTreeWidgetItem(self.ui.fileList) listItem.setText(0, str(index)) listItem.setText(1, fileName) for indx, (cl1, cl2, metric) in rep_output.getCloneIter(): fidx1, start1, end1 = cl1 fidx2, start2, end2 = cl2 metric = int(metric) # metric = max(end1 - start1, end2 - start2) if (config.DEBUG == 2): print line print indx + " " + cl1 + " " + cl2 print metric if metric: listItem = QtGui.QTreeWidgetItem(self.ui.cloneList) listItem.setText(0, str(indx)) listItem.setText( 1, "{0}.{1}-{2}\t{3}.{4}-{5}".format(fidx1, start1, end1, fidx2, start2, end2)) listItem.setText(2, str(metric)) def closeDisplay(self): sys.exit()
class RepOutput(QtGui.QMainWindow): def __init__(self, rep_out_path, parent=None): QtGui.QWidget.__init__(self, parent) self.repOutputPath = rep_out_path self.fileList = [] self.ui = Ui_RepOutput() self.ui.setupUi(self) self.postSetup() self.process_clone() def postSetup(self): self.ui.fileList.setColumnWidth(0,100) self.ui.fileList.setColumnWidth(1,600) self.ui.cloneList.setColumnWidth(0,200) self.ui.cloneList.setColumnWidth(1,400) self.ui.cloneList.itemClicked.connect(self.onClick) def onClick(self): item = self.ui.cloneList.currentItem() clone = str(item.text(1)) # print clone cl1,cl2 = clone.split("\t") indx1,cl1 = cl1.split(".") start1,end1 = cl1.split("-") indx2,cl2 = cl2.split(".") start2,end2 = cl2.split("-") fname1 = self.fileList[int(indx1)-1] fname2 = self.fileList[int(indx2)-1] clone1 = fname1 + ":" + start1 + ":" + end1 clone2 = fname2 + ":" + start2 + ":" + end2 args = "./display_diff.py " + clone1 + " " + clone2 print args os.system(args) # print clone1 # print clone2 def contextMenuEvent(self,event): if event.reason() == event.Mouse: pos = event.globalPos() item = self.ui.cloneList.itemAt(pos) if pos is not None: menu = QMenu(self) menu.addAction(item.text(0)) menu.popup(Qcpos) event.accept() def process_clone(self): rep_output = RepertoireOutput() print self.repOutputPath rep_output.loadFromFile(self.repOutputPath,1) for index, fileName in rep_output.getFileIter(): if config.DEBUG == 2: print "fileName =" + fileName self.fileList.append(fileName) listItem = QtGui.QTreeWidgetItem(self.ui.fileList) listItem.setText(0,str(index)) listItem.setText(1,fileName) for indx,(cl1, cl2,metric) in rep_output.getCloneIter(): fidx1, start1, end1 = cl1 fidx2, start2, end2 = cl2 metric = int(metric) # metric = max(end1 - start1, end2 - start2) if (config.DEBUG == 2): print line print indx + " " + cl1 + " " + cl2 print metric if metric: listItem = QtGui.QTreeWidgetItem(self.ui.cloneList) listItem.setText(0, str(indx)) listItem.setText(1,"{0}.{1}-{2}\t{3}.{4}-{5}".format( fidx1, start1, end1, fidx2, start2, end2)) listItem.setText(2,str(metric)) def closeDisplay(self): sys.exit()