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 dZdZdZdZdZdZdZgZdddgZdddgZd`ZdaZdbZdZdZdZdZdZdZ dZ!iZ"de"d <d e"d <d e"d <de"d<de"d<ddZ#ddZ$ddZ%ddZ&ddZ'ddZ(ddZ)d d!Z*dcd"d#Z+d$d%Z,d&d'Z-d(d)Z.d*d+Z/ddd,d-Z0d.d/Z1d0d1Z2ded2d3Z3d4d5Z4d6d7Z5d8d9Z6d:d;Z7dd?Z9d@dAZ:dBdCZ;dDdEZdJdKZ?dLdMZ@dNdOZAdPdQZBdRdSZCdTdUZDdVdWZEdXdYZFdZd[ZGd\d]ZHd^d_ZIdS)f 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.0)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_closingmainloop)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,rPrQrRZtemprrrr-s&   zDisplayWindow.newfilewindowcCs |rdSdS)Nz#004200z#3b3b3er)r conditionrrrrCszDisplayWindow.framecolorcCs |rdSdS)Nz#006400z#3b3b3er)rrYrrrrDszDisplayWindow.buttoncolorcCs |rdSdS)Nz#008b20z#47474ar)rrYrrrrEszDisplayWindow.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}|jjdS)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 bAutoZoomtoggleAutoZoomrO)r bPushcallrPrQrRrSrrrrBsB    4 6 zDisplayWindow.optionswindowcCs&|j |_|j|j|jdddS)NF)r_)r[rVrJrB)rrrrr\ s  zDisplayWindow.toggleLegendcCs|j |_|jdddS)NF)r_)r]rB)rrrrr^&s zDisplayWindow.toggleAutoZoomc sNjjj_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 gdd7d6jjdS)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%rZz#8B008Br&z#a841b0)rr'rr(r)r+r,)r$r%uVissza a főmenübez#000080r*u Ábrázolz#0000CDz#006ec5cs jjS)N)rVrJr)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.rKrJrXrrWr7r9r:r;r8r<r=r>rAr r@rrBrCbBaserDrEbExpr?bTsbMainCorrectedrLrMrO)rrPrQrRrSr)rrr.*s        F  \  N  \  6 zDisplayWindow.calibwindowc srjjj_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 djjdS)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%rZz#8B008Br&z#a841b0)rr'rr(r)r+r,)r$r%uVissza a főmenübez#000080r*u Ábrázolz#0000CDz#006ec5cs jjS)N)rVrJr)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)rar1r)rrrr/sz#3b3b3e)rr'rr(r)uUtószakasz illesztéseru(3) Korrigált hőmérséklet számolásacs jjS)N)rbr1r)rrrr/ su*Korrigált hőmérséklet felintegrálásau4) Főszakasz illesztéseu4) Főszakasz módosításacs jjS)N)rcr1r)rrrr/suFőszakasz illesztéser2u5) Hőkapacitás számolásacs tjjS)N)rdZrafutrJr)rrrr/'suHőkapacitás kiszámolása)rr1rKrJrXrrWr7r9r:r;rLrMr8r<r=r>rAr r@rrBrCrerDrErfr?rgrhrO)rrPrQrRrSr)rrr1s        F  \  N  \  6 zDisplayWindow.futeswindowc s jjj_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 gdd6d5jjdS)7Nz6Error : No active measurementuBeejtés kiértékeléseuFajhő mérése beejtésselZ beejtes_abrarz#800080)rrr rrr!)r"r#r$r%rZz#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)rVrJr)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)rar0r)rrrr/{sz#3b3b3e)rr'rr(r)uUtószakasz illesztéseru(3) Korrigált hőmérséklet számolásacs jjS)N)rbr0r)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)rr0rKrJrXrr7r9r:r;rWr8r<r=r>rAr r@rrBrCrerDrErfr?rgrLrMrO)rrWrPrQrRrSr)rrr06s        F  \  N  6  6 zDisplayWindow.beejteswindowc Cs>|jdkr:|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 d|jjdS)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%rZ)rrr7r9r:r;rLrMr8r<r=r>rArFrEr@rrO)rrPrQrRrrrrNs4     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)colorrRzt (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_endappendrTflinbase_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)rqrsz#FF00FFz#FF1493z#4B0082g?)xrqZalpharsZgreygQ?F)Zblockrr)rrrr)rr)?rJrXrkpltrl mpl_connectrprnZgcalinesclearclfplotr}ycolorsxlabelylabelZget_ylimZget_xlimr>npZlinspacereZbBaseExprTZfexpZ baseexp_AZ baseexp_bZ baseexp_cZ bBaseSplinervrwrxrgZTsZbMainZmain_aZmain_brhZbMainExpZ mainexp_startZ mainexp_endZ mainexp_AZ mainexp_bZ mainexp_crfZexp_AZexp_brzrangelenrangeSelectorGuideLinesZaxvlinerangeSelectorGhosts scaletodataZxlimZylimr[Zlegendr;figtitlerV) rr{ bKeepZoomZ auto_ylimZ auto_xlimZxsr|Zxs2rir)r{rrVsf     , & 2**$       zDisplayWindow.showcCs&||_|j|j|jjjj|dS)N)rrVrJrkrlZmanagerZset_window_title)rr;ZwintitlerrrrWBs 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 djjdS)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,uExponenciáliscs jdS)Nr )rr)rrrr/qsFru Kihagyáscs jdS)NZomit)rr)rrrr/|s)r dualfitwindowr7r9r:r;rLrMr8r<r>r?r@r=rCrArDrErO)rrPrQrRr)rrrIsL   ,,,zDisplayWindow.dualfitwindowcCs0tj|j||j|jr$|j|j|jdS)N)rdZdualfitrJ dualfitlimitautoshowrV parentfunc)rmethodrrrrs zDisplayWindow.do_dualfitcCsRd|_||_||_|jjr"|j|_tj|_d|_ |j rFt j t |jd|jdS)NruElőszakasz illesztéser )numberofrangesrfinishfunctionrJrfrrdZfitbase evaltargetrangewindowtitler]rTautozoomrrangeSelectorMainWindow)rparentrrrr`sz$DisplayWindow.selecteloszakaszwindowcCsDd|_||_|j|_tj|_d|_|jr8t j t |j d|j dS)NruUtószakasz illesztéser )rrrrrdZfitexprrr]rTrrrJr)rrrrrrasz$DisplayWindow.selectutoszakaszwindowcCsBd|_||_||_tj|_d|_|jr6tj t |j d|j dS)NruIntegrál számításaint) rrrrdZ integraterrr]rTrrrJr)rrrrrrisz"DisplayWindow.selectintegralwindowcCsDd|_||_|j|_tj|_d|_|jr8t j t |j d|j dS)Nr*uIntegrál számításar)rrdrawSIrrdZserialintegrateOptimizedrrr]rTrrrJr)rrrrrrjszDisplayWindow.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)rdZgetTsOptimizedrJrrV)rrrrrrbs  zDisplayWindow.calculateTscCsBd|_||_||_tj|_d|_|jr6tj t |j d|j dS)NruFőszakasz illesztéser ) rrrrdZfitmaincorrectedrrr]rTrrrJr)rrrrrrcsz#DisplayWindow.selectfoszakaszwindowcCs<|j|||_|js*|jjjd|j|_d|_|jdS)NZbutton_press_eventT) r boundstargetbCRiggedrkrlronclickcid rig_arrows)rZtargetfrrrr rig_for_inputs  zDisplayWindow.rig_for_inputcCs$|js|jjjd|j|_d|_dS)NZkey_press_eventT)bKRiggedrkrlron_presskid)rrrrrszDisplayWindow.rig_arrowscCs`|j|||_|j||_d|j|<|j||j|<d|j|<d|_|j|jd|j dS)NFT) rraBounds modifybufferrr bModifyingrVrJupdateRangeSelectorMainWindow)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)rrrrrVrJbackfromrangeselect)rrrrrcancelrangeselects    zDisplayWindow.cancelrangeselectcCs|j|dS)N) stop_input)rrrrrrsz!DisplayWindow.backfromrangeselectcCs<|jr|jjj|j|jr,|jjj|jd|_d|_dS)NF)rrkrlrmrrr)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) ZdblclickZbuttonrrZxdatarXrrrrr)rrorrrr 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%)rrrkeyrrVrJr8r<r7r=r>rr?strroundr@)rrorrQZtextsrRrrrr1sN**  6  6zDisplayWindow.on_presscCsN|j|jd|_d|_d|_dddg|_dddg|_dddg|_|jdS)NF) rrrrrrrrr)rrrrrjs    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/jjdS)0Nrrr3)r4r5r6F)rrr rr!)r"r#r$r%rZr&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)rVrJr)rrrr/s)rr'rr(r)r+r,u)Nagyítás alapértelmezettbe állításar2)r) r7r9r:r;rrLrMr8r<r=rCr>rArDrEr@rr?rrrrrrrrrangeSelectorFinishrrrVrJrO)rrPrQrRrSr)rrrus. ,  &(, & 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) rrrrrrJrrVrr)rrrrrrr<s     ( z!DisplayWindow.rangeSelectorFinishr~r~r~)T)T)F)J__name__ __module__ __qualname__r7rrrKrJrrkrrrrrrnrrrrrrrrrrrrrr>r[rrr]rrrrr r-rCrDrErBr\r^r.r1r0rNrprVrWrrr`rarirjrrbrcrrrrrrrrrrrrrrrrrs  t ; $ c9       $9 Hr)rGZtkinterr8rTZmatplotlib.pyplotZpyplotrZionrcParamsremoveZnumpyrrdZ FHtooltiprrrrrrs