Pro spd_ui_dproc_reset_act_data, dproc_id, update_tree = update_tree
If(is_struct(dproc_id)) Then Begin
state = dproc_id
Endif Else Begin
widget_control, dproc_id, get_uval = state, /no_copy
Endelse
If(is_struct(state) Eq 0) Then Begin
message, 'Undefined state structure'
Endif
dobj = state.info.loadeddata
val_data = ''
act_data = ''
val_data_temp = 'No Data Loaded'
act_data_temp = 'No Active Data'
If(obj_valid(dobj)) Then Begin
val_data = dobj -> getall(/parent)
act_data = dobj -> getactive(/parent)
If(is_string(val_data)) Then Begin
val_data_temp = dobj -> getall(/parent, /times)
val_data_temp = reform(val_data_temp[0, *]+': '+$
val_data_temp[1, *]+' to '+val_data_temp[2, *])
If(is_string(act_data)) Then Begin
isactive = sswhere_arr(val_data, act_data)
If(isactive[0] Ne -1) Then act_data_temp = val_data_temp[isactive]
Endif
Endif
Endif Else Begin
dprint, 'Invalid Data Object'
state.statusbar -> update, 'Invalid Data Object'
Endelse
If(ptr_valid(state.val_data)) Then ptr_free, state.val_data
If(is_string(val_data)) Then Begin
state.val_data = ptr_new(val_data)
Endif Else state.val_data = ptr_new()
If(ptr_valid(state.val_data_t)) Then ptr_free, state.val_data_t
state.val_data_t = ptr_new(val_data_temp)
If(ptr_valid(state.act_data)) Then ptr_free, state.act_data
If(is_string(act_data)) Then Begin
state.act_data = ptr_new(act_data)
Endif Else state.act_data = ptr_new()
If(ptr_valid(state.act_data_t)) Then ptr_free, state.act_data_t
state.act_data_t = ptr_new(act_data_temp)
If(widget_valid(state.activelist)) Then $
widget_control, state.activelist, set_value = *state.act_data_t
If(keyword_set(update_tree)) Then Begin
If(obj_valid(state.treeobj)) Then state.treeobj -> update
Endif
If(is_struct(dproc_id) Eq 0) Then Begin
widget_control, dproc_id, set_uval = state, /no_copy
Endif Else Begin
dproc_id = temporary(state)
Endelse
Return
End