; Project     :	SOHO - CDS
;
; Name        :	MK_CDS_SBASE
;
; Purpose     :	makes a widget interface to CDS or SUMER Science Plan
;
; Explanation :	
;
; Use         :	MK_CDS_SBASE,PARENT,SBASE
;
; Inputs      :	PARENT = parent widget upon which to construct widgets
;
; Opt. Inputs :	None.
;
; Outputs     :	SBASE  = created child widget 
;
; Opt. Outputs:	None.
;
; Keywords    :	MAP = 1/0 for visible/invisible
;               LFONT = font for label widgets
;               BFONT = font for button widgets
; Calls       :	
;
; Common      :	None.
;
; Restrictions:	None.
;
; Side effects:	None.
;
; Category    :	Planning
;
; Prev. Hist. :	None.
;
; Written     :	Dominic Zarro (ARC),  22 January 1995
;-

   pro mk_cds_sbase, parent, sbase, map=map, lfont=lfont, bfont=bfont

   if n_elements(map) eq 0 then map = 1
   mk_dfont,lfont=lfont,bfont=bfont

   sbase = widget_base(parent,/column, map=map)

   row=widget_base(sbase,/row)

;---------------------------------------------------------------------------
;  Sci_obj sci_spec, disturbances, and notes
;---------------------------------------------------------------------------

   col1 = widget_base(row, /column,/frame)

   row1=widget_base(col1,/row)

   label = widget_button(row1, value=' SCI_OBJ:', font=bfont,uvalue='bsci_obj',/no_rel)
   sci_obj = widget_text(row1, value='', xsize=40,font=lfont,/edit,/all,uvalue='sci_obj')

   row2=widget_base(col1,/row)

   label = widget_button(row2, value='SCI_SPEC:', font=bfont, uvalue='bsci_spec',/no_rel)
   sci_spec = widget_text(row2, value='', xsize=40,font=lfont,/edit,uvalue='sci_spec',/all)

   row3=widget_base(col1,/row)

   label = widget_button(row3, value=' DISTURB:',font=bfont, $
                         uvalue='bdisturbances',/no_rel)
   disturbances = widget_text(row3, value='', xsize=40, font=lfont,$
                              /edit,/all,uvalue='disturbances')

   row4=widget_base(col1,/row)

   label = widget_button(row4, value='   NOTES:', font=bfont,uvalue='bnotes',/no_rel)
   notes = widget_text(row4, value='', xsize=40,font=lfont,/edit,/all,uvalue='notes')

;---------------------------------------------------------------------------
;  XCEN and YCEN
;---------------------------------------------------------------------------

   row5=widget_base(col1,/row)
   lab=widget_button(row5,     value='    XCEN:',font=bfont,uvalue='bxcen')
   xcen = widget_text(row5, value='', xsize=40,font=lfont,/edit)
   lab2=widget_label(row5,value='Arcsecs (+W/-E)',font=lfont)

   row6=widget_base(col1,/row)
   lab=widget_button(row6,     value='    YCEN:',font=bfont,uvalue='bycen')
   ycen = widget_text(row6, value='', xsize=40,font=lfont,/edit)
   lab2=widget_label(row6,value='Arcsecs (+N/-S)',font=lfont)
 
;---------------------------------------------------------------------------
;  Object, obj_id, prog_id, and cmp_no
;---------------------------------------------------------------------------

   col2 = widget_base(row, /column,/frame)

   row1=widget_base(col2,/row)
   objectb = widget_button(row1, value=' OBJECT:', /no_rele, $
                           uvalue='object', font=bfont)
   object = cw_text(row1, value='      ', xsize=6, font=lfont)

   row2=widget_base(col2,/row)
   label=widget_button(row2,value=      ' OBJ_ID:',font=bfont,$
                       uvalue='bobj_id', /no_rel)
   obj_id=widget_text(row2,value='',xsize=6,font=lfont,/edit,/all,$
                      uvalue='obj_id')

;   row3=widget_base(col2,/row)
;   progb=widget_button(row3,value=      'PROG_ID:',uvalue='prgb',$
;                       font=bfont,/no_rel)
;   prog_id=cw_text(row3,value='',xsize=6,font=lfont,uvalue='prog_id')

   row4=widget_base(col2,/row)
   cmpb=widget_button(row4,value=       ' CMP_NO:',uvalue='cmpb',$
                      font=bfont,/no_rel)
   cmp_no=cw_text(row4,value='',xsize=6,font=lfont,uvalue='cmp_no',$
                       /edit,/all)


;---------------------------------------------------------------------------
;  Start and stop time, cur_time, and plan duration
;---------------------------------------------------------------------------

   col3 = widget_base(row, /column,/frame)

;---------------------------------------------------------------------------
;  Start date/time should not be editable
;---------------------------------------------------------------------------

   row1=widget_base(col3,/row)
   start_lab = widget_label(row1, value='START_TIME:', font=lfont)
   date_obs = cw_text(row1, value='       ',xsize=11,font=lfont,/edit)
   time_obs = cw_text(row1, value='       ',xsize=12,font=lfont,/edit)

;---------------------------------------------------------------------------
;  Stop time for Science plan can be editable (required REPLACE to take into
;  effect)
;---------------------------------------------------------------------------

   row2=widget_base(col3,/row)
   stop_lab = widget_label(row2, value= '  END_TIME:', font=lfont)
   date_end = cw_text(row2, xsize=11,/edit,uvalue='date_end',font=lfont)
   time_end = cw_text(row2, xsize=12,/edit,uvalue='time_end',font=lfont)

   row3=widget_base(col3,/row)
   cur_lab = widget_label(row3, value=  '  CUR_TIME:', font=lfont)
   date_cur = cw_text(row3,xsize=11, /edit,font=lfont,uvalue='date_cur')
   time_cur = cw_text(row3, xsize=12, /edit,font=lfont,uvalue='time_cur')

   pdurb=widget_base(col3,/row)
   temp = widget_label(pdurb, value=    '  PLAN DUR:', font=lfont)
   pduration = cw_text(pdurb, value='', xsize=12,font=lfont,/editable,uvalue='pduration',/all)

   unit_str = strpad(['Seconds', 'Minutes', 'Hours'],8,/after)
   new_vers=float(strmid(!version.release,0,3)) ge 4.
   if new_vers then $
    dur_unitb=call_function('widget_droplist',pdurb,value=unit_str,uvalue='dur_unit',font=bfont) else $
     dur_unitb = cw_bselector2(pdurb, unit_str, uvalue='dur_unit', /no_rel,/return_index,font=bfont)
   
;---------------------------------------------------------------------------
;  Save widget id's in structure
;---------------------------------------------------------------------------
   wids = { prog_id:0, $
            sci_obj:sci_obj, $
            sci_spec:sci_spec, $
            notes:notes, $
            object:object, $
            obj_id:obj_id, $
            cmp_no:cmp_no, $
            disturbances:disturbances, $
            start_lab:start_lab, $
            stop_lab:stop_lab, $
            date_obs:date_obs, $
            date_end:date_end, $
            time_obs:time_obs, $
            time_end:time_end, $
            date_cur:date_cur, $
            time_cur:time_cur, $
            cur_lab:cur_lab, $
            pduration:pduration, $
            dur_unitb:dur_unitb,$
            xcen:xcen,$
            ycen:ycen}

   widget_control, sbase, set_uvalue=wids

   return & end

