;inddlZddlZddlmZmZGddejZd dZd dZdZ d Z d Z dS) N) QtWidgetsQtGuic2eZdZddZdZdZd dZd dZdS) StackWidgetNctj|||d|ddS)NT)r QTreeWidget__init__setAlternatingRowColorssetHeaderHidden)selfparents QC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\pyqtgraph/console/stackwidget.pyr zStackWidget.__init__sI&&tV444 $$T*** T"""""cn|}t|dkrdS|djS)zUReturn the currently selected stack frame (or None if there is no selection) rN) selectedItemslenframe)r sels r selectedFramezStackWidget.selectedFrame s5  "" s88q==4q6< rcRtj|g|_dSN)rr clearframes)r s rrzStackWidget.clears$##D))) rc|tjd}|t|}|D]\}}t |j|\}}t d}dtj t|| } t||gz|z| } | | d|@|dkrt d} n|d krt d } | | | dd dS) zGDisplay an exception chain with its tracebacks and call stack. N lastFramezException caught herercausezDThe above exception was the direct cause of the following exception:contextzCDuring handling of the above exception, another exception occurred:T)sysexc_inforexceptionChainstacksFromTraceback __traceback__textItemjoin tracebackformat_exception_onlytypestrip makeItemTreeaddTopLevelItem setExpanded) r excr exceptionsexr stackFramestbFramescatchMsgexcStritems causeItems r setExceptionzStackWidget.setExceptions? ;,..#C #C(( # 0 0IB$78HT]$^$^$^ !K 788HWWY>>  !:!LMMM Krr) r"r)Qtrrr rr=r%r-r$r'rDrrros!!!!!!!!@'@'@'@'@')'@'@'@'F2222"9999.&$r