Beispiel #1
0
    def __init__(self, main=None, parent=None, f=0):
        QWidget.__init__(self, parent)

        self.main = main
        self.deviceManager = None
        self.ui = Ui_TrickplayDebugger()
        self.ui.setupUi(self)

        self.headers = ["Name", "Value", "Type", "Defined"]
        self.local_headers = ["Name", "Value", "Type"]
        self.ui.localTable.setSortingEnabled(False)
        self.ui.localTable.setColumnCount(len(self.local_headers))
        self.ui.localTable.setHorizontalHeaderLabels(self.local_headers)
        self.ui.localTable.verticalHeader().setDefaultSectionSize(18)

        self.ui.globalTable.setSortingEnabled(False)
        self.ui.globalTable.setColumnCount(len(self.headers))
        self.ui.globalTable.setHorizontalHeaderLabels(self.headers)
        self.ui.globalTable.verticalHeader().setDefaultSectionSize(18)

        self.ui.breakTable = MyTableWidget(self, self.ui.Breaks)
        self.ui.breakTable.setObjectName(_fromUtf8("breakTable"))
        self.ui.breakTable.setColumnCount(0)
        self.ui.breakTable.setRowCount(0)
        self.ui.breakTable.horizontalHeader().setVisible(False)
        self.ui.breakTable.horizontalHeader().setStretchLastSection(True)
        self.ui.breakTable.verticalHeader().setVisible(False)
        self.ui.gridLayout_3.addWidget(self.ui.breakTable, 0, 0, 1, 1)

        self.ui.breakTable.setSortingEnabled(False)
        self.ui.breakTable.setColumnCount(1)
        self.ui.breakTable.verticalHeader().setDefaultSectionSize(18)
        self.ui.breakTable.popupMenu = QMenu(self.ui.breakTable)
        self.ui.breakTable.popupMenu.addAction('Delete', self.deleteBP)

        self.ui.breakTable.setContextMenuPolicy(Qt.CustomContextMenu)
        self.connect(self.ui.breakTable,
                     SIGNAL('customContextMenuRequested(QPoint)'),
                     self.contextMenu)
        self.connect(self.ui.breakTable, SIGNAL("cellClicked(int, int)"),
                     self.cellClicked)
        self.connect(self.ui.localTable, SIGNAL("cellClicked(int, int)"),
                     self.local_cellClicked)
        self.connect(self.ui.globalTable, SIGNAL("cellClicked(int, int)"),
                     self.global_cellClicked)

        self.break_info = {}

        self.font = self.main.preference.vFont
Beispiel #2
0
    def __init__(self, main=None, parent = None, f = 0):
        QWidget.__init__(self, parent)
        
        self.main = main
        self.deviceManager = None
        self.ui = Ui_TrickplayDebugger()
        self.ui.setupUi(self)

        self.headers = ["Name","Value","Type", "Defined"]
        self.local_headers = ["Name","Value","Type"]
        self.ui.localTable.setSortingEnabled(False)
        self.ui.localTable.setColumnCount(len(self.local_headers))
        self.ui.localTable.setHorizontalHeaderLabels(self.local_headers)
        self.ui.localTable.verticalHeader().setDefaultSectionSize(18)
        
        self.ui.globalTable.setSortingEnabled(False)
        self.ui.globalTable.setColumnCount(len(self.headers))
        self.ui.globalTable.setHorizontalHeaderLabels(self.headers)
        self.ui.globalTable.verticalHeader().setDefaultSectionSize(18)

        self.ui.breakTable = MyTableWidget(self, self.ui.Breaks)
        self.ui.breakTable.setObjectName(_fromUtf8("breakTable"))
        self.ui.breakTable.setColumnCount(0)
        self.ui.breakTable.setRowCount(0)
        self.ui.breakTable.horizontalHeader().setVisible(False)
        self.ui.breakTable.horizontalHeader().setStretchLastSection(True)
        self.ui.breakTable.verticalHeader().setVisible(False)
        self.ui.gridLayout_3.addWidget(self.ui.breakTable, 0, 0, 1, 1)

        self.ui.breakTable.setSortingEnabled(False)
        self.ui.breakTable.setColumnCount(1)
        self.ui.breakTable.verticalHeader().setDefaultSectionSize(18)
        self.ui.breakTable.popupMenu = QMenu(self.ui.breakTable)
        self.ui.breakTable.popupMenu.addAction ('Delete', self.deleteBP)

        self.ui.breakTable.setContextMenuPolicy(Qt.CustomContextMenu)
        self.connect(self.ui.breakTable, SIGNAL('customContextMenuRequested(QPoint)'), self.contextMenu)
        self.connect(self.ui.breakTable, SIGNAL("cellClicked(int, int)"), self.cellClicked)
        self.connect(self.ui.localTable, SIGNAL("cellClicked(int, int)"), self.local_cellClicked)
        self.connect(self.ui.globalTable, SIGNAL("cellClicked(int, int)"), self.global_cellClicked)

        self.break_info = {}

        self.font = self.main.preference.vFont
Beispiel #3
0
class TrickplayDebugger(QWidget):
    def __init__(self, main=None, parent=None, f=0):
        QWidget.__init__(self, parent)

        self.main = main
        self.deviceManager = None
        self.ui = Ui_TrickplayDebugger()
        self.ui.setupUi(self)

        self.headers = ["Name", "Value", "Type", "Defined"]
        self.local_headers = ["Name", "Value", "Type"]
        self.ui.localTable.setSortingEnabled(False)
        self.ui.localTable.setColumnCount(len(self.local_headers))
        self.ui.localTable.setHorizontalHeaderLabels(self.local_headers)
        self.ui.localTable.verticalHeader().setDefaultSectionSize(18)

        self.ui.globalTable.setSortingEnabled(False)
        self.ui.globalTable.setColumnCount(len(self.headers))
        self.ui.globalTable.setHorizontalHeaderLabels(self.headers)
        self.ui.globalTable.verticalHeader().setDefaultSectionSize(18)

        self.ui.breakTable = MyTableWidget(self, self.ui.Breaks)
        self.ui.breakTable.setObjectName(_fromUtf8("breakTable"))
        self.ui.breakTable.setColumnCount(0)
        self.ui.breakTable.setRowCount(0)
        self.ui.breakTable.horizontalHeader().setVisible(False)
        self.ui.breakTable.horizontalHeader().setStretchLastSection(True)
        self.ui.breakTable.verticalHeader().setVisible(False)
        self.ui.gridLayout_3.addWidget(self.ui.breakTable, 0, 0, 1, 1)

        self.ui.breakTable.setSortingEnabled(False)
        self.ui.breakTable.setColumnCount(1)
        self.ui.breakTable.verticalHeader().setDefaultSectionSize(18)
        self.ui.breakTable.popupMenu = QMenu(self.ui.breakTable)
        self.ui.breakTable.popupMenu.addAction('Delete', self.deleteBP)

        self.ui.breakTable.setContextMenuPolicy(Qt.CustomContextMenu)
        self.connect(self.ui.breakTable,
                     SIGNAL('customContextMenuRequested(QPoint)'),
                     self.contextMenu)
        self.connect(self.ui.breakTable, SIGNAL("cellClicked(int, int)"),
                     self.cellClicked)
        self.connect(self.ui.localTable, SIGNAL("cellClicked(int, int)"),
                     self.local_cellClicked)
        self.connect(self.ui.globalTable, SIGNAL("cellClicked(int, int)"),
                     self.global_cellClicked)

        self.break_info = {}

        self.font = self.main.preference.vFont

    def contextMenu(self, point=None):
        self.ui.breakTable.popupMenu.exec_(
            self.ui.breakTable.mapToGlobal(point))

    def deleteBP(self):
        index = 0
        for item in self.ui.breakTable.selectedIndexes():
            index = item.row()

        if self.deviceManager is None:
            self.deviceManager = self.main.deviceManager

        cellItem = self.ui.breakTable.item(index, 0)
        if cellItem is None:
            return

        fileLine = cellItem.whatsThis()
        n = re.search(":", fileLine).end()
        fileName = str(fileLine[:n - 1])

        if fileName.startswith("/"):
            fileName = fileName[1:]
        elif fileName.endswith("/"):
            fileName = fileName[:len(fileName) - 1]

        lineNum = int(fileLine[n:]) - 1

        fileName = os.path.join(self.deviceManager.path(), fileName)
        self.editorManager.newEditor(fileName, None, lineNum)
        editor = self.editorManager.currentEditor
        if editor.starMark is True:
            editor.if_star_mark_exist("delete")
            return

        editor.margin_nline = lineNum

        if self.deviceManager.debug_mode == True:
            self.deviceManager.send_debugger_command(DBG_CMD_DELETE +
                                                     " %s" % str(index))
        else:
            if editor.current_line != lineNum:
                editor.markerDelete(lineNum, -1)
            else:
                editor.markerDelete(lineNum, -1)
                editor.markerAdd(lineNum, editor.ARROW_MARKER_NUM)
            editor.line_click[lineNum] = 0

        self.editorManager.bp_info[1].pop(index)
        self.editorManager.bp_info[2].pop(index)

        self.ui.breakTable.removeRow(index)

    def local_cellClicked(self, r, c, space=False):
        pass
        #cellItem= self.ui.localTable.item(r, 0)
        #search_res = self.editorManager.tab.editors[index].findFirst(expr,re,cs,wo,wrap,forward)

        #print cellItem.text()

    def global_cellClicked(self, r, c, space=False):
        cellItem = self.ui.globalTable.item(r, 0)
        print cellItem.text(), r

        if self.deviceManager is None:
            self.deviceManager = self.main.deviceManager

        print self.global_info[4][r]
        fileLine = self.global_info[4][r]

        n = re.search(":", fileLine).end()
        fileName = str(fileLine[:n - 1])
        if fileName.startswith("/"):
            fileName = fileName[1:]
        elif fileName.endswith("/"):
            fileName = fileName[:len(fileName) - 1]

        lineNum = int(fileLine[n:]) - 1

        print self.deviceManager.path(), fileName
        fileName = os.path.join(self.deviceManager.path(), fileName)
        self.editorManager.newEditor(fileName, None, lineNum)
        editor = self.editorManager.currentEditor

    def cellClicked(self, r, c, space=False):

        if self.deviceManager is None:
            self.deviceManager = self.main.deviceManager

        cellItem = self.ui.breakTable.item(r, 0)
        cellItemState = cellItem.checkState()
        fileLine = cellItem.whatsThis()

        n = re.search(":", fileLine).end()
        fileName = str(fileLine[:n - 1])
        if fileName.startswith("/"):
            fileName = fileName[1:]
        elif fileName.endswith("/"):
            fileName = fileName[:len(fileName) - 1]

        lineNum = int(fileLine[n:]) - 1

        fileName = os.path.join(self.deviceManager.path(), fileName)
        self.editorManager.newEditor(fileName, None, lineNum)
        editor = self.editorManager.currentEditor
        editor.margin_nline = lineNum

        m = 0
        for item in self.break_info[1]:
            if m == r:
                itemState = item
                break
            m += 1

        if space == True:
            onState = Qt.Checked
            offState = Qt.Unchecked
        else:
            onState = Qt.Unchecked
            offState = Qt.Checked

        if itemState == "on" and cellItemState == onState:
            if editor.starMark is True:
                if editor.if_star_mark_exist("activate") is True:
                    cellItem.setCheckState(Qt.Checked)
                self.ui.breakTable.setItem(r, 0, cellItem)
                return
            if self.deviceManager.debug_mode == True:
                self.deviceManager.send_debugger_command(DBG_CMD_BREAKPOINT +
                                                         " %s" % str(r) +
                                                         " off")
            else:
                if editor.current_line != lineNum:
                    editor.markerDelete(lineNum,
                                        editor.ACTIVE_BREAK_MARKER_NUM)
                    editor.markerAdd(lineNum, editor.DEACTIVE_BREAK_MARKER_NUM)
                else:
                    editor.markerDelete(lineNum,
                                        editor.ARROW_ACTIVE_BREAK_MARKER_NUM)
                    editor.markerAdd(lineNum,
                                     editor.ARROW_DEACTIVE_BREAK_MARKER_NUM)

                cellItem.setCheckState(Qt.Unchecked)
                editor.line_click[lineNum] = 2

            self.editorManager.bp_info[1].pop(r)
            self.editorManager.bp_info[1].insert(r, "off")
            self.break_info[1].pop(r)
            self.break_info[1].insert(r, "off")

        elif itemState == "off" and cellItemState == offState:
            if editor.starMark is True:
                if editor.if_star_mark_exist("activate") is True:
                    cellItem.setCheckState(Qt.Unchecked)
                self.ui.breakTable.setItem(r, 0, cellItem)
                return
            if self.deviceManager.debug_mode == True:
                self.deviceManager.send_debugger_command(DBG_CMD_BREAKPOINT +
                                                         " %s" % str(r) +
                                                         " on")
            else:
                if editor.current_line != lineNum:
                    editor.markerDelete(lineNum,
                                        editor.DEACTIVE_BREAK_MARKER_NUM)
                    editor.markerAdd(lineNum, editor.ACTIVE_BREAK_MARKER_NUM)
                else:
                    editor.markerDelete(lineNum,
                                        editor.ARROW_DEACTIVE_BREAK_MARKER_NUM)
                    editor.markerAdd(lineNum,
                                     editor.ARROW_ACTIVE_BREAK_MARKER_NUM)

                cellItem.setCheckState(Qt.Checked)
                editor.line_click[lineNum] = 1

            self.editorManager.bp_info[1].pop(r)
            self.editorManager.bp_info[1].insert(r, "on")
            self.break_info[1].pop(r)
            self.break_info[1].insert(r, "on")

    def clearBreakTable(self, row_num=0):
        self.ui.breakTable.clear()
        self.ui.breakTable.setRowCount(row_num)

    def populateBreakTable(self, break_info=None, editorManager=None):

        self.break_info = break_info

        self.editorManager = editorManager

        if len(break_info) > 0:
            self.clearBreakTable(len(break_info[1]))
        else:
            self.clearBreakTable()

        n = 0
        for key in break_info:
            m = 0
            for item in break_info[key]:
                if key == 1:
                    newitem = QTableWidgetItem()
                    newitem.setFlags(newitem.flags() & ~Qt.ItemIsEditable)
                    newitem.setFont(self.font)
                    if item == "on":
                        newitem.setCheckState(Qt.Checked)
                    else:
                        newitem.setCheckState(Qt.Unchecked)
                    self.ui.breakTable.setItem(m, n, newitem)
                elif key == 2:
                    newitem = self.ui.breakTable.item(m, 0)
                    newitem.setText(item)
                    newitem.setWhatsThis(item)
                else:
                    pass
                m += 1
            n += 1

        if hasattr(self.ui.breakTable, "r") == True and hasattr(
                self.ui.breakTable, "c") == True:
            self.ui.breakTable.setCurrentCell(self.ui.breakTable.r,
                                              self.ui.breakTable.c)
            if self.ui.breakTable.itemFromIndex(
                    self.ui.breakTable.currentIndex()) is not None:
                self.ui.breakTable.itemFromIndex(
                    self.ui.breakTable.currentIndex()).setSelected(True)

        self.ui.breakTable.show()

    def clearGlobalTable(self, row_num=0):
        self.ui.globalTable.clear()
        self.ui.globalTable.setHorizontalHeaderLabels(self.headers)
        self.ui.globalTable.setRowCount(row_num)

    def clearLocalTable(self, row_num=0):
        self.ui.localTable.clear()
        self.ui.localTable.setHorizontalHeaderLabels(self.local_headers)
        self.ui.localTable.setRowCount(row_num)

    def populateLocalTable(self, local_info=None):

        self.clearLocalTable(len(local_info[1]))
        n = 0
        for key in local_info:
            m = 0
            for item in local_info[key]:
                newitem = QTableWidgetItem(item)
                newitem.setFlags(newitem.flags() & ~Qt.ItemIsEditable)
                newitem.setFont(self.font)
                if n == 1:
                    self.ui.localTable.setItem(m, n + 1, newitem)
                elif n == 2:
                    self.ui.localTable.setItem(m, n - 1, newitem)
                else:
                    self.ui.localTable.setItem(m, n, newitem)
                m += 1
            n += 1
        self.ui.localTable.show()

    def populateGlobalTable(self, global_info=None, editorManager=None):

        self.global_info = global_info
        self.editorManager = editorManager

        self.clearGlobalTable(len(global_info[1]))
        n = 0
        for key in global_info:
            m = 0
            for item in global_info[key]:
                newitem = QTableWidgetItem(item)
                newitem.setFlags(newitem.flags() & ~Qt.ItemIsEditable)
                newitem.setFont(self.font)
                if n == 1:
                    self.ui.globalTable.setItem(m, n + 1, newitem)
                elif n == 2:
                    self.ui.globalTable.setItem(m, n - 1, newitem)
                else:
                    self.ui.globalTable.setItem(m, n, newitem)
                m += 1
            n += 1
        self.ui.globalTable.show()
Beispiel #4
0
class TrickplayDebugger(QWidget):
    
    def __init__(self, main=None, parent = None, f = 0):
        QWidget.__init__(self, parent)
        
        self.main = main
        self.deviceManager = None
        self.ui = Ui_TrickplayDebugger()
        self.ui.setupUi(self)

        self.headers = ["Name","Value","Type", "Defined"]
        self.local_headers = ["Name","Value","Type"]
        self.ui.localTable.setSortingEnabled(False)
        self.ui.localTable.setColumnCount(len(self.local_headers))
        self.ui.localTable.setHorizontalHeaderLabels(self.local_headers)
        self.ui.localTable.verticalHeader().setDefaultSectionSize(18)
        
        self.ui.globalTable.setSortingEnabled(False)
        self.ui.globalTable.setColumnCount(len(self.headers))
        self.ui.globalTable.setHorizontalHeaderLabels(self.headers)
        self.ui.globalTable.verticalHeader().setDefaultSectionSize(18)

        self.ui.breakTable = MyTableWidget(self, self.ui.Breaks)
        self.ui.breakTable.setObjectName(_fromUtf8("breakTable"))
        self.ui.breakTable.setColumnCount(0)
        self.ui.breakTable.setRowCount(0)
        self.ui.breakTable.horizontalHeader().setVisible(False)
        self.ui.breakTable.horizontalHeader().setStretchLastSection(True)
        self.ui.breakTable.verticalHeader().setVisible(False)
        self.ui.gridLayout_3.addWidget(self.ui.breakTable, 0, 0, 1, 1)

        self.ui.breakTable.setSortingEnabled(False)
        self.ui.breakTable.setColumnCount(1)
        self.ui.breakTable.verticalHeader().setDefaultSectionSize(18)
        self.ui.breakTable.popupMenu = QMenu(self.ui.breakTable)
        self.ui.breakTable.popupMenu.addAction ('Delete', self.deleteBP)

        self.ui.breakTable.setContextMenuPolicy(Qt.CustomContextMenu)
        self.connect(self.ui.breakTable, SIGNAL('customContextMenuRequested(QPoint)'), self.contextMenu)
        self.connect(self.ui.breakTable, SIGNAL("cellClicked(int, int)"), self.cellClicked)
        self.connect(self.ui.localTable, SIGNAL("cellClicked(int, int)"), self.local_cellClicked)
        self.connect(self.ui.globalTable, SIGNAL("cellClicked(int, int)"), self.global_cellClicked)

        self.break_info = {}

        self.font = self.main.preference.vFont

    def contextMenu(self, point=None):
        self.ui.breakTable.popupMenu.exec_( self.ui.breakTable.mapToGlobal(point) )
    
    def deleteBP(self):
        index = 0 
        for item in  self.ui.breakTable.selectedIndexes():
            index = item.row() 

        if self.deviceManager is None:
            self.deviceManager = self.main.deviceManager

        cellItem= self.ui.breakTable.item(index, 0) 
        if cellItem is None:
            return

        fileLine = cellItem.whatsThis()
        n = re.search(":", fileLine).end()
        fileName = str(fileLine[:n-1])

        if fileName.startswith("/"):
            fileName = fileName[1:]
        elif fileName.endswith("/"):
            fileName = fileName[:len(fileName) -1]

        lineNum = int(fileLine[n:]) - 1

        fileName = os.path.join(self.deviceManager.path(), fileName)
        self.editorManager.newEditor(fileName, None, lineNum)
        editor = self.editorManager.currentEditor 
        if editor.starMark is True :
            editor.if_star_mark_exist("delete")
            return

        editor.margin_nline = lineNum

        if self.deviceManager.debug_mode == True:
            self.deviceManager.send_debugger_command(DBG_CMD_DELETE+" %s"%str(index))
        else:
            if editor.current_line != lineNum :
                editor.markerDelete(lineNum, -1)
            else :
                editor.markerDelete(lineNum, -1)
    	        editor.markerAdd(lineNum, editor.ARROW_MARKER_NUM)
            editor.line_click[lineNum] = 0

        self.editorManager.bp_info[1].pop(index)
        self.editorManager.bp_info[2].pop(index)

        self.ui.breakTable.removeRow(index)
    
    def local_cellClicked(self, r, c, space=False):
        pass
        #cellItem= self.ui.localTable.item(r, 0) 
        #search_res = self.editorManager.tab.editors[index].findFirst(expr,re,cs,wo,wrap,forward)

        #print cellItem.text()

    def global_cellClicked(self, r, c, space=False):
        cellItem= self.ui.globalTable.item(r, 0) 
        print cellItem.text(), r 

        if self.deviceManager is None:
            self.deviceManager = self.main.deviceManager

        print self.global_info[4][r]
        fileLine = self.global_info[4][r]

        n = re.search(":", fileLine).end()
        fileName = str(fileLine[:n-1])
        if fileName.startswith("/"):
            fileName = fileName[1:]
        elif fileName.endswith("/"):
            fileName= fileName[:len(fileName) - 1]

        lineNum = int(fileLine[n:]) - 1

        print self.deviceManager.path(), fileName
        fileName = os.path.join(self.deviceManager.path(), fileName)
        self.editorManager.newEditor(fileName, None, lineNum)
        editor = self.editorManager.currentEditor 
		
        
    def cellClicked(self, r, c, space=False):

		if self.deviceManager is None:
		    self.deviceManager = self.main.deviceManager

		cellItem= self.ui.breakTable.item(r, 0) 
		cellItemState = cellItem.checkState()  
		fileLine = cellItem.whatsThis()

		n = re.search(":", fileLine).end()
		fileName = str(fileLine[:n-1])
		if fileName.startswith("/"):
		    fileName = fileName[1:]
		elif fileName.endswith("/"):
		    fileName= fileName[:len(fileName) - 1]

		lineNum = int(fileLine[n:]) - 1

		fileName = os.path.join(self.deviceManager.path(), fileName)
		self.editorManager.newEditor(fileName, None, lineNum)
		editor = self.editorManager.currentEditor 
		editor.margin_nline = lineNum
		
		m = 0
		for item in self.break_info[1]:
			if m == r :
				itemState = item
				break
			m += 1
        
		if space == True:
		    onState = Qt.Checked
		    offState = Qt.Unchecked
		else :
		    onState = Qt.Unchecked
		    offState = Qt.Checked


		if itemState == "on" and cellItemState == onState:
			if editor.starMark is True :
			    if editor.if_star_mark_exist("activate") is True :
			        cellItem.setCheckState(Qt.Checked)
		            self.ui.breakTable.setItem(r, 0, cellItem) 
			    return
			if self.deviceManager.debug_mode == True:
			    self.deviceManager.send_debugger_command(DBG_CMD_BREAKPOINT+" %s"%str(r)+" off")
			else:
			    if editor.current_line != lineNum :
			        editor.markerDelete(lineNum, editor.ACTIVE_BREAK_MARKER_NUM)
			        editor.markerAdd(lineNum, editor.DEACTIVE_BREAK_MARKER_NUM)
			    else :
			        editor.markerDelete(lineNum, editor.ARROW_ACTIVE_BREAK_MARKER_NUM)
			        editor.markerAdd(lineNum, editor.ARROW_DEACTIVE_BREAK_MARKER_NUM)

			    cellItem.setCheckState(Qt.Unchecked)
			    editor.line_click[lineNum] = 2

			self.editorManager.bp_info[1].pop(r)
			self.editorManager.bp_info[1].insert(r, "off")
			self.break_info[1].pop(r)
			self.break_info[1].insert(r, "off")

		elif itemState == "off" and cellItemState == offState:
			if editor.starMark is True :
			    if editor.if_star_mark_exist("activate") is True :
			        cellItem.setCheckState(Qt.Unchecked)
		            self.ui.breakTable.setItem(r, 0, cellItem) 
			    return
			if self.deviceManager.debug_mode == True:
			    self.deviceManager.send_debugger_command(DBG_CMD_BREAKPOINT+" %s"%str(r)+" on")
			else:
			    if editor.current_line != lineNum :
			        editor.markerDelete(lineNum, editor.DEACTIVE_BREAK_MARKER_NUM)
			        editor.markerAdd(lineNum, editor.ACTIVE_BREAK_MARKER_NUM)
			    else :
			        editor.markerDelete(lineNum, editor.ARROW_DEACTIVE_BREAK_MARKER_NUM)
			        editor.markerAdd(lineNum, editor.ARROW_ACTIVE_BREAK_MARKER_NUM)

			    cellItem.setCheckState(Qt.Checked)
			    editor.line_click[lineNum] = 1

			self.editorManager.bp_info[1].pop(r)
			self.editorManager.bp_info[1].insert(r, "on")
			self.break_info[1].pop(r)
			self.break_info[1].insert(r, "on")

    def clearBreakTable(self, row_num=0):
		self.ui.breakTable.clear()
		self.ui.breakTable.setRowCount(row_num)
		
    def populateBreakTable(self, break_info=None, editorManager=None):

		self.break_info = break_info

		self.editorManager = editorManager

		if len(break_info) > 0 :
			self.clearBreakTable(len(break_info[1]))
		else :
			self.clearBreakTable()

		n = 0
		for key in break_info:
			m = 0
			for item in break_info[key]:
				if key == 1:
					newitem = QTableWidgetItem()
					newitem.setFlags(newitem.flags() & ~ Qt.ItemIsEditable)
					newitem.setFont(self.font)
					if item == "on":
						newitem.setCheckState(Qt.Checked)
					else :
						newitem.setCheckState(Qt.Unchecked)
					self.ui.breakTable.setItem(m, n, newitem)
				elif key == 2:
					newitem= self.ui.breakTable.item(m,0)
					newitem.setText(item)
					newitem.setWhatsThis(item)
				else:
					pass
				m += 1
			n += 1
       
		if hasattr(self.ui.breakTable, "r") == True and hasattr(self.ui.breakTable, "c") == True: 
		    self.ui.breakTable.setCurrentCell(self.ui.breakTable.r, self.ui.breakTable.c)
		    if self.ui.breakTable.itemFromIndex(self.ui.breakTable.currentIndex()) is not None:
		        self.ui.breakTable.itemFromIndex(self.ui.breakTable.currentIndex()).setSelected(True)

		self.ui.breakTable.show()

    def clearGlobalTable(self, row_num=0):
		self.ui.globalTable.clear()
		self.ui.globalTable.setHorizontalHeaderLabels(self.headers)
		self.ui.globalTable.setRowCount(row_num)
		
    def clearLocalTable(self, row_num=0):
		self.ui.localTable.clear()
		self.ui.localTable.setHorizontalHeaderLabels(self.local_headers)
		self.ui.localTable.setRowCount(row_num)
		
    def populateLocalTable(self, local_info=None):
		
		self.clearLocalTable(len(local_info[1]))
		n = 0
		for key in local_info:
			m = 0
			for item in local_info[key]:
				newitem = QTableWidgetItem(item)
				newitem.setFlags(newitem.flags() & ~ Qt.ItemIsEditable)
				newitem.setFont(self.font)
				if n == 1 :  
				    self.ui.localTable.setItem(m, n+1, newitem)
				elif n == 2 :  
				    self.ui.localTable.setItem(m, n-1, newitem)
				else :
				    self.ui.localTable.setItem(m, n, newitem)
				m += 1
			n += 1
		self.ui.localTable.show()

    def populateGlobalTable(self, global_info=None, editorManager=None):
		
		self.global_info = global_info
		self.editorManager = editorManager

		self.clearGlobalTable(len(global_info[1]))
		n = 0
		for key in global_info:
			m = 0
			for item in global_info[key]:
				newitem = QTableWidgetItem(item)
				newitem.setFlags(newitem.flags() & ~ Qt.ItemIsEditable)
				newitem.setFont(self.font)
				if n == 1 :  
				    self.ui.globalTable.setItem(m, n+1, newitem)
				elif n == 2 :  
				    self.ui.globalTable.setItem(m, n-1, newitem)
				else :
				    self.ui.globalTable.setItem(m, n, newitem)
				m += 1
			n += 1
		self.ui.globalTable.show()