Xׯd  ddlZddlZddlmZmZmZmZmZmZddl m Z m Z ddl m Z ddlmZmZmZddlZddlmZddlmZddlmZdd lmZmZmZmZGd d ZGd d ejZGdde Z!Gdde!Z"Gdde!Z#Gdde Z$Gdde Z%dZ&dZ'deej()*dfdddddfdedddd d!dfdeej()*d"fdddd#dfded$de"d%fe&d&d'fd(ed)de"d%fe&d*dfdeej()*d+fdddd,dfded-de"d.fe'd/d0fd1ed)de"d.fe'd2dfd3ed4de$d5fd6d7dfdee+e$d8fe$d5fd6d9d:fdeej()*d;fdddddfded?ddd d@dfdAedBde$dCfd6dDdEfdFedGde#dHfgdIdJdfdedKde"dLfdMdNdOfdedPde"dQfdRdSdTfdedUde"dVfdRdWdXfdedYde"dZfdRd[d\fded]de"d^fd_d`dafdedbde"dcfd_dddefdedfde"dgfd_dhdifdeej()*d;fddddjdfg Z-deej()*d=fdddd>dfded?ddd d@dfdAedBde$dCfd6dDdkfdFedGde#dlfgdIdJdfdedKde"dLfdMdNdmfdedPde"dQfdRdSdnfdedUde"dVfdRdWdofdedYde"dZfdRd[dpfded]de"dqfd_d`drfdedbde"dsfd_dddtfdedfde"dufd_dhdvfdeej()*d;fddddjdfg Z.deej()*dwfddddxdfdedyddd dzdfded{de"d|fe&d}d~fdedde"dfe'ddfdedde$dfd6ddfdedde"dfe&ddfdedde"dfe'ddfdedde"dfe'ddfdedde"dfe'ddfdeej()*d+fdddddfdedde"dfe'ddfdedde"dfe'ddfdeej()*d"fdddddfdedde"dfe&ddfdedde"dfe&ddfgZ/GddeZ0dS)N)DBTimeLineGraphDBSimpleCounter DBRoundMeter DBLevelMeterDBImageDBText)Canvas TextFigure)Context)weakcbWbAdminTabBaseWbAdminValidationConnection) log_error)Version)nc)ColorControlBackgroundColor TextColorTextBackgroundColorc eZdZdZdZdZdS)MyDictc||_dSN)d)selfrs ,..\modules\wb_admin_performance_dashboard.py__init__zMyDict.__init__&s cVtd||j|S)Ncontains)printr __contains__rks rr"zMyDict.__contains__*s( j!v""1%%%rcVtd||j|S)Ngetit)r!r __getitem__r#s rr'zMyDict.__getitem__/s( gqv!!!$$$rN)__name__ __module__ __qualname__rr"r'rrrr%sA&&& %%%%%rrcPeZdZdZdZdZdZdZdZdZ dZ d Z d Z d Z d S) RenderBoxc<tj|||||_d|_||d|_d|_ d|_ d|_ d|_ d|_ d|_dS)N)rrF)mforms PyDrawBoxr set_managedset_release_on_addparentcanvas set_instance drag_offset drag_objecttooltipoffset current_posvariable_valueslayouting_mode)rr3s rrzRenderBox.__init__6s!!$'''  !!!   $  !##rcX|jr"|jd|_dSdSrr8closers r__del__zRenderBox.__del__K5 < L   DLLL  rc||jdz}||jdz}|dkrS|jrN|j|||_|jr)||jjz ||jjz f|_dSdSdSdS)Nr)r9r<r4 figure_atr7xyr6)rbrFrGs r mouse_downzRenderBox.mouse_downQs T[^ T[^ 66" V#';#8#8A#>#> #V'(4+;+='=q4CSCU?U'UD$$$ 6 V VVVrc||jdz}||jdz}|dkrb|jrK||jdz }||jdz }||dzz}||dzz}|j||d|_d|_dSdSNrrD)r9r7r6move)rrHrFrGxxyys rmouse_upzRenderBox.mouse_upZs T[^ T[^ 66 .)!,,)!,,b1f b1f  %%b"---#D #D    6rc2||jdz}||jdz}|jrK||jdz }||jdz }||dzz}||dzz}|j||||f|_|j||dSrK)r9r7r6rMr:r4 mouse_move)rrFrGrNrOs rrRzRenderBox.mouse_moveis T[^ T[^   *T%a((BT%a((B "q&LB "q&LB   ! !"b ) ) )a4 q!$$$$$rc|j\}}||f|_t|} |j|||||dS#t $r,ddl} td| zYdSwxYw)Nrz"Exception rendering dashboard: %s ) r3relayoutr9r r4repaint Exception tracebackr format_exc) rcrrFrGwhxoffsyoffscrWs rrUzRenderBox.repaintxs{++-- uUl BKK V K  5%A 6 6 6 6 6 V V V     ;i>R>R>T>TT U U U U U U VsA2B  B cj|j||j|_|j|_dSr)r4addhandle_hover_in on_hover_inhandle_hover_out on_hover_out)rfigures rr`z RenderBox.adds2 !1"3rc ||jz}n#t$rYdSwxYwtjd|D]D}t |dd|jz}||t |}E|S)Nz--z (\${[^}]*})rL)r;rVrefindallevalreplacestr)rretemplatetextmvalues rmake_tooltip_textzRenderBox.make_tooltip_texts d22DD   44 M400 / /A1R44#7788E<<3u::..DD s cX|jr"|jd|_dSdSrr>r@s r close_tooltipzRenderBox.close_tooltiprBrc.|dSr)rs)rfigrFrGs rrczRenderBox.handle_hover_outs rc|jr |jd|_tjsdS|rt |ddr|||j}|rtj dtj |_|j |j dz|j zdz}|j|j dz|jdz z}|||\}}tjd} | dd} |dD]} | d r| rk| dr | dd } tj| } | tj| | dd d} tj| ddd} | tj| | dd | | dzz } | r]tj| d} | tj| | dd |jt;| d t;| d |j | |j!|j"|j#|||tj$dSdSdSdS)Nhover_text_templaterrDrLF *rgTd2)%r8r?r/Form main_form is_activegetattrrqrw newPopoverPopoverStyleTooltiprFr9widthrGheightclient_to_screennewBox set_spacingsplit startswithendswithnewLabel set_style SmallStyler`rstripSmallBoldStyleset_sizemaxget_preferred_widthget_preferred_height set_contentadd_close_callbackrsshow_and_track StartRight) rrurFrGrnfxfyrNrOboxtlinelabels rrazRenderBox.handle_hover_ins < L   DL{$$&&0022  F # M73 5t<<# M))#s/FGGD! M%0v7QRR UT[^+ci7!;UT[^+cj1n<..r266BmE**""" JJt,, ' 'Ds++ '# zz$//+$%crcF$*OA$6$6E!OOF,=>>>GGE5$777 "A &QRR0E0E F F(=>>>ud3333T$Y0"OAHHTNN;;EOOF$5666GGE5$/// %%c#*A*A*C*CS&I&I3sOgOgOiOikmKnKnooo ((--- //0BCCC ++D"b&:KLLLLLG# M# M# M# M! M! MrN)r(r)r*rrArIrPrRrUr`rqrsrcrar+rrr-r-5s$$$*   VVV $ $ $ % % % V V V444      +M+M+M+M+Mrr-c&eZdZdZdZdZdZdS)CDifferencePerSecondc<||_|dSr)exprresetrrs rrzCDifferencePerSecond.__init__s  rc"d|_d|_dSr) old_valueold_value_timestampr@s rrzCDifferencePerSecond.resets#'   rcdSrr+rrp timestamps r calculatezCDifferencePerSecond.calculate rcd}|js|S t|j|z}n#t$r }d}Yd}~nd}~wwxYw|jr(|jr!||jkr|||}||_||_|SNr)rrjrVrrr)rvaluesrresultrpes rhandlezCDifferencePerSecond.handlesy M V+,,EE   EEEEEE  > :d6 :4333y99#,  s% ;6;N)r(r)r*rrrrr+rrrrsP (((    rrc$eZdZfdZdZxZS)CSingleDifferencePerSecondcXtt||dSr)superrrrr __class__s rrz#CSingleDifferencePerSecond.__init__s( '..77=====rcFt||jz ||jz z Sr)floatrrrs rrz$CSingleDifferencePerSecond.calculates$UT^+,, D>>>>VVVVVVVrrc$eZdZfdZdZxZS)CTupleDifferencePerSecondcXtt||dSr)rrrrs rrz"CTupleDifferencePerSecond.__init__s( &--66t<<<<>>T!Q&s):a(???rc(dtjvrDtjt}|j|j|j|j tjt}tjt}|j D].}| |j|j|j |j/tj}|jD]} t)| dr| |t)| dr,| |j|j|j |jt)| dr,| |j|j|j |jdS)Nrswitch_image_modeset_fill_colorr1)rr rr!rr4r"r#r$r%rrr'r1alphar/AppgetisDarkModeActiver&rIrhri) rnamesenderinfor; textColorbackgroundColorfdarkrZs rrzWbAdminDashboard.updateColorssp #, & &()?@@E K , ,UY UZ P P P(33 ./BCC ^ ^A  Y]IOY^Y_ ] ] ] ]z~~0022 b bAq-.. *##D)))q*++ z  !4o6K_Macrcxyyyq*++ b   QZQ`aaa  b brN)r(r)r*r classmethodr rrrGrMrOrUrUr6rr_rTrr+rrrrs  B B BYY[Y!![!)))666r$$$    $ $ $   ))) )))@@@bbbbbrr)1rr/workbench.graphics.chartingrrrrrrworkbench.graphics.canvasr r workbench.graphics.cairo_utilsr wb_admin_utilsr r rrh workbench.logrworkbench.utilsrworkbench.notificationsrrrrrrr0r-objectrrrrr READ_COLOR WRITE_COLORrkrlget_resource_pathrr,r-r0r.rr+rrrs* , uuuuuuuuuuuuuuuu88888888222222NNNNNNNNNN ############&&&&&&PPPPPPPPPPPP % % % % % % % % XMXMXMXMXM XMXMXMv#####6###LVVVVV!5VVV      4                   . . &*..""445YZZ\^bdp Wsuy|H8&*..""445TUUWY]_k Z8$A[]q@r j,-,_>PRVYsvJYK i&*..""445UVVXZ^`l Z6?Y[k>l z$%,_>PRVYsvFYG y1EtiYpMq"I eegg +@AIOfCg"J >?"&*..""445NOOQSWYe Zw>!F&*..""445WXXZ\`bn XOQUWc9lOTIH_<`"J89 2FOhkY OZ iiiku 4d=WYiGadJGK j/0 ?HbeLHM z01 j$Eh9i"J1 2:DC]_}B~ j'( oA4JdgBJC z$%5t>XZq=r z !)DdMgjCMD z"#&*..""445UVVXZ^`l Z);TD^`yCz z6?Y[t>u z"#&*..""445TUUWY]_k Z(:DC]_uBv j6?Y[q>r j k[ ~bbbbbbbbbb~bbbbbbbbbbr