;i"?dgZddlZddlZddlZddlZddlmZddlmZddl m Z ddl m Z m Z mZmZdd lmZdd lmZmZdd lmZe jjZGd dejZGd deZdS)CanvasN)GridItem)ROI)ViewBox)QT_LIBQtCoreQtGui QtWidgets)CanvasTemplate_generic) CanvasItemGroupCanvasItem) CanvasManagercNeZdZejeeZejeeZejeeZd&dZ dZ dZ dZ d'fd Z d Zd Zd Zd Zd ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"dZ#dZ$d Z%d!Z&d"Z'd#Z(d$Z)d%Z*xZ+S)(rNTFc tj||tjdt dt j|_|j |t|_ |jj |j |jj |_ |j |j jj||_t%|_|j |j|j|jd|jj|jj|jjd|_g|_|j dt;}t=|dd|_||jtj d ||_!|j!"d |j!#d d |_$d|_%|j!j&'|j(|jj)j*'|j*|jj j+'|j,|jj j-'|j.|jj j/'|j0|jj1j&'|j2|jj3j4'|j5|jj6j7'|j5|jj8'|j9|jj:'|j;|jjj&'|j<|jjj&'|j=|jjj&'|j>|?|r|(|PtjAB|||_C|jj6D|jCtjE|_FtjHtd d |jF}|jJ'|jK|jFL|||jF_M|jN|jj _OdS)Nzppyqtgrapoh.cavas will be deprecated in pyqtgraph and migrate to acq4. Removal will occur after September, 2023.r) stacklevelg.ATGridF)namemovable>z Context Menuz Remove item)Pr QWidget__init__warningswarnDeprecationWarning ui_templateUi_FormuisetupUirviewsetCentralItemitemListsetSelectionMode SelectionModeExtendedSelectionallowTransforms SelectBoxmultiSelectBoxaddItemhide setZValuemirrorSelectionBtnreflectSelectionBtnresetTransformsBtnredirectitemssetAspectLockedrrgrid QPushButtonhideBtn setFixedWidthsetFixedHeightctrlSize sizeAppliedclickedconnecthideBtnClickedsplitter splitterMoved itemChangedtreeItemChanged sigItemMoved treeItemMoveditemSelectionChangedtreeItemSelected autoRangeBtn autoRange redirectChecktoggledupdateRedirect redirectCombocurrentIndexChangedsigRegionChangedmultiSelectBoxChangedsigRegionChangeFinishedmultiSelectBoxChangeFinishedmirrorSelectionClickedreflectSelectionClickedresetTransformsClicked resizeEventrinstanceregisterCanvasregisteredName setHostNameQMenumenur QAction translate triggered removeClicked addActionremActitemListContextMenuEventcontextMenuEvent)selfparentr)hideCtrlrr5ras KC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\pyqtgraph/canvas/Canvas.pyrzCanvas.__init__sn""4000  ? 1    %'' II   ##DI...(  &&t}'B'TUUU.'kk $-...   """ %%c*** "''))) #((*** "'')))   !!$'''zzt&%@@@  TY ,S$77  ""2&&& ##B'''   $$T%8999 &..t/ABBB $,,T-ABBB %--d.@AAA -55d6KLLL $,,T^<<< %--d.ABBB 199$:MNNN ,44T5OPPP 3;;D<]^^^ "*2243NOOO #+33D4PQQQ "*2243NOOO   "    ! ! !  "/"8":":"I"I$PT"U"UD  G ! - -d.A B B BO%% yGGSS  !3444 F###! ,0,I)))c.|dSN)rUrds rgr@zCanvas.splitterMoved[s rhc|jjd}|dkr|j}|jj}||kr|dz }|jj||z |g|jdnB||_|jjddg|jd| dS)Nr rrrd<) r!r?sizesr:sizewidthsetSizesr7setTextrU)rdr:csws rgr>zCanvas.hideBtnClicked^s7#))++A. q==B %%''--//AAvvV G  % %qtRj 1 1 1 L  % % % %$DM G  % %sAh / / / L  % % % rhc8|jdSrj)r#rHrks rgrHzCanvas.autoRangems rhc d|!t||j|jj|jz d|jsd|_tt|tdtd|dz}||z }|jj ||gdSdS)NrTrmr)superrUr7mover!r#rprqr;intminmaxr?rr)rdevss2 __class__s rgrUzCanvas.resizeEventps > GG   # # # $',++--3355 8J8J8L8LLaPPP /#D Ss3Cq0I0I'J'JKKMMAaB G  % %r1g . . . . .  / /rhcxt|jj}t j}|jjr|dkr||}nd}|j |urdS||_ || dS| |dS)N) strr!rL currentTextrrVrI isChecked getCanvasr2 reclaimItems redirectItems)rdargscnamemanr2s rgrKzCanvas.updateRedirect{sDG)557788$&& 7 * * , , "}}U++HHH =H $ $ F              x ( ( ( ( (rhcB|jD]}||jur |j}|}|C|}|t d||jV||n||| |dS)Nz Skipping item) r3r5listItemre treeWidgetprintrremoveTopLevelItem removeChildr,)rdcanvasiliretrees rgrzCanvas.redirectItemss  ADI~~BYY[[F~}}</1af555''++++""2&&& NN1      rhc|j}|jg|_||j|D]1}|j|||2dSrj)r3r5remover removeItemr,)rdr3rs rgrzCanvas.reclaimItemssh i[  TY  A H   " " " LLOOOO  rhc |}n#t$rYdSwxYw|dtjjjkrwt|D]?}| | dtjjj@| dSt|D]?}| | dtjjj @| dSNr) canvasItemAttributeError checkStater Qt CheckStateCheckedrange childCountchild setCheckStateshow Uncheckedr-)rditemcolcitemrs rgrBzCanvas.treeItemChangeds OO%%EE    FF  ??1  !5!= = =4??,,-- M M 1 ++Avy/C/KLLLL JJLLLLL4??,,-- O O 1 ++Avy/C/MNNNN JJLLLLLs  %%cT|}t|dkrdSt|dk}|jD]}|||v|t|dkrt|j|jj|jj|jj n't|dkr| |j ||dS)Nrr ) selectedItemslenr3selectionChangedr+r-r!r/r0r1showMultiSelectBoxsigSelectionChangedemit)rdselmultirs rgrFzCanvas.treeItemSelecteds  "" s88q== FC1  0 0A  qCx / / / / s88Q;;   $ $ & & & G & + + - - - G ' , , . . . G & + + - - - - XX\\  # # % % %  %%dC00000rhcHd|jDS)z9 Return list of all selected canvasItems c^g|]*}||+Srj)r).0rs rg z(Canvas.selectedItems..s1mmmdtO`O`Ol!!OlOlOlrh)r%rrks rgrzCanvas.selectedItemss'nmdm.I.I.K.KmmmmrhcH|j}|j|dSrj)rr%setCurrentItem)rdrrs rg selectItemzCanvas.selectItems% ] $$R(((((rhc|}|j|d}|D]J}|sdS|j|}||z}K|jd|j|| g|j | |j d|jd|j |jj |jj |jj dS)NrTF)rr#itemBoundingRect graphicsItem isMovabler+ blockSignalssetPosxysetSizerpsetAnglerr!r/r0r1)rdr3rectrbrs rgrzCanvas.showMultiSelectBoxsx""$$y))%(*?*?*A*ABB  A;;== ++ANN,<,<==B7DD ((... ""DFFHHdffhh#7888 ##DIIKK000 $$Q''' ((///   """ "''))) #((*** "'')))))rhc|D]}||dSrj)rmirrorYrrdcis rgrRzCanvas.mirrorSelectionClickedsD$$&&  B JJLLLL !!!!!rhc|D]}||dSrj)rmirrorXYrrs rgrSzCanvas.reflectSelectionClickedsD$$&&  B KKMMMM !!!!!rhc|D]}||dSrj)rresetTransformClickedr)rdrs rgrTzCanvas.resetTransformsClickedsJ##%% & &A # # % % % % !!!!!rhc.|dSrj)multiSelectBoxMovedrks rgrOzCanvas.multiSelectBoxChangeds   """""rhc|D]0}||j|1dSrj)rapplyTemporaryTransformsigTransformChangeFinishedrrs rgrQz#Canvas.multiSelectBoxChangeFinishedsS$$&& 3 3B  & & ( ( (  ) . .r 2 2 2 2 3 3rhc|j}|D]1}|||j|2dSrj)r+getGlobalTransformrsetTemporaryTransformsigTransformChangedr)rd transformrs rgrzCanvas.multiSelectBoxMovedsi'::<< $$&& , ,B  $ $Y / / /  " ' ' + + + + , ,rhc Xt|fi|}||_|||S)zgAdd a new GraphicsItem to the scene at pos. Common options are name, pos, scale, and z )r _canvasItemr,)rdroptsrs rgaddGraphicsItemzCanvas.addGraphicsItems84((4((  U rhc Bt|}|j|fi||S)N)r)rr,)rdrkargsgroups rgaddGroupzCanvas.addGroups1T*** U$$e$$$ rhc |j6|j|}|j||S|js|d|j|j|j |j |j |j |j d}|d}d}| d|jjfvr|j n j fdt) D}|}|d|D} |jur)t/|dkrd}n_t1|dz}nLt/|dkr' }nt1|d z}||t) D]^} |}|} | |kr|}n|d z}_t;j|g} | t@j!j"j#zt@j!j"j$z} tK|tLs| t@j!j"j'z} | (| |j d r+| )dt@j!j*j+n*| )dt@j!j*j,|| _- .|| ||_-| |_t_j0|| _|j||1} | 2|j3j45| |6|t/|jd kr|7|S) z- Add an item to the canvas. NFrrrc^g|])}|*Srrrrres rgrz"Canvas.addItem..8/UUUQFLLOO..00UUUrhc6g|]}|SrzValuerrs rgrz"Canvas.addItem..;s 222AQXXZZ222rh r visibler)8r2r,r3appendr) setMovablerr=itemTransformChangedritemTransformChangeFinishedsigVisibilityChangeditemVisibilityChangedr parentItemr# childGroupr%invisibleRootItemrrrrrr}rr.rrr QTreeWidgetItemflagsr rItemFlagItemIsUserCheckableItemIsDragEnabled isinstancerItemIsDropEnabledsetFlagsrrrrr insertChildweakrefref ctrlWidgetr-r! ctrlLayout addWidget setCanvasrH)rdrrinsertLocationsiblingszzvalsrchzvalnoderctrlres @rgr,zCanvas.addItems = $=((//D J  e $ $ $K# $   U # # # !))$*CDDD (001QRRR "**4+EFFFz&! <D!!## dDI01 1 1]4466FF_FVUUU%@Q@Q@S@S:T:TUUU LLNN 922222E88::::u::??AAE 2 AAu::??))++2244AAE 1 A OOA   v((**++ % %AaB==??//1188::Daxx!"!"1($00 vy1EE HZHll%11 BVY/AAAE e :i  B   q&)"6"> ? ? ? ?   q&)"6"@ A A A >4000 !+e,, %   !!  $$T***  tz??a   NN    rhc6|jur2||jjn9|fdt D}d|D}|dt t|D]%}||}| ||&dS)Nc^g|])}|*Srrrs rgrz(Canvas.treeItemMoved..wrrhc6g|]}|Srrrs rgrz(Canvas.treeItemMoved..ys ......rhT)reverse) r%rr setParentItemr#rrrsortrr.)rdrreindexrrrs ` rgrDzCanvas.treeItemMovedqs  T]4466 6 6 OO   + +DI,@ A A A A OO   + +F,=,=,?,? @ @ @UUUU%@Q@Q@S@S:T:TUUU..X... 4    s8}}%% % %AA;D NN58 $ $ $ $ % %rhcV|j}|dtjjjk}|}||krZ|r,|dtjjjdS|dtjjjdSdSr) rrr rrr isVisiblerr)rdrrcheckedviss rgrzCanvas.itemVisibilityChangeds=%%a((FI,@,HHnn '>> J&&q&)*>*FGGGGG&&q&)*>*HIIIII >rhct|tjr|}t|tr|d|j}d|_d|_|j||j || }| |j j||dnEt#|dr||jn|j|t+jdS)Nr)rr rrrrrr%rr3rrr-r!r removeWidget setParenthasattrrrr#gccollect)rdrrr s rgrzCanvas.removeItems% dI5 6 6 %??$$D dJ ' ' + NN4 }H"&H  DM M , ,X 6 6 6 J  d # # #??$$D IIKKK G  + +D 1 1 1 NN4 t]++ + 01111 $$T*** rhct|jdkr:||jdt|jdk8dSdSr)rr3rrks rgclearz Canvas.clearsN$*oo!! OODJqM * * *$*oo!!!!!!rhc:|j|dSrj)r#r,rdrs rg addToScenezCanvas.addToScenes $rhc:|j|dSrj)r#rr!s rgremoveFromScenezCanvas.removeFromScenes T"""""rhc|jS)z&Return a dictionary of name:item pairsr3rks rg listItemszCanvas.listItemss zrhc|j|Srjr&)rdrs rg getListItemzCanvas.getListItemsz$rhc<|j||dSrj)sigItemTransformChangedrr!s rgrzCanvas.itemTransformChangeds! $))$55555rhc<|j||dSrj)sigItemTransformChangeFinishedrr!s rgrz"Canvas.itemTransformChangeFinisheds! +00t<<<<rHrUrKrrrBrFrrrrRrSrTrOrQrrrr,rDrrrr"r$r'r)rrrbr_ __classcell__)rs@rgrrs'&-77+fmFF;;%2V]66%B%B"AJAJAJAJF    / / / / / /)))$    111*nnn )))***.""" """ """ ###333 ,,,  ZZZx % % %JJJ.+++   ###   666===(((rhceZdZddZdS)r*Fctj|ddgddgddg}|r4|ddg|d|ddg|d|ddg||ddg|dS)Nrr g?T) lockAspect)rraddScaleHandleaddRotateHandle)rdscalablecenters rgrzSelectBox.__init__s TAa51Q%(((s  A   A4  @ @ @   A4  @ @ @ aVV,,, aVV,,,,,rhN)F)r5r6r7rrrhrgr*r*s( - - - - - -rhr*)__all__r importlibrrgraphicsItems.GridItemrgraphicsItems.ROIrgraphicsItems.ViewBoxrrrr r r rr rrrrQCoreApplicationr]rrr*rrhrgrHs> * ------######++++++11111111111133333333333333((((((  # - oooooY oood - - - - - - - - - -rh