pro tlimit,d1,d2, $
days = days, $
Hours = hours, $
minutes = minutes, $
seconds = seconds, $
FULL = full, $
LAST = last, $
ZOOM = zoom, $
REFDATE = refdate, $
OLD_TVARS = old_tvars, $
NEW_TVARS = new_tvars, $
WINDOW = window, $
SILENT = silent
@tplot_com.pro
if keyword_set(old_tvars) then tplot_vars = old_tvars
if size(/type,refdate) eq 7 then str_element,tplot_vars,'options.refdate',$
refdate,/add_replace
if size(/type, silent) eq 0 then silent = !version.os_family eq 'Windows'
n = n_params()
str_element,tplot_vars,'options.trange',trange
str_element,tplot_vars,'options.trange_full',trange_full
str_element,tplot_vars,'settings.trange_old',trange_old
str_element,tplot_vars,'settings.time_scale',time_scale
str_element,tplot_vars,'settings.time_offset',time_offset
temp = trange
tpv_set_tags = tag_names( tplot_vars.settings)
idx = where( tpv_set_tags eq 'X', icnt)
if icnt gt 0 then begin
tr = tplot_vars.settings.x.crange * time_scale + time_offset
endif else begin
return
endelse
if keyword_set(zoom) then begin
tmid = (tr[0]+tr[1])/2
tdif = (tr[1]-tr[0])/2
trange = tmid+ zoom*[-tdif,tdif]
n = -1
endif
if keyword_set(full) then begin
trange = trange_full
n = -1
endif
if keyword_set(last) then begin
trange = trange_old
n = -1
endif
if n eq 0 then begin
ctime,t,npoints=2,prompt="Use cursor to select a begin time and an end time",$
hours=hours,minutes=minutes,seconds=seconds,days=days,silent=silent
if n_elements(t) ne 2 then return
t1 = t[0]
t2 = t[1]
delta = tr[1] - tr[0]
case 1 of
(t1 lt tr[0]) and (t2 gt tr[1]): trange = trange_full
(t1 gt tr[1]) and (t2 gt tr[1]): trange = tr + delta
(t1 lt tr[0]) and (t2 lt tr[0]): trange = tr - delta
t2 lt t1: trange = trange_old
else: trange = [t1,t2]
endcase
endif
if n eq 1 then begin
if n_elements(d1) eq 2 then trange = time_double(d1) $
else trange = [time_double(d1),time_double(d1)+tr[1]-tr[0]]
endif
if n eq 2 then trange = time_double([d1,d2])
str_element,tplot_vars,'options.trange',trange,/add_replace
str_element,tplot_vars,'options.trange_full',trange_full,/add_replace
str_element,tplot_vars,'settings.trange_old',trange_full,/add_replace
str_element,tplot_vars,'settings.window',old_window
if keyword_set(window) then wi, window
tplot,window=window
str_element,tplot_vars,'settings.trange_old',temp,/add_replace
new_tvars = tplot_vars
return
end