;i0|ddlZddlmZmZmZddlmZddlmZGddejZ Gd d eZ dS) N)QtCoreQtGui QtWidgets) VerticalLabel)DockDropceZdZejZejeZd dZd!dZ d"dZ dZ d Z d Z d Zd Zd#dZdZdZdZd$dZdZdZdZdZdZdZdZdZdZdZdZdS)%DockN r FTc tj|t||_d|_||_||_||_|jt|fi||_||j_ |j r$|jj |jd|_d|_||_d|_tj|_|jdddd|jd||j|j|jddtj|_|j|jddtj|_|jdddd|jd|j|j|jtjjjtjjjg|_d|_ |j!d|_"d|_#d|_$d |_%|&d|j'|j"|j(|||||r|)dSdS) NFT horizontalrrz Dock > QWidget { border: 1px solid #000; border-radius: 5px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-top-width: 0px; }z Dock > QWidget { border: 1px solid #000; border-radius: 5px; border-top-left-radius: 0px; border-bottom-left-radius: 0px; border-left-width: 0px; }zg Dock > QWidget { border: 1px solid #000; border-radius: 5px; }zg Dock > QWidget { border: 4px solid #00F; border-radius: 5px; })*rQWidget__init__r dockdrop _container_namearealabel DockLabeldock isClosablesigCloseClickedconnectclose labelHidden moveLabel autoOrient orientation QGridLayout topLayoutsetContentsMargins setSpacing setLayout addWidget widgetArealayout setSizePolicy QSizePolicyPolicy Expandingwidgets currentRow raiseOverlayhStylevStylenStyle dragStylesetAutoFillBackground setStyleSheet setStretch hideTitleBar) selfnamersizewidget hideTitleautoOrientationrkargss KC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\pyqtgraph/dockarea/Dock.pyrz Dock.__init__ s""4(((     : "411511DJ  : " " ; J & . .tz : : : )'".00 ))!Q1555 !!!$$$ t~&&&   Q222#+--   !Q777+--  &&q!Q222 q!!! !!$+... %%i&;&B&LiNcNjNtuuu  ""$$$        ""5))) %%dk222   NN6 " " "           c|dgS|dkS)Nr)r8r9s r? implementszDock.implementsSs <8O6> !r@cZ|d}|d}||f|_|jdS)z Set the 'target' size for this Dock. The actual size will be determined by comparing this Dock's stretch value to the rest of the docks it shares space with. Nr)_stretchsigStretchChangedemit)r8xys r?r6zDock.setStretchYs> 9A 9AA  ##%%%%%r@c|jSN)rEr8s r?stretchz Dock.stretchfs }r@c|jd|_|jd|dS)zo Hide the title bar for this Dock. This will prevent the Dock being moved by the user. TcenterN)rhiderrremoveAllowedArea updateStylerLs r?r7zDock.hideTitleBarisL  ''111 r@c|jd|_|jd|dS)z3 Show the title bar for this Dock. FrON)rshowrraddAllowedArearRrLs r? showTitleBarzDock.showTitleBarssL   $$X... r@c4|jS)zI Gets the text displayed in the title bar for this dock. )rtextrLs r?titlez Dock.title|sz   r@c:|j|dS)zE Sets the text displayed in title bar for this Dock. N)rsetText)r8rXs r?setTitlez Dock.setTitles  4     r@autoc|dS|dkrf|jr_|dkrd}n2||dzkrd}nd}|s |j|kr7||_|j||dSdS)z Sets the orientation of the title bar for this Dock. Must be one of 'auto', 'horizontal', or 'vertical'. By default ('auto'), the orientation is determined based on the aspect ratio of the Dock. Nr]tabrg?vertical) containerrtypewidthheightr rsetOrientationrR)r8oforces r?rezDock.setOrientations >>   # F ;;4?;~~$$&&%//  c 111   D$)) D  J % %a ( ( (        *)r@c|jr!|j|jdS|jdkrc|jd|jr!|j |jdd|j|j dS|jd|jr!|j |jdd|j|j dS)Nr`rrr) rr'r5r2r rrerr"r&r1r0rLs r?rRzDock.updateStyles   7 O ) )$+ 6 6 6 6 6   + + J % %j 1 1 1~ ;((Q::: O ) )$+ 6 6 6 6 6 J % %l 3 3 3~ ;((Q::: O ) )$+ 6 6 6 6 6r@c||j|dSrK)rer resizeOverlayr:r8evs r? resizeEventzDock.resizeEvents8  ##DIIKK00000r@c|jSrK)rrLs r?r9z Dock.names zr@rrc||j}t|dz|j|_|j||j||||||jdS)z Add a new widget to the interior of this Dock. Each Dock uses a QGridLayout to arrange widgets within. Nr)r.maxr-appendr(r&rr/)r8r;rowcolrowspancolspans r?r&zDock.addWidgetsu ;/Cc!eT_55 F### fc3AAA ""$$$$$r@ctj||_tj}|j||j|j| t|jdr|j n|j }| dS)Nexec)rQDragdragr QMimeData setMimeDatar'r5r3updatehasattrrwexec_rR)r8mimeactions r? startDragzDock.startDragsK%% !! d### %%dn555 %,TY%?%?V!!!TY__EVEV r@c:|j|dSrK)r floatDockrLs r?floatz Dock.floats D!!!!!r@c|jSrK)rrLs r?razDock.containers r@c4|j|jd||_| d|_dS|j|_|dkr"d|_|jdnd|_|ddS)NF) propagater_T)rg)rapoptoserrbrrsetDimre)r8cs r?containerChangedzDock.containerChangeds ? & O $ $u $ 5 5 5 9DIIIDIvvxx5  !% !!%((((!&   d  + + + + +r@cT||dS)z?If this Dock is stacked underneath others, raise it to the top.N)ra raiseDockrLs r?rzDock.raiseDocks& ""4(((((r@cr|j"tjd|dtddS|dt j|j|jd|j d|_|j |dS)z3Remove this dock from the DockArea it lives inside.NzCannot close dock z because it is not open.r) stacklevel) rwarningswarnRuntimeWarning setParentrQLabelrrr sigClosedrGrLs r?rz Dock.closes ? " MMtMMM~jk l l l l F ttz*** T"""   """ D!!!!!r@c\d|d|dS)Nz)r9rMrLs r?__repr__z Dock.__repr__s'!%dllnnnn==r@c$|jj|dSrK)rdragEnterEventr8argss r?rzDock.dragEnterEvent$ $d++++r@c$|jj|dSrK)r dragMoveEventrs r?rzDock.dragMoveEvents# #T****r@c$|jj|dSrK)rdragLeaveEventrs r?rzDock.dragLeaveEventrr@c$|jj|dSrK)r dropEventrs r?rzDock.dropEvents &&&&r@)Nr NFTNrK)NN)r]F)Nrrr) __name__ __module__ __qualname__rSignalrFobjectrrrCr6rMr7rVrYr\rerRrmr9r&rrrarrrrrrrrrBr@r?r r s%  f%%ID D D D L"""" & & & &!!! !!! 2 7 7 7111 % % % %""",,,"))) " " ">>>,,,+++,,,'''''r@r ceZdZejeeZejZd dZdZ dZ dZ dZ dZ d Zd Zd Zfd ZxZS)rF12pxcd|_d|_||_tj||dd|t jjj t jjj zd|_ | | dd|_d|_|rt!j||_|jj|j|jt jt jjjdSdS)NFr)r forceWidth)dim fixedWidthfontSizerr setAlignmentrQt AlignmentFlagAlignTop AlignHCenterrrRr4 mouseMoved closeButtonr QToolButtonclickedrrsetIcon QApplicationstyle standardIconQStyleStandardPixmapSP_TitleBarCloseButton)r8rXclosablers r?rzDockLabel.__init__ s9  tT|PUVVVV &)1:69;R;__```   ""5)))  J(4T::D    $ , ,T-A B B B   $ $Y%;%A%A%C%C%P%PQZQaQpRH&I&I J J J J J J Jr@c 0d}|jrd}d}d}nd}d}d}|jdkr;d |d |d |d |d |d|jd |_||jdSd |d |d|d|d|d|jd |_||jdS)N3pxz#aaaz#44az#339z#fffz#66cz#55Br`z/DockLabel { background-color : z; color : zX; border-top-right-radius: 0px; border-top-left-radius: z^; border-bottom-right-radius: 0px; border-bottom-left-radius: zM; border-width: 0px; border-right: 2px solid zd; padding-top: 3px; padding-bottom: 3px; font-size: z; }z+; border-top-right-radius: z*; border-top-left-radius: z; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; border-width: 0px; border-bottom: 2px solid zd; padding-left: 3px; padding-right: 3px; font-size: )rr rr1r5r0)r8rfgbgborders r?rRzDockLabel.updateStyles  8 BBFFBBF  z ) ) )BBAAAqqq&&&$--- 9DK   t{ + + + + + *8BBAAAqqq&&&$--- 9DK   t{ + + + + +r@cV|j|kr||_|dSdSrK)rrR)r8ds r?rzDockLabel.setDimDs3 8q==DH         =r@cXtj|||dSrK)rrerR)r8rfs r?rezDockLabel.setOrientationIs-$T1--- r@c|jduSrK)rrLs r?rzDockLabel.isClosableMst++r@ct|dr|n|}||_d|_|dS)NpositionF)r}rlocalPospressPosracceptr8rllposs r?mousePressEventzDockLabel.mousePressEventPsI 'J 7 7Jr{{}}}R[[]]  r@c|jsyt|dr|n|}||jz t jk|_|jrE| tj j j kr|j|dS)Nr)rr}rrrmanhattanLengthrrstartDragDistancebuttonsrr MouseButton LeftButtonrrrrs r?mouseMoveEventzDockLabel.mouseMoveEventVs t$+B $;$;N2;;===D#dm3DDFFI_IqIqIsIssDO ? "rzz||vy/D/OOO I   ! ! ! r@cv||js|j||dSdSrK)rr sigClickedrGrks r?mouseReleaseEventzDockLabel.mouseReleaseEvent_sA  + O r * * * * * + +r@c|tjjjkr|jdSdSrK)buttonrrrrrrrks r?mouseDoubleClickEventzDockLabel.mouseDoubleClickEventds= 99;;&)/: : : IOO      ; :r@cF|jr|jdkr<|}t jdd}nb|}t j||z d}|jt j|||j |tt| |dS)Nr`r) rr r:rcrQPointrd setFixedSizeQSizemovesuperrrm)r8rlr:pos __class__s r?rmzDockLabel.resizeEvenths   ':--wwyy((mAq))wwyy''))mBGGIIOO$5$5$rs))))))))))111111y'y'y'y'y'9 y'y'y'xn.n.n.n.n. n.n.n.n.n.r@