mò Ú…üBc@s<dkZdkZdfd„ƒYZdfd„ƒYZdS(NtSimpleMessageBoxcBsMtZdZd„Zd„Zd„Zd„Zd„Zd„Zd„Z RS(s+ just as name says - an simple message box c Cs†tiƒ|_|o'|ii|ƒ|iitiƒn|ii|ƒ|ii |||ƒ|ii tƒ|iid|iƒ|iid|iƒtitdƒ}|idƒ|ii|ƒtitdƒ} | idƒ|i| dddƒtid|dƒ}| i|dddƒtid|ƒ} | id |iƒ|i| dddƒd|_ |ii!ƒdS( Ntkey_press_eventtdestroyii iis tstocktclicked("tgtktWindowtselft_wt parentwintset_transient_fort set_positiontWIN_POS_CENTER_ON_PARENTt set_titlettitlet set_wmclasstnametwmclasst set_resizabletFalsetconnectt _keyhandlert _destroy_cbtVBoxtvboxtset_border_widthtaddtHBoxthboxt pack_starttLabelttexttlabeltButtont buttonlabeltbuttont_closet_alivetshow_all( RRRRRR"R R RR#R((t./home/dfo/work/python/map/modules/Interface.pyt__init__ s,   cCs(|itiijo|iƒndS(N(teventtkeyvalRtkeysymstEscapeRtclose(RtwidgetR)((R'R&scCs|iƒdS(N(RR-(RR.((R'R$*scCs d|_dS(Ni(RR%(RR.((R'R-scCs|iS(N(RR%(R((R'tshown0scCs|iiƒdS(N(RRtpresent(R((R'tfocus3scCs|iiƒdS(N(RRR(R((R'R-6s( t__name__t __module__t__doc__R(RR$RR/R1R-(((R'Rs       t InterfacecBsItZdddddddddddeddd„Zd„Zd„Zd„Zd „Zd „Z d „Z d „Z d „Z d„Z d„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd „Zd!„Z d"„Z!d#„Z"RS($Nii iicCs t}|o2| pd} t}n| pd} t}qmn/| pd} t}n| pd} t}n||_||_||_ ||_ ||_ ||_ ||_ t|_t|_t|_| |_t|_d|_d|_tdƒdg|_tdƒdg|_tdƒdg|_td ƒd ftd ƒd ftd ƒdfg|_| |_||_||_|io<t|iƒo,|iidtdƒ|igdfƒnt|_ d|_!d|_"d|_#d|_$t|_%d|_&tdƒ|_'||_(t)i*ƒ|_+|i+i,|ƒ|i+i-|d|ƒ|i+i.tƒ|i+i/dƒ| |_| |_|i+i0|i|iƒ|i+i1d|i2ƒt)i3ƒ|_4t)i5tdƒ}|i+i7|ƒt)i8tdƒ}|i:|tƒ||_;t)i<tdƒƒ}|i:|tƒt)i8tdƒ}|i/dƒ|i7|ƒt)i?tdƒƒ}|i:|tƒ|iA|i ƒ|_B|iBiCi1d|iDƒ|i:|iBtƒt)i<tdƒƒ}|i:|tƒt)i8tdƒ}|i/dƒ|i7|ƒt)i?tdƒƒ}|i:|tƒ|iA|i ƒ|_E|iEiCi1d|iFƒ|i:|iEtƒt)i<ƒ}|i:|tƒt)i5tdƒ}|i/dƒ|i7|ƒt)i8tdƒ}|i:|tƒt)iHdƒ|_I|iIiJt)iKƒ|iL|iItƒt)iHdƒ|_Mt)iNƒ}|iPt)iQt)iRƒ|iMiS|ƒ|iMi1d|iTƒ|iL|iMtƒ|i4iU|iMtdƒƒt)i?|idƒ|_V|i:|iVtƒt)iWƒ|_X|i:|iXtƒ|iXiYtƒ|iXi1d|iZƒt)iWƒ|_[|iL|i[tƒd|_\d}xM|iD]B}|i[i_|dƒ|d| jo ||_\n|d7}qTW|i[i`|i\ƒt)i?|idƒ|_a|iL|iatƒt|iƒdjo|i[iYtƒn|i[i1d|ibƒt)iWƒ|_c|iL|ictƒx0tdƒtd ƒfD]}|ici_|ƒqTW|ici`dƒt)i?|idƒ|_d|iL|idtƒ|ici1d|ieƒt)i8tdƒ}|i:|tƒt)i?td!ƒƒ}|i:|tƒt)i?dƒ|_f|i:|iftƒ|ioßt|iƒoÏt)iWƒ|_g|iL|igtƒd}xO|iD]D}|igi_|dƒ|d|ijo|iii|ƒ}qxqxW|igi`|ƒt)i?tdƒƒ|_j|iL|ijtƒ|igi1d|ikƒnt)il| dd"dd#d#ƒ}t)io|ddƒ|_p|ipiqtƒ|iL|iptƒ|ipi1d$|irƒt)i?td%ƒƒ}|iL|tƒ||_s||_t|i+iuƒ|ivdƒ|iIi1d|ivƒ|o|i+iƒndS(&Ni€iàii s Found pathstsTime of a day:sMap:tHelpthelpsToggle compact modetcompacttQuittquititZoomtzoomiisÔMouse bindings on Map display: Left mouse click - select source station Right mouse click - select destination station Right mouse click and hold - context menu Any mouse click and mouse move - scroll map aroundtMaintconfigure_eventsLeft mouse buttontSourcetchangedsRight mouse buttont DestinationRs Show helpitDaytNights Shortest way:ici t value_changeds Time delta:(wRtmaximizeR9txsizetTruetysizetpath_cbRt station_cbtcity_cbtdtime_cbtdelta_cbtzoom_cbtstationst dont_set_patht dont_set_fromt dont_set_totcitylistt dont_set_citytNonetdatswint_tlabel_found_texttlabel_time_texttlabel_city_textt menu_itemst compact_modetzoomlisttzoomnowtlentinserttmiddle_pressedt middle_buttontmiddle_xtmiddle_ytbutton_press_tresholdt move_startedthelp_winthelptexttprognameRRtwinR RRRtset_default_sizeRt_Interface__configure_win_cbtTooltipsttipsRRRRRRtst_hboxtFrametframetthboxRR t create_eboxtcb_fromtchildt from_selectedtcb_tot to_selectedttvboxR!tbutton_compactt set_relieft RELIEF_NONEtpack_endt button_helptImagetimagetset_from_stockt STOCK_HELPtICON_SIZE_BUTTONt set_imaget help_clickedtset_tipt label_foundtcombo_box_new_texttcb_patht set_sensitivet path_selectedtcb_citytcitynowtitct append_textt set_activet label_cityt city_selectedtcb_dtimet label_timetdtime_selectedtlabel_shortesttcb_zoomtatindext label_zoomt zoom_selectedt Adjustmenttdeltatadjt SpinButtont maxerror_cbt set_numerictmaxerror_selectedtsh_hboxtbig_vboxR&tcompact_clicked(RRkRPRJRKRLRMRNRORGRIR RTRR9R_R`RtRsR{RFRR‘R R‚R›RRR¡((R'R(:sD                 6   ,                           cCs±|djo|idƒn|djo|idƒnr|djo|idƒnT|idƒoC|iit d„|i ƒi t |dƒƒƒ|i dƒndS(NR8R9R;R=cCs|dS(Ni(R›(R›((R't si(tdataRR‡RVR¨t quit_clickedt startswithRšR“tmapR_RœtfloatRž(RRª((R't menu_callbacks   2cCs|io|idƒndS(N(Rtquit_cbRV(RR.((R'R« s cCsË|i p|iiƒ o.t|idd|iti|iƒ|_n~|ii ƒ\}}|ii ƒ\}}|iii ƒ\}}|iii|||d|||dƒ|iiƒdS(NR7i(RRiR/RRkRjRtSTOCK_OKRlt get_positiontxtytget_sizetwthRtdwtdhtmoveR1(RR.R¹R·R¶R¸R´R³((R'R‡s..cCsV|i |_|ipˆ|iiƒ|iiƒ|ii|idƒ|ii|i dƒ|i i|i dƒ|i i |itdƒƒti}n…|iiƒ|iiƒ|ii|idƒ|ii|i dƒ|i i|i dƒ|i i |itdƒƒti}tiƒ}|i|tiƒ|ii|ƒdS(NisSwitch to compact modeisSwitch to normal mode(RR^RqtshowR¦R‰t set_labelRZR—R[R”R\RpRˆR|RYRt STOCK_GO_DOWNtstthidet STOCK_GO_UPRR‚RƒR…R†(RR.R¾R‚((R'R¨s&         cCs|iƒ\|_|_dS(N(R.RµRRGRI(RR.R)((R't__configure_win_cb1scCs tiƒ|_|iitiƒ|iititiƒ|iiti i ti i Bti i Bƒ|ii d|iƒ|ii d|iƒ|ii d|iƒ|ii|itƒ|oDt|ƒtijo|ii|iƒq|ii|iƒndS(Ntbutton_press_eventtbutton_release_eventtmotion_notify_event(RtScrolledWindowRRXtset_shadow_typet SHADOW_NONEt set_policyt POLICY_ALWAYSt set_eventstgdktBUTTON_PRESS_MASKtBUTTON_RELEASE_MASKtPOINTER_MOTION_MASKRtbpR§RRHRWttypet DrawingAreatadd_with_viewportR(RRWtwidththeight((R't __pack_da4s*cCs|itiijo:t|_t|_ |i |_ |i |_ |i|_n®|itiijo |i |i jo t|_nx|itiijoa|ioWtiiƒi|iiƒƒd}|i djo|tii@ pD|i djo|tii@ p"|i djo#|tii@ ot|_dSn|i oHt|i |i ƒ|ijo(t|i|iƒ|ijodSnt|_ d„}||iƒ|i |i ƒ||iƒ|i|iƒ|i |_ |i|_ndS(NiiicCss|djob|i|}||ijo |i}n,||i|ijo|i|i}n||_ndS(Ni(tdR¡tvaluetavtlowertuppert page_size(R¡RÖRØ((R'tadjust[s   ( R)RÐRRËt BUTTON_PRESSRHRRcRRhR#Rdtx_rootRety_rootRftBUTTON_RELEASEt MOTION_NOTIFYtdevice_get_core_pointert get_stateRltget_root_windowtflagst BUTTON3_MASKt BUTTON2_MASKt BUTTON1_MASKtabsRgRÜR.tget_hadjustmenttget_vadjustment(RR.R)RÜRå((R'RÏCs*    )  %f K   cCs—|ioQ|io0|iii|iƒ|ii|iiƒn|ii|iƒn|`|`||_|i|i||ƒ|ii ƒdS(N( RRXRWRwtremoveR§t_Interface__pack_daRÓRÔR&(RRWRÓRÔ((R'tset_dais   cCs ||_dS(N(tcbRRJ(RRï((R't set_path_cbuscCs ||_dS(N(RïRRL(RRï((R't set_city_cbxscCs ||_dS(N(RïRRM(RRï((R't set_dtime_cb{scCs ||_dS(N(RïRRK(RRï((R'tset_station_cb~scCs ||_dS(N(RïRRN(RRï((R't set_delta_cbscCs ||_dS(N(RïRRO(RRï((R't set_zoom_cb„scCs|ii|ƒdS(N(RR–R“tdtime(RRö((R't set_dtime‡scCs5x.|iD]#}|d|jo |dSq q WdS(Nii(RRPtsRRV(RRRø((R't__num_station__Šs  cCs5x.|iD]#}|d|jo |dSq q WdS(NiiR6(RRPRøtnum(RRúRø((R't__text_station__s  cCs+|io|it|iƒƒƒndS(N(RRNtintR.t get_value(RR.((R'R¥–s cCs^|ipP|i|iiiƒƒ}|djo$|i|t ƒ|i ii ƒqZndS(N( RRRRùRvRwtget_textRúRVRKRHRyt grab_focus(RtfooRú((R'Rxšs   cCs^|ipP|i|iiiƒƒ}|djo$|i|t ƒ|i ii ƒqZndS(N( RRSRùRyRwRþRúRVRKRRvRÿ(RRRú((R'Rz¡s   cCsº||_t|_t|_x†|i|ifD]r}|ii dƒx7t t |i ƒƒddƒD]}|i|dƒqcWx|D]}|i|dƒq…Wq.Wt|_t|_dS(NR6iiÿÿÿÿi(RPRRHRRRSRvRyRïRwtset_texttxrangeRat get_modeltpt remove_textRøR’R(RRPRRøRï((R't set_st_list¨s    cCs2t|_|iii|i|ƒƒt|_dS(N( RHRRRRvRwRRûtstationR(RR((R'tset_fromµs cCs2t|_|iii|i|ƒƒt|_dS(N( RHRRSRyRwRRûRR(RR((R'tset_toºs cCsùx=tt|iiƒƒddƒD]}|ii|dƒq"Wx|D]}|ii|ƒqGWt|ƒdjo:|i i |dƒt |_ |ii dƒt|_ n|i i dƒt|ƒdjo|iit ƒn|iitƒdS(NiiÿÿÿÿiR6(RRaRR‹RRRtplistR’R™RRHRQR“RRŒ(RR R((R't set_path_list¿s"  cCs3|io%|i o|i|iiƒƒndS(N(RRJRQR‹t get_active(RR((R'RÐscCs>|io0|i o%|i|i|iiƒdƒndS(Ni(RRLRURTRŽR (RR((R'R•ÔscCs|ii|ƒdS(N(RRlR R(RR((R't set_win_titleØscCs(|io|i|iiƒƒndS(N(RRMR–R (RR((R'R˜Ûs cCs3|io%|i|i|iiƒdƒndS(Ni(RROR_RšR (RR((R'Ržßs cs|titiƒ‰|ot‡d†|ƒntiˆdƒ}ti ƒ}|i ˆƒ|i dƒ|i i|ƒ|S(Ncsˆi|dgƒS(Ni(tlstappendR›(R›(R(R'R©æsi(Rt ListStoretgobjectt TYPE_STRINGRtnamesR­t ComboBoxEntrytcetEntryCompletiontcomplt set_modeltset_text_columnRwtset_completion(RRRRR((RR'Ruãs   (#R2R3RVRR(R¯R«R‡R¨RnRíRÏRîRðRñRòRóRôRõR÷RùRûR¥RxRzRRR R RR•R R˜RžRu(((R'R59s>3È     &                    (RRRR5(R5RRR((R't?s  3