3 ķe@sddlZddlZddlZddljZejdejd<ejdj dejdj dddl Z ddl Z ddl mZGd d d ZdS) NZpdfzsavefig.formatz keymap.backleftzkeymap.forwardright)Hovertipc@seZdZdZdZdZdZdZdZdZ dZ dZ dZ dZ dZdZdZdZdZdZdZgZdddgZdddgZdbZdcZddZdZdZdZdZdZdZ dZ!iZ"de"d <d e"d <d e"d <de"d<de"d<ddZ#ddZ$ddZ%ddZ&ddZ'ddZ(ddZ)d d!Z*ded"d#Z+d$d%Z,d&d'Z-d(d)Z.d*d+Z/dfd,d-Z0d.d/Z1d0d1Z2dgd2d3Z3d4d5Z4d6d7Z5d8d9Z6d:d;Z7dd?Z9d@dAZ:dBdCZ;dDdEZdJdKZ?dLdMZ@dNdOZAdPdQZBdRdSZCdTdUZDdVdWZEdXdYZFdZd[ZGd\d]ZHd^d_ZId`daZJdS)h DisplayWindowNFZfixedTZbluedataZdimgreybaseZ darkorangemainZcrimsonexpZgreenzT*cCs |jdS)N) mainwindow)selfr(/home/armin/python/fajho2.0/FHdisplay.py__init__<szDisplayWindow.__init__cCs|j|_||_dS)N) currentcallprevcall)rfunctionrrrpushcall@szDisplayWindow.pushcallcCs|j|_||_dS)N) active_indexprevious_index)r new_indexrrr pushindexDszDisplayWindow.pushindexc sjjjdkrZtj_jjdd4jjddjjddjjdd xjjD] }|j qfWjj d tj jtj ddd }|j ddd d d tj|ddddd}|jd d dtj jtj ddd }|j ddd d d tj|dddddjd}|jd d dt|d}tj jtj djdd }|j ddd d d tj|djdddjdtd}|jd d dtjjd}tj jtj d|rdndd }|j ddd d d tj|dj| ddj| fd d!d}|jd d dt|d"}tj jtj d|r$dndd }|j ddd d d tj|d#j|ddj|fd$d!d}|jd d dt|d%}tj jtj d|rdndd }|j dd&d d d tj|d'j|ddj|fd(d!d}|jd d dt|d)}jrZtj jtj dd*d }|j d&dd d d tj|d+d,ddd-jd}|jd d dt|d.}jjddd&dd/gdd0d1jjddd&dd/gdd2d1jjd3jjj dS)5Nz %dx%d+%d+%drblack)bgz *foregroundz*highlightThicknessg333333?uFajhő kiértékelő 2)masterrelief borderwidthr)rowcolumnpadxpadyuMérés betöltése:white)rtextrfgactiveforeground)r$r%rz#000064uBeállításokz#00008Bz#006ec5)rr'rr(r)activebackgroundcommanduÁbrázolási beállításokFu Kilépész .fh_configz#3b3b3ez#004200u VízértékcsjdjS)NuVízérték mérés) newfilewindow calibwindowr)rrrsz*DisplayWindow.mainwindow..u3Vízérték mérés megnyitása és kiértékeléseuBeejtéscsjdjS)NuBeejtéses mérés)r- beejteswindowr)rrrr/su8Beejtéses fajhőmérés megnyitása és kiértékeléseru RáfűtéscsjdjS)NuRáfűtéses mérés)r- futeswindowr)rrrr/su?Együtt fűtéses fajhőmérés megnyitása és kiértékelésez#800080uElőzőt folytatz#8B008Bz#a841b0uVissza a megnyitott méréshezK)weightminsize2ZWM_DELETE_WINDOW)rrrr)!rr windowtkZTkZgeometryZ configureZ option_addwinfo_childrendestroytitleFrameRAISEDgridLabelpackButton optionswindowr framecolor buttoncoloractivebuttoncolorquitospathexistsactive_measurementevalcallcolumnconfigure rowconfigureZprotocol on_closingZmainloop)rwidgetframelabel label_ttpZ bCalibFoundr)rrr Hs      $ 0 , ,  zDisplayWindow.mainwindowcCsx|jjD] }|jq Wtj|jtjddd}|jdddddtj||ddddd}|jddd t j }|r||_ |j |j |j d d |j j r||jkrtd |n|jdS) Nrr)rrr rr!)r"r#r$r%u megnyitása... (másik ablak)r&)rr'rr(r))r$r%rzFigure 1ucVigyázat: még hiányoznak a kalibrációs adatok! Először a vízérték mérést értékeld ki!)r7r9r:r8r<r=r>r?r@FHutilnewrJshow setfigtitleZbCalibr.printr)rZmtyper,rOrPrQZtemprrrr-s&   zDisplayWindow.newfilewindowcCs |rdSdS)Nz#004200z#3b3b3er)r conditionrrrrCszDisplayWindow.framecolorcCs |rdSdS)Nz#006400z#3b3b3er)rrXrrrrDszDisplayWindow.buttoncolorcCs |rdSdS)Nz#008b20z#47474ar)rrXrrrrEszDisplayWindow.activebuttoncolorc Cs|r|j|jx|jjD] }|jqW|jjdtj|jtjddd}|j dddddtj |dd d d d |j d }|j ddd t |d}tj|jtjd|j|jd}|j dddddtj ||jrdnd|j|jd d |j|j|jd }|j ddd t |d}tj|jtjd|j|jd}|j dddddtj ||jrPdnd|j|jd d |j|j|jd }|j ddd t |d}dS)NuBeállításokrz#800080)rrr rrr!)r"r#r$r%Visszaz#8B008Br&z#a841b0)rr'rr(r)r+r,)r$r%uVissza a főmenübez Legend: bez Legend: kiu$Legyen-e színmagyarázat az ábránz AutoZoom: bez AutoZoom: kiuhBekapcsolva a program magától odanagyít az ábrába ahova kell illesztéseknél. (Kényelmi funkció))rrBr7r9r:r;r8r<r=r>rArr@rrCbLegendrDrE toggleLegend bAutoZoomtoggleAutoZoom)r bPushcallrOrPrQrRrrrrBs@    4 6zDisplayWindow.optionswindowcCs&|j |_|j|j|jdddS)NF)r^)rZrUrJrB)rrrrr[ s  zDisplayWindow.toggleLegendcCs|j |_|jdddS)NF)r^)r\rB)rrrrr]&s zDisplayWindow.toggleAutoZoomc sDjjj_js*tdjjddxjjD] }|j qBWjj dt j jt j ddd}|jddd d d t j|d d d d djd}|jd d dt|d}t j jt j ddd}|jddd d d t j|ddd d dfddd}|jd d dt|d}t j jt j ddd}|jddd d d t j|ddd d djd}|jd d dt|d}t j jt j djjj d}|jddd d d t j|jjsdndjjj d d jjj fd dd}|jd d dt|d!}t j jt j djjj o(jjd}|jddd d d jjrt j|jjs`d"nd#jjj oxjjjjj ojjd d fd$dd%}nt j|d"d&d d d'}|jd d dt|d(}t j jt j djjj ojjd}|jd)dd d d jjrjt j|d*jjj o:jjjjj oRjjd d fd+dd%}nt j|d*d&d d d'}|jd d dt|d,}t j jt j djjj ojjd}|jddd d d jjr:t j|jjsd-nd.jjj o jjjjj o"jjd d fd/dd%}nt j|d-d&d d d'}|jd d dt|d0}t j jt j djjjd}|jd1dd d d jjrt j|d2jjjjjjd d fd3dd%}nt j|d2d&d d d'}|jd d dt|d4}jjddd)dd1d gdd5d6jjddd)dd1d gdd7d6dS)8Nz4Error : No active measurementuVízérték méréseZ vizertek_abrauVízérték kiértékeléserz#800080)rrr rrr!)r"r#r$r%rYz#8B008Br&z#a841b0)rr'rr(r)r+r,)r$r%uVissza a főmenübez#000080r*u Ábrázolz#0000CDz#006ec5cs jjS)N)rUrJr)rrrr/Psz+DisplayWindow.calibwindow..uGÁbra újrarajzolása Ha becsuktad az ablakot, ezzel tudod visszahozni.z#000064uBeállításokz#00008BuÁbrázolási beállításoku1) Előszakasz illesztéseu1) Előszakasz módosításacs jjS)N)selecteloszakaszwindowr.r)rrrr/fsuElőszakasz illesztéseu2) Utószakasz illesztéseu2) Utószakasz módosításacs jjS)N)selectutoszakaszwindowr.r)rrrr/ss)rr'rr+r(r)r,z#3b3b3e)rr'rr(r)uUtószakasz illesztéseru(3) Korrigált hőmérséklet számolásacs jjS)N) calculateTsr.r)rrrr/su*Korrigált hőmérséklet felintegrálásau4) Főszakasz illesztéseu4) Főszakasz módosításacs jjS)N)selectfoszakaszwindowr.r)rrrr/suFőszakasz illesztéser2u!5) Vízérték és α számolásacs tjjS)N)FHevalZcalibrJr)rrrr/su4Vízérték és hőátadási tényező kiszámolásar3)r4r5r6)rr.rKrJrWrrVr7r9r:r;r8r<r=r>rAr r@rrBrCbBaserDrEbExpr?bTsbMainCorrectedrLrM)rrOrPrQrRr)rrr.*s        F  \  N  \  6 zDisplayWindow.calibwindowc shjjj_js*tdjjddxjjD] }|j qBWjj djj ddddjj ddd dt jjt jdd d }|jddd d d t j|dddddjd}|jd d dt|d}t jjt jddd }|jddd d d t j|dddddfddd}|jd d dt|d}t jjt jddd }|jddd d d t j|dddddjd}|jd d dt|d }t jjt jdjjj d }|jddd d d t j|jjsd!nd"jjj jjj ddfd#dd$}|jd d dt|d%}t jjt jdjjj oLjjd }|jddd d d jjrt j|jjsd&nd'jjj ojjjjj ojjddfd(dd$}nt j|d&d)ddd*}|jd d dt|d+}t jjt jdjjj ojjd }|jd,dd d d jjrt j|d-jjj o^jjjjj ovjjddfd.dd$}nt j|d-d)ddd*}|jd d dt|d/}t jjt jdjjj oވjjd }|jddd d d jjr^t j|jjsd0nd1jjj o.jjjjj oFjjddfd2dd$}nt j|d0d)ddd*}|jd d dt|d3}t jjt jdjjjd }|jd4dd d d jjrt j|d5jjjjjjddfd6dd$}nt j|d5d)ddd*}|jd d dt|d7}jj ddd,dd4d gdddjj ddd,dd4d gdd ddS)8Nz4Error : No active measurementuFajhő mérése ráfűtésselZ rafutes_abrauRáfűtés kiértékeléserrr3)r4r5r6z#800080)rrr rr!)r"r#r$r%rYz#8B008Br&z#a841b0)rr'rr(r)r+r,)r$r%uVissza a főmenübez#000080r*u Ábrázolz#0000CDz#006ec5cs jjS)N)rUrJr)rrrr/sz+DisplayWindow.futeswindow..uGÁbra újrarajzolása Ha becsuktad az ablakot, ezzel tudod visszahozni.z#000064uBeállításokz#00008BuÁbrázolási beállításoku1) Előszakasz illesztéseu1) Előszakasz módosításacs jjS)N)r_r1r)rrrr/s)rr'rr+r(r)r,uElőszakasz illesztéseu2) Utószakasz illesztéseu2) Utószakasz módosításacs jjS)N)r`r1r)rrrr/sz#3b3b3e)rr'rr(r)uUtószakasz illesztéseru(3) Korrigált hőmérséklet számolásacs jjS)N)rar1r)rrrr/ su*Korrigált hőmérséklet felintegrálásau4) Főszakasz illesztéseu4) Főszakasz módosításacs jjS)N)rbr1r)rrrr/suFőszakasz illesztéser2u5) Hőkapacitás számolásacs tjjS)N)rcZrafutrJr)rrrr/'suHőkapacitás kiszámolása)rr1rKrJrWrrVr7r9r:r;rLrMr8r<r=r>rAr r@rrBrCrdrDrErer?rfrg)rrOrPrQrRr)rrr1s        F  \  N  \  6 zDisplayWindow.futeswindowc sjjj_js*tdjxjjD] }|jq6Wjj d|rbj ddt j jt j ddd}|jddd d d t j|d d d d djd}|jd d dt|d}t j jt j ddd}|jddd d d t j|ddd d djd}|jd d dt|d}t j jt j ddd}|jddd d d t j|ddd d dfddd}|jd d dt|d}t j jt j djjj d}|jddd d d t j|jjsdndjjj jjj d d fd dd!}|jd d dt|d"}t j jt j djjj o,jjd}|jddd d d jjrt j|jjsdd#nd$jjj o|jjjjj ojjd d fd%dd!}nt j|d#d&d d d'}|jd d dt|d(}t j jt j djjj ojjd}|jd)dd d d jjrnt j|d*jjj o>jjjjj oVjjd d fd+dd!}nt j|d*d&d d d'}|jd d dt|d,}t j jt j djjjd}|jddd d d jjr t j|d-jjjjjjd d fd.dd!}nt j|d-d&d d d'}|jd d dt|d/}t j jt j djjjd}|jd0dd d d jjrt j|d1jjjjjjd d fd2dd!}nt j|d1d&d d d'}|jd d dt|d3}jjddd)dd0d gdd4d5jjddd)dd0d gdd6d5dS)7Nz6Error : No active measurementuBeejtés kiértékeléseuFajhő mérése beejtésselZ beejtes_abrarz#800080)rrr rrr!)r"r#r$r%rYz#8B008Br&z#a841b0)rr'rr(r)r+r,)r$r%uVissza a főmenübez#000064r*uBeállításokz#00008Bz#006ec5uÁbrázolási beállításokz#000080u Ábrázolz#0000CDcs jjS)N)rUrJr)rrrr/csz-DisplayWindow.beejteswindow..uGÁbra újrarajzolása Ha becsuktad az ablakot, ezzel tudod visszahozni.u1) Előszakasz illesztéseu1) Előszakasz módosításacs jjS)N)r_r0r)rrrr/os)rr'rr+r(r)r,uElőszakasz illesztéseu2) Utószakasz illesztéseu2) Utószakasz módosításacs jjS)N)r`r0r)rrrr/{sz#3b3b3e)rr'rr(r)uUtószakasz illesztéseru(3) Korrigált hőmérséklet számolásacs jjS)N)rar0r)rrrr/su*Korrigált hőmérséklet felintegrálásau4) Integráláscs jjS)N)selectintegralwindowr0r)rrrr/su5Hőkapacitás kiszámolása a görbe integráljábólr2u!5) Variált határú integráláscsjfddS)Ncs jdS)NF)r0r)rrrr/sz?DisplayWindow.beejteswindow....)selectSIwindowr)rrrr/su_Integrálás variált felső határral Hőkapacitás felsőhatár függésének vizsgálatáhozr3)r4r5r6)rr0rKrJrWrr7r9r:r;rVr8r<r=r>rAr r@rrBrCrdrDrErer?rfrLrM)rrVrOrPrQrRr)rrr06s        F  \  N  6  6 zDisplayWindow.beejteswindowc Cs4|jdkr0|jdx|jjD] }|jq"W|jjd|jjdddd|jjddddtj |jtj ddd}|j ddd d d tj |d t d|jd d d d}|jd d d|jjdddd|jjddddtj |jtj ddd}|j ddd d d tj |d|jd|jd d d d}|jd d ddS)NuBiztos ki akarsz lépni?rrr3)r4r5r6z#3b3b3e)rrr rr!)r"r#r$r%u KilépésFr&)rr'r,rr+r(r))r$r%rY)rrr7r9r:r;rLrMr8r<r=r>rArFrEr@r)rrOrPrQrrrrNs2     zDisplayWindow.on_closingcCs|jjj|jd|_dS)N)figurecanvasmpl_disconnectccloseid)reventrrron_figure_closeszDisplayWindow.on_figure_closec s|jstddS|js6tj|_|jjjd|j|_|rJtjj j ntj tj j j|jdddtjdtjdtjj}tjj}|jrtjdd d tjj d j d%d }jr\jrtj |tj|jjj|jdddnXjr6fdd}tj ||||jdddn&tj |tj|j j!|jdddj"rtj j j#|jdddtjj}j$rtj |tj|j%j&|jdj'rdnddj(r tjj)j*d }tj |tj|j+j,j-|jdddj.r`tj |tj|j/j0j1|jdddtj |tj|d j1|jdd ddddg}x>t2t3|j4D],} |j4| }|rztj5||| dd'd qzWx(|j6D]}|rtj5|d!d"d)d qW|j7rtj8|tj9||j:rtj;tj<|j=tj>d#d$dS)*Nz(Error : No selected dataZ close_eventr uKaloriméter hőmérséklet)colorrQzt (s)zT $(^{\circ}C)$truez--) linestylerrdr u#Előszakasz illesztés (exp. korr.)csfg}x\|D]T}|jkr2|jtj|jjq |jkrR|jtj|q |jj q W|S)N) Zbase_endappendrSflinbase_abase_bZ exp_startfloatZ basesplineexp_c)Zx_arrZret_yZx_i)measrrgetcomplexbases   z*DisplayWindow.show..getcomplexbaseuElőszakasz illesztészT*uKorrigált hőmérsékletr uFőszakasz illesztés (korr.)uFőszakasz illesztésuExp. főszakasz illesztésr uUtószakasz illesztés)rprrz#FF00FFz#FF1493z#4B0082g?)xrpZalpharrZgreygQ?F)Zblockrr)rr~rr)rr)?rJrWrjpltrk mpl_connectrormZgcalinesclearclfplotr|ycolorsxlabelylabelZget_ylimZget_xlimr>npZlinspacerdZbBaseExprSZfexpZ baseexp_AZ baseexp_bZ baseexp_cZ bBaseSplinerurvrwrfZTsZbMainZmain_aZmain_brgZbMainExpZ mainexp_startZ mainexp_endZ mainexp_AZ mainexp_bZ mainexp_creZexp_AZexp_bryrangelenrangeSelectorGuideLinesZaxvlinerangeSelectorGhosts scaletodataZxlimZylimrZZlegendr;figtitlerU) rrz bKeepZoomZ auto_ylimZ auto_xlimZxsr{Zxs2rir)rzrrUsf     , & 2**$       zDisplayWindow.showcCs&||_|j|j|jjjj|dS)N)rrUrJrjrkZmanagerZset_window_title)rr;ZwintitlerrrrVBs zDisplayWindow.setfigtitlec sjjxjjD] }|jqWjjdjjddddjjddddtj jddd}|j ddd d d tj |d dd d d }|j d d dtj jtj djdd}|j ddd d d tj|djdjdd d fddd}|j d d dtj jtj djdd}|j ddd d d tj|djdjdd d fddd}|j d d dtj jtj djdd}|j ddd d d tj|djdjdd d fddd}|j d d ddS)NuKettős illesztésrrr3)r4r5r6r)rr rr!)r"r#r$r%uKettős illesztés:r&)rr'rr(r))r$r%T)rrr rZSplinecs jdS)NZspline) do_dualfitr)rrrr/fsz-DisplayWindow.dualfitwindow..)rr'rr+r(r)r,FuExponenciáliscs jdS)Nr )rr)rrrr/qsru Kihagyáscs jdS)NZomit)rr)rrrr/|s)r dualfitwindowr7r9r:r;rLrMr8r<r>r?r@r=rCrArDrE)rrOrPrQr)rrrIsJ   ,,,zDisplayWindow.dualfitwindowcCs0tj|j||j|jr$|j|j|jdS)N)rcZdualfitrJ dualfitlimitautoshowrU parentfunc)rmethodrrrrs zDisplayWindow.do_dualfitcCsRd|_||_||_|jjr"|j|_tj|_d|_ |j rFt j t |jd|jdS)NruElőszakasz illesztéser )numberofrangesrfinishfunctionrJrerrcZfitbase evaltargetrangewindowtitler\rSautozoomrrangeSelectorMainWindow)rparentrrrr_sz$DisplayWindow.selecteloszakaszwindowcCsDd|_||_|j|_tj|_d|_|jr8t j t |j d|j dS)NruUtószakasz illesztéser )rrrrrcZfitexprrr\rSrrrJr)rrrrrr`sz$DisplayWindow.selectutoszakaszwindowcCsd|_||_||_tj|_d|_|jr6tj t |j d|j j r|j |j|j|jd|j j |j|j<|j j |j|j<|jn|jdS)NruIntegrál számításaintr)rrrrcZ integraterrr\rSrrrJt_beejtrrresetRangeSelectorDataraBoundsrrupdateRangeSelectorMainWindow)rrrrrrhs   z"DisplayWindow.selectintegralwindowcCsd|_||_|j|_tj|_d|_|jr8t j t |j d|j j r|j|j|j|jd|j j |j|j<|j j |j|j<|jn|jdS)Nr*uIntegrál számításarr)rrdrawSIrrcZserialintegrateOptimizedrrr\rSrrrJrrrrrrrrr)rrrrrris   zDisplayWindow.selectSIwindowcCs<tjtj||tjdtjdtjd|dS)NuIntegrál felső határa (s)z$C_{m}$ $(J/K)$u%Variált felső határú integrálás)rrrrrr;)ruplimscmsr,rrrrs     zDisplayWindow.drawSIcCs(tj|j|jr|j|j|dS)N)rcZgetTsOptimizedrJrrU)rrrrrras  zDisplayWindow.calculateTscCsBd|_||_||_tj|_d|_|jr6tj t |j d|j dS)NruFőszakasz illesztéser ) rrrrcZfitmaincorrectedrrr\rSrrrJr)rrrrrrbsz#DisplayWindow.selectfoszakaszwindowcCs<|j|||_|js*|jjjd|j|_d|_|jdS)NZbutton_press_eventT) r boundstargetbCRiggedrjrkronclickcid rig_arrows)rZtargetfrrrr rig_for_inputs  zDisplayWindow.rig_for_inputcCs$|js|jjjd|j|_d|_dS)NZkey_press_eventT)bKRiggedrjrkron_presskid)rrrrrszDisplayWindow.rig_arrowscCs`|j|||_|j||_d|j|<|j||j|<d|j|<d|_|j|jd|j dS)NFT) rrr modifybufferrr bModifyingrUrJr)rZ new_targetfrrrrmodifyRangeSelects    zDisplayWindow.modifyRangeSelectcCs@|j|j|j<d|j|j<|j|j|j<d|_d|_|jdS)NFrr})rrrrrrr)rrrr cancelModifys  zDisplayWindow.cancelModifycCs>d|_d|_dddg|_dddg|_|j|j|j|dS)NF)rrrrrUrJbackfromrangeselect)rrrrrcancelrangeselect s    zDisplayWindow.cancelrangeselectcCs|j|dS)N) stop_input)rrrrrrsz!DisplayWindow.backfromrangeselectcCs<|jr|jjj|j|jr,|jjj|jd|_d|_dS)NF)rrjrkrlrrr)rrrrrs zDisplayWindow.stop_inputcCs|js|jdkr|jdkr@|jdr@|jd|jkr@tddS|jdkr|jd|jkrftddS|jdr|jd|jkrtddS|jdkr|jd|jkrtddSd|_|j|j|j|j<|j|j|j<d|j |j<|j dSdS)Nrrru0A magas határ nem lehet kisebb az alacsonynál!Fu:A felső magas határ nem lehet kisebb az alacsonyabbnál!T) ZdblclickZbuttonrrZxdatarWrrrrr)rrnrrrr s2    zDisplayWindow.onclickcCsZ|jr dS|jdkrR|j|jdrR|jdkrR|j|jd|j|jdkrRdS|jdkr|j|jdr|jdkr|j|jd|j|jdkrdS|jdkrx|j|jd7<|j|jd7<|j|jdddd g}tj|j tj d||jd }|j |jdd d d d |j dkr(dnddg}tj |||jtt|j|jd||jddd}|jd d ddS|jdkrV|j|jd8<|j|jd8<|j|jdddd g}tj|j tj d||jd }|j |jdd d d d |j dkrdnddg}tj |||jtt|j|jd||jddd}|jd d ddSdS)NFrrg?rTz#FF00FFz#FF1493z#4B0082)rrr rr!)r"r#r$r%uAlsó határ: ruFelső határ: uFelső határ 1: uFelső határ 2: r&)rr'rr(r))r$r%)rrrkeyrrUrJr8r<r7r=r>rr?strroundr@)rrnrrPZtextsrQrrrrDsN**  6  6zDisplayWindow.on_presscCs:d|_d|_d|_dddg|_dddg|_dddg|_dS)NF)rrrrrr)rrrrr|s   z$DisplayWindow.resetRangeSelectorDatacCs |j|j|j|jdS)N)rrrr)rrrrrs z%DisplayWindow.rangeSelectorMainWindowc sxjjD] }|jq Wjjjjjddddjjddddtjjtj dj dd}|j ddddd tj |d j djdd d fd d d}|jdddjdstjjtj dj dd}|j ddddd tj|dj dd d d}t|d}|jdddjjdjrjtjjtj dj dd}|j ddddd tj |djj djdd d d}|jdddntjjtj ddd}|j ddddd tj|dttjdddd d d}|jdddjsjtjjtj dj dd}|j ddddd tj |dj djdd d fdd d}|jdddjd r`jdr`tjjtj dj dd}|j ddddd tj|dj dd d d}t|d}|jdddjjdjr^tjjtj dj dd}|j ddddd tj |dj djdd d jd}|jdddnjdr^tjjtj ddd}|j ddddd tj|jdkrdttjddndttjdddd d d}|jdddjs^tjjtj dj dd}|j ddddd tj |dj djdd d fd d d}|jdddjd r^jdr^jd!kr^tjjtj dj dd}|j ddddd tj|d"j dd d d}t|d}|jdddjjdjr8tjjtj dj dd}|j ddddd tj |dj djdd d jd}|jdddnڈjdr8tjjtj dd#d}|j ddddd tj|d$ttjddd#d d d}|jdddjs8tjjtj dj dd}|j ddddd tj |dj djdd d fd%d d}|jdddtjjtj dd&d}|j dd!ddd tj |d'd(d d d)fd*d d+}|jdddt|d,}j rFjddksΈjddkrFjdkrFtjjtj dj dd}|j d!dddd tj |jj djdd d jd}|jdddjjjjjdddd!gdddjjdddd!gdddjjdd-d.djjdd/dS)0Nrrr3)r4r5r6F)rrr rr!)r"r#r$r%rYr&cs jjS)N)rrr)rrrr/sz=DisplayWindow.updateRangeSelectorMainWindow..)rr'rr+r(r)r,)r$r%Tu"Alsó határ: <ábrán dupla katt>)rr'rr(r)uaElfogad középső egérgombbal való kattintást is Határ lerakása után nyilakkal mozgathatóru(Mégse módosít))rr'r,rr+r(r)z#FF00FFuAlsó határ: ru (Módosít)csjjdS)Nr)rrr)rrrr/su#Felső határ: <ábrán dupla katt>z#FF1493uFelső határ: uFelső határ 1: csjjdS)Nr)rrr)rrrr/sr*u%Felső határ 2: <ábrán dupla katt>z#4B0082uFelső határ 2: csjjdS)Nr)rrr)rrrr/)sz#000080z Zoom resetz#0000CDz#006ec5cs jjS)N)rUrJr)rrrr/4s)rr'rr(r)r+r,u)Nagyítás alapértelmezettbe állításar2)r)r7r9r:r;rrLrMr8r<r=rCr>rArDrEr@rr?rrrrrrrrrangeSelectorFinishrrrUrJ)rrOrPrQrRr)rrrs, ,  &(, & L,& & (,  6( z+DisplayWindow.updateRangeSelectorMainWindowcCs|jdddg|_dddg|_|jdkr\|j|j|jd|jd|j|j|jnL|j|j|jd|jd|jd\}}|j|j|r|r|j|||j dS)NFrrr) rrrrrrJrrUrr)rrrrrrrQs     ( z!DisplayWindow.rangeSelectorFinishr}r}r})T)T)F)K__name__ __module__ __qualname__r7rrrKrJrrjrrrrrrmrrrrrrrrrrrrrr>rZrrr\rrrrr r-rCrDrErBr[r]r.r1r0rNrorUrVrrr_r`rhrirrarbrrrrrrrrrrrrrrrrrrs  t ; $ c9     $8 Hr)rGZtkinterr8rSZmatplotlib.pyplotZpyplotrZionrcParamsremoveZnumpyrrcZ FHtooltiprrrrrrs