dc@sddlZddlZddlZddljZejdejdss ( tbuttontNonet tipwindowtidtxtytbindtentert_id1tleavet_id2t_id3(tselfR((s(/home/armin/python/fajho2.0/FHdisplay.pyt__init__s   cCs|jdS(N(tschedule(Rtevent((s(/home/armin/python/fajho2.0/FHdisplay.pyR scCs|j|jdS(N(t unschedulethidetip(RR((s(/home/armin/python/fajho2.0/FHdisplay.pyR s cCs)|j|jjd|j|_dS(Ni(RRtaftertshowtipR(R((s(/home/armin/python/fajho2.0/FHdisplay.pyRs cCs/|j}d|_|r+|jj|ndS(N(RRRt after_cancel(RR((s(/home/armin/python/fajho2.0/FHdisplay.pyR#s  cCs|jr dS|jjd}|jj|jjd}tj|j|_}|jd|jd||f|j dS(Niis+%d+%d( RRt winfo_rootxt winfo_rootyt winfo_heightttktTopleveltwm_overrideredirectt wm_geometryt showcontents(RRRttw((s(/home/armin/python/fajho2.0/FHdisplay.pyR)s   sYour text herec CsDtj|jd|dtjdddtjdd}|jdS(Nttexttjustifyt backgrounds#ffffe0trelieft borderwidthi(RtLabelRtLEFTtSOLIDtpack(RR tlabel((s(/home/armin/python/fajho2.0/FHdisplay.pyR7scCs)|j}d|_|r%|jndS(N(RRtdestroy(RR((s(/home/armin/python/fajho2.0/FHdisplay.pyR=s  N( t__name__t __module__RRR R RRRRR(((s(/home/armin/python/fajho2.0/FHdisplay.pyR s      tToolTipcBseZdZdZRS(cCstj||||_dS(N(RRR (RRR ((s(/home/armin/python/fajho2.0/FHdisplay.pyRFscCstj||jdS(N(RRR (R((s(/home/armin/python/fajho2.0/FHdisplay.pyRJs(R+R,RR(((s(/home/armin/python/fajho2.0/FHdisplay.pyR-Ds tListboxToolTipcBseZdZdZRS(cCstj||||_dS(N(RRtitems(RRR/((s(/home/armin/python/fajho2.0/FHdisplay.pyRPscCsMtj|jdd}|jx$|jD]}|jtj|q,WdS(NR"s#ffffe0(RtListboxRR(R/tinserttEND(Rtlistboxtitem((s(/home/armin/python/fajho2.0/FHdisplay.pyRTs (R+R,RR(((s(/home/armin/python/fajho2.0/FHdisplay.pyR.Ns t DisplayWindowcBseZd-Zd-Zd-Zd-ZdZd-Zd-Z d-Z d-Z d-Z d-Z d-Zd-ZdZgZeZdZeZdZdZdZeZeZeZeZiZdedR6iitweighttminsizeiKi2tWM_DELETE_WINDOW(iiii(RGRBtwindowRRtTktgeometrytwinfo_childrenR*ttitletFrametRAISEDtgridtButtontnewfileR(R.t calibwindowt beejteswindowt futeswindowtcolumnconfiguret rowconfiguretprotocolt on_closingtmainloop(RRAtwidgetttextstframeR)t label_ttp((Rs(/home/armin/python/fajho2.0/FHdisplay.pyRBsl    "!    "'    "!    "!    "!++ cCsBtj}|r>||_|j|j|jddndS(NR6sFigure 1(tFHutiltnewRQRPt setfigtitle(Rttemp((s(/home/armin/python/fajho2.0/FHdisplay.pyR_s   c s.jjjs+dGHjnjddx!jjD]}|jqKWjjdt j djdt j dd}|j d d d d d d dd t j d|dddj}|jd d dd t|ddg}t j djdt j dd}|j d d d dd d dd t j d|dddfd}|jd d dd t|ddg}t j djdt j dd}|j d d d dd d dd t j d|djjsdnddfd}|jd d dd t|ddg}t j djdt j dd}|j d dd dd d dd t j d|djjsdnddfd}|jd d dd t|ddg}t j djdt j dd}|j d dd dd d dd t j d|dddj}|jd d dd t|ddg}t j djdt j dd}|j d dd dd d dd t j d|djjsdnd dfd!}|jd d dd t|ddg}t j djdt j dd}|j d d"d dd d dd t j d|dd#dfd$}|jd d dd t|ddg}jjd dddd"d gd%dd&d'jjd dddd"d gd%dd&d(jjdS()Ns4Error : No active measurementsVízérték méréset vizertek_abrasVízérték kiértékeléseRHR#R$iRIiRJRKiRLR tVisszaRMRNROis ÁbrázolcsjjS(N(RPRQ((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRR R6s1) Előszakasz illesztéses1) Előszakasz módosításacsjjS(N(tselecteloszakaszwindowR`((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6s2) Utószakasz illesztéses2) Utószakasz módosításacsjjS(N(tselectutoszakaszwindowR`((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRR R6is(3) Korrigált hőmérséklet számolásas4) Főszakasz illesztéses4) Főszakasz módosításacsjjS(N(tselectfoszakaszwindowR`((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRR6R6is5) Cp, alfa számolásacstjjS(N(tFHevaltcalibRQ((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRAR6RSRTiKi2(RGR`RQRERnRVRYR*RZRR[R\R]R^RBR(R.tbBasetbExpt calculateTstbMainCorrectedRcRdRg(RRhRjR)Rk((Rs(/home/armin/python/fajho2.0/FHdisplay.pyR`s      "!    "'    "9    "9    "!    "9    "'..c sxjjjs+dGHjnjddx!jjD]}|jqKWjjdddddg}jj d d d d d jj d d d d dt j djdt j dd }|jdd dd ddddt jd|dddj}|jddddt|ddg}t j djdt j dd }|jdd ddddddt jd|dddfd}|jddddt|ddg}t j djdt j dd }|jdd dd ddddt jd|djjsJdnddfd }|jddddt|ddg}t j djdt j dd }|jdd dd ddddt jd|djjsdnd!dfd"}|jddddt|ddg}t j djdt j dd }|jdd#dd ddddt jd|dd$dj}|jddddt|ddg}t j djdt j dd }|jdddd ddddt jd|djjs0dnd%dfd&}|jddddt|ddg}t j djdt j dd }|jdd'dd ddddt jd|dd(dfd)}|jddddt|ddg}jj d d d#dd'dgd d d d jj d d d#dd'dgd d d djjdS(*Ns4Error : No active measurementsFajhő mérése ráfűtésselt rafutes_abrasRáfűtés kiértékeléses1) Előszakasz illesztéses2) Utószakasz illesztéses3) Korrigált hőmérséklets4) Főszakasz illesztéseiRSiRTiKi2RHR#R$RIRJRKiRLR RqRMRNROis ÁbrázolcsjjS(N(RPRQ((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRvR6s1) Előszakasz módosításacsjjS(N(RrRb((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6s2) Utószakasz módosításacsjjS(N(RsRb((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6is(3) Korrigált hőmérséklet számolásas4) Főszakasz módosításacsjjS(N(RtRb((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6is5) Hőkapacitás számolásacstjjS(N(RutrafutRQ((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6(RGRbRQRERnRVRYR*RZRcRdRR[R\R]R^RBR(R.RwRxRyRzRg(RRhRiRjR)Rk((Rs(/home/armin/python/fajho2.0/FHdisplay.pyRbNs      "!    "'    "9    "9    "!    "9    "'..c s%jjjs+dGHjnx!jjD]}|jq;Wjjd|rxjddnt j djdt j dd}|j d d d d d d dd t j d|dddj}|jd d dd t|ddg}t j djdt j dd}|j d d d dd d dd t j d|dddfd}|jd d dd t|ddg}t j djdt j dd}|j d d d dd d dd t j d|djjs dnddfd}|jd d dd t|ddg}t j djdt j dd}|j d dd dd d dd t j d|djjsdnddfd}|jd d dd t|ddg}t j djdt j dd}|j d dd dd d dd t j d|dddj}|jd d dd t|ddg}t j djdt j dd}|j d dd dd d dd t j d|dddfd }|jd d dd t|ddg}t j djdt j dd}|j d d!d dd d dd t j d|dd"dfd#}|jd d dd t|ddg}jjd dddd!d gd$dd%d&jjd dddd!d gd$dd%d'jjdS((Ns6Error : No active measurementsBeejtés kiértékelésesFajhő mérése beejtésselt beejtes_abraRHR#R$iRIiRJRKiRLR RqRMRNROis ÁbrázolcsjjS(N(RPRQ((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6s1) Előszakasz illesztéses1) Előszakasz módosításacsjjS(N(RrRa((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6s2) Utószakasz illesztéses2) Utószakasz módosításacsjjS(N(RsRa((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6is(3) Korrigált hőmérséklet számolásas4) IntegráláscsjjS(N(tselectintegralwindowRa((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6is!5) Variált határú integráláscsjfdS(Ncs jtS(N(RatFalse((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6(tselectSIwindow((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6RSRTiKi2(RGRaRQRERVRYR*RZRnRR[R\R]R^RBR(R.RwRxRyRcRdRg(RRnRhRjR)Rk((Rs(/home/armin/python/fajho2.0/FHdisplay.pyRas      "!    "'    "9    "9    "!    "'    "'..c Cs|jdkr|jdx!|jjD]}|jq,W|jjd|jjddddd|jjdddddt j d|jd t j d d}|j d dd dd dddt j d|dddt}|jd ddd|jjddddd|jjdddddt j d|jd t j d d}|j d dd dd dddt j d|ddd|j}|jd ddd|jjndS(NsBiztos ki akarsz lépni?iRSiRTiKi2RHR#R$RIRJRKiRLR s KilépésRMRq(RDRRGRVRYR*RZRcRdRR[R\R]R^tquitR(RERg(RRhRjR)((s(/home/armin/python/fajho2.0/FHdisplay.pyRfs0     "    "!cCs#|jjj|jd|_dS(N(tfiguretcanvastmpl_disconnecttccloseidR(RR((s(/home/armin/python/fajho2.0/FHdisplay.pyton_figure_close=sc s|jsdGHdS|jsKtj|_|jjjd|j|_ntjj}tjj }tj tj j j d|jdddtjdtjdtjj }tjj}|jrtjd d d ntjj d j d d}jrjrutj |tj|jjjd|jdddqjrfd}tj |||d|jdddqtj |tj|jjd|jdddnjr;tj j j d|jdddtjj }nj!rtj |tj|j"j#d|jddj$rdndnj%rtjj&j'd} tj | tj| j(j)j*d|jdddnj+rrtj |tj|j,j-j.d|jdddtj |tj|d j.d|jdd d n|j/r|j/dkrtj0d|j1ddddd d d%fn|j/dkrtj0d|j1dd!dd"d d d&fn|j2r;|j2dkr;tj0d|j3ddddd d d'fn|j2dkrxtj0d|j3dd!dd#d d d(fn|j4rtj5n|j6rtj7|tj8|ntj9|j:|rtjj;|tjj<|ntj=d$t>dS()Ns(Error : No selected datat close_eventtcolorR9R)sKaloriméter hőmérsékletst (s)sT $(^{\circ}C)$ttruet linestyles--iiidR;s#Előszakasz illesztés (exp. korr.)csg}x|D]x}|jkrG|jtj|jjq |jkru|jtj|q |jj q W|S(N( tbase_endtappendRltflintbase_atbase_bt exp_starttfloatt basesplinetexp_c(tx_arrtret_ytx_i(tmeas(s(/home/armin/python/fajho2.0/FHdisplay.pytgetcomplexbasebs %sElőszakasz illesztéssT*sKorrigált hőmérsékletR=sFőszakasz illesztés (korr.)sFőszakasz illesztéssExp. főszakasz illesztésR?sUtószakasz illesztéstghostRtmagentatalphag?itgreygQ?g?tblock(ii(ii(ii(ii(?RQRtpltRt mpl_connectRRtgcatget_xlimtget_ylimtclftplotRRtcolorstxlabeltylabelR]tnptlinspaceRwtbBaseExpRltfexpt baseexp_At baseexp_bt baseexp_ct bBaseSplineRRRtbTstTstbMaintmain_atmain_bRztbMainExpt mainexp_startt mainexp_endt mainexp_At mainexp_bt mainexp_cRxtexp_Atexp_bRtbDrawRangeSelectorGuideLinetaxvlinetrangeSelectorGuideLinextbDrawRangeSelector2GuideLinetrangeSelector2GuideLinextbLegendtlegendt scaletodatatxlimtylimRZtfigtitletset_xlimtset_ylimRPR( RRt bKeepZoomt current_xlimt current_ylimt auto_ylimt auto_xlimtxsRtxs2((Rs(/home/armin/python/fajho2.0/FHdisplay.pyRPBsl  ! )   #  A  ,; ) J A >8....    cCs3||_|jjjj||j|jdS(N(RRRtmanagertset_window_titleRPRQ(RRZtwintitle((s(/home/armin/python/fajho2.0/FHdisplay.pyRns c s{jjx!jjD]}|jq Wjjdjjdddddjjdddddtj djd d}|j d dd dd d dd tj d|dd}|j d d dd tj djdtj d d}|j d dd dd d dd tjd|dddfd}|j d d dd tj djdtj d d}|j d dd dd d dd tjd|dddfd}|j d d dd tj djdtj d d}|j d dd dd d dd tjd|dddj}|j d d dd jjdS(NsKettős illesztésiRSiRTiKi2RHR$RIRJRKiRLR sKettős illesztés:R#tSplineRMcs jdS(Ntspline(t do_dualfit((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6sExponenciáliscs jdS(NR?(R((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6is Kihagyás(RGt dualfitwindowRVRYR*RZRcRdRR[R]R%R(R\R^t parentfuncRg(RRhRjR)((Rs(/home/armin/python/fajho2.0/FHdisplay.pyRsD   "    "'    "'    "!cCsCtj|j||j|jr5|j|jn|jdS(N(RutdualfitRQt dualfitlimittautoshowRPR(Rtmethod((s(/home/armin/python/fajho2.0/FHdisplay.pyRs cCsYd|_||_||_|jjr6|j|_ntj|_d|_ |j dS(NisElőszakasz illesztése( tnumberofrangesRtfinishfunctionRQRxRRutfitbaset evaltargettrangewindowtitletrangeSelectorMainWindow(Rtparent((s(/home/armin/python/fajho2.0/FHdisplay.pyRrs      cCsAd|_||_|j|_tj|_d|_|jdS(NisUtószakasz illesztése( RRRRRutfitexpRRR(RR((s(/home/armin/python/fajho2.0/FHdisplay.pyRss      cCs>d|_||_||_tj|_d|_|jdS(NisIntegrál számítása(RRRRut integrateRRR(RR((s(/home/armin/python/fajho2.0/FHdisplay.pyR~s      cCsAd|_||_|j|_tj|_d|_|jdS(NisIntegrál számítása( RRtdrawSIRRutserialintegrateOptimizedRRR(RR((s(/home/armin/python/fajho2.0/FHdisplay.pyRs      cCsLtjtj||tjdtjdtjd|dS(NsIntegrál felső határa (s)s$C_{m}$ $(J/K)$s%Variált felső határú integrálás(RRRRRRZ(RtuplimstcmsRM((s(/home/armin/python/fajho2.0/FHdisplay.pyRs     cCs0tj|j|jr,|j|jndS(N(RutgetTsOptimizedRQRRP(R((s(/home/armin/python/fajho2.0/FHdisplay.pyRy s cCs>d|_||_||_tj|_d|_|jdS(NisFőszakasz illesztése(RRRRutfitmaincorrectedRRR(RR((s(/home/armin/python/fajho2.0/FHdisplay.pyRts      c sjjx!jjD]}|jq Wjjjjjdddddjjdddddt j djdt j d d}|j d dd dd d dd t j d|dddfd}|jd d dd t j djdt j d d}|j d dd dd d dd t jd|dd}|jd d dd ttjGHt_tjdkrd_njjdtg_jjjjdS(NiRSiRTiKi2RHR#R$RIRJRKiRLR RqRMcsjjS(N(tcancelrangeselectR((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRR,R6s,Alsó határ: RR(RGRRVRYR*RZRRcRdRR[R\R]R^R(R%tstrtlentaBoundsRRRPRQRCt rig_for_inputtrangeSelectorSecondRangeWindowRg(RRhRjR)((Rs(/home/armin/python/fajho2.0/FHdisplay.pyRs8    "'    "   cCsI|jjjd|j|_|jjjd|j|_||_dS(Ntbutton_press_eventtkey_press_event(RRRtonclicktcidton_presstkidt boundstarget(Rttargetf((s(/home/armin/python/fajho2.0/FHdisplay.pyREscCs<d|_d|_t|_|j|j|j|dS(N(RRRRRRPRQtbackfromrangeselect(RRF((s(/home/armin/python/fajho2.0/FHdisplay.pyRJs    cCs|j|dS(N(t stop_input(RRF((s(/home/armin/python/fajho2.0/FHdisplay.pyRQs cCs0|jjj|j|jjj|jdS(N(RRRRR(R((s(/home/armin/python/fajho2.0/FHdisplay.pyRUscCs_|js|jdkr[|jjj|j|jj|j|j |j|j t St S(Ni( tdblclickRRRRRRRtxdataRtydataRCR(RR((s(/home/armin/python/fajho2.0/FHdisplay.pyRYs cCsdt|jGH|jdkrMdGH|jdcd7<|j|jtS|jdkrdGH|jdcd8<|j|jtStS(Nsdoing ittK_RIGHTs doing it rig?tK_LEFTs doing it l(RtkeyRRPRQRCR(RR((s(/home/armin/python/fajho2.0/FHdisplay.pyResc s x!jjD]}|jqWjjjjjdddddjjdddddtjdjdtj d d}|j d dd dd d dd tj d|dddfd}|j d d dd t |ddg}tjdjdtj d d}|j d dd dd d dd tjd|ddtjd}|j d d dd tjdjdtj d d}|j d dd dd d dd tj d|dddfd}|j d d dd t |ddg}tjdjdtj d d}|j d dd dd d dd tjd|dd}|j d d dd t_jd_jrjjdtnjjdkrjnjjjdS(NiRSiRTiKi2RHR#R$RIRJRKiRLR RqRMcsjjS(N(RR((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6RNROsAlsó határ: is (Módosít)csjjS(N(RR((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6s-Felső határ: R(RVRYR*RZRRcRdRR[R\R]R^R(R.R%RRRCRRRRPRQRRtrangeSelector2FinishtrangeSelectorThirdRangeWindowRg(RRRRhRjR)Rk((Rs(/home/armin/python/fajho2.0/FHdisplay.pyRwsR    "'    ")    "'    "  (cCs`t|_t|_|j|j|jd|jd|jrR|j|jn|jdS(Nii( RRRRRQRRRPR(RRR((s(/home/armin/python/fajho2.0/FHdisplay.pyRs   $ c sx!jjD]}|jqWjjjjjdddddjjdddddtjdjdtj d d}|j d dd dd d dd tj d|dddfd}|j d d dd t |ddg}tjdjdtj d d}|j d dd dd d dd tjd|ddtjd}|j d d dd tjdjdtj d d}|j d dd dd d dd tj d|dddfd}|j d d dd t |ddg}tjdjdtj d d}|j d dd dd d dd tjd|ddtjd}|j d d dd tjdjdtj d d}|j d dd dd d dd tj d|dddfd}|j d d dd t |ddg}tjdjdtj d d}|j d dd dd d dd tjd|dd}|j d d dd t_jd_jrjjdtnjjjjdS(NiRSiRTiKi2RHR#R$RIRJRKiRLR RqRMcsjjS(N(RR((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6RNROsAlsó határ: is (Módosít)csjjS(N(RR((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6sFelső határ 1: csjfdS(NcsjddS(Ni(R((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6(R((R(s(/home/armin/python/fajho2.0/FHdisplay.pyRRR6s/Felső határ 2: R(RVRYR*RZRRcRdRR[R\R]R^R(R.R%RRRCRRRRPRQRtrangeSelector3FinishRg(RRRRhRjR)Rk((Rs(/home/armin/python/fajho2.0/FHdisplay.pyRsp    "'    ")    "'    ")    "'    "  cCs~t|_t|_|j|j|jd|jd|jd\}}|jrd|j|jn|j|||j dS(Niii( RRRRRQRRRPRR(RRRRR((s(/home/armin/python/fajho2.0/FHdisplay.pyRs   6 N(>R+R,RRVRDRERQRRRRRRRRRRRRRRRRRRRCR]RRRRRRGRBR_R`RbRaRfRRPRnRRRrRsR~RRRyRtRRRRRRRRRRR(((s(/home/armin/python/fajho2.0/FHdisplay.pyR5^s|        Q  g k b "  [  5    *      > V(((tosttkinterRRltmatplotlib.pyplottpyplotRtiontrcParamstnumpyRRuRR-R.R5(((s(/home/armin/python/fajho2.0/FHdisplay.pyts       7