; Id: launch_marsred.pro,v 1.1 2006/07/12 12:tregenna
;###############################################################################
;
; NAME:
;  LAUNCH_MARSRED
;
; PURPOSE:
;  Application launcher for mars data reduction.
;
; CATEGORY:
;  DAVE, mars, data reduction
;
; AUTHOR:
;PD Dr. Philip Tregenna-Piggott,
;Laboratory for Neutron Scattering,
;ETHZ and Paul-Scherrer Institute,
;CH-5232 Villigen PSI,
;Switzerland.
;
;Tel. :+41 56 310 54 05
;Fax. :+41 56 310 29 39
;Email:philip.tregenna@psi.ch
;Based on a program by Rob Dimeo
;
; LICENSE:
;  The software in this file is written by an employee of
;  National Institute of Standards and Technology
;  as part of the DAVE software project.
;
;  The DAVE software package is not subject to copyright protection
;  and is in the public domain. It should be considered as an
;  experimental neutron scattering data reduction, visualization, and
;  analysis system. As such, the authors assume no responsibility
;  whatsoever for its use, and make no guarantees, expressed or
;  implied, about its quality, reliability, or any other
;  characteristic. The use of certain trade names or commercial
;  products does not imply any endorsement of a particular product,
;  nor does it imply that the named product is necessarily the best
;  product for the stated purpose. We would appreciate acknowledgment
;  if the DAVE software is used of if the code in this file is
;  included in another product.
;
;###############################################################################
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
pro launch_marsred,event
widget_control,event.top,get_uvalue = pState

thisEvent = tag_names(event,/structure_name)
print,thisEvent
case thisEvent of
'WIDGET_BUTTON': $
  begin
    widget_control,event.top,sensitive = 0
   ; Get the current DAVE pointer
   workDir = (*!dave_defaults).workDir
   datDir = (*!dave_defaults).datDir
   o = obj_new('marsreduction', $
                notifyId = [event.id,event.top], $
               group_leader = event.top, $
              workDir = workDir, $
              datDir = datDir)
  end
'WIDGET_TREE_SEL': $
  begin
    widget_control,event.top,sensitive = 0
   ; Get the current DAVE pointer
   workDir = (*!dave_defaults).workDir
   datDir = (*!dave_defaults).datDir
   o = obj_new('marsreduction', $
                notifyId = [event.id,event.top], $
               group_leader = event.top, $
              workDir = workDir, $
              datDir = datDir)
  end
'MARSREDUCTIONEVENT':   $
  begin
    widget_control,event.top,sensitive = 1
    if (*event.daveFiles)[0] ne '' then begin
      daveFiles = *event.daveFiles
      ;result = mars_showDave(group_leader = event.top,daveFiles)
    endif
    ptr_free,event.daveFiles
  end
else:
endcase
return
end