/* Copyright(c) 1995 by SAS Institute Inc., Cary, NC USA */ /* SURVEYDF.SCL */ DFINIT: call send(_viewer_,'_get_widget_','chocamt',camtid); call send(_viewer_,'_get_widget_','chocsize',csizeid); call send(_viewer_,'_get_widget_','text3',bitsid); call send(_viewer_,'_get_widget_','text4',sizeid); return; INIT: link gray; link compute; call send(_viewer_,'_goto_column_','batch'); return; BATCH: if batch ne ' ' and batch not in ('A10','A20','B10','B20') then do; call send(_self_,'_erroron_column_','batch'); _msg_='Valid values are A10, A20, B10, B20.'; end; else call send(_self_,'_erroroff_column_','batch'); return; AGE: if age ne . and age lt 10 then do; call send(_self_,'_erroron_column_','age'); _msg_='Age must be greater than or equal to 10.'; end; else call send(_self_,'_erroroff_column_','age'); return; ATTRIB1: ATTRIB2: ATTRIB3: COMPUTE: total=sum(of attrib1 - attrib3); return; CHOCLATE: GRAY: if choclate = 1 then do; call send(camtid,'_gray_'); call send(csizeid,'_gray_'); call send(bitsid,'_gray_'); call send(sizeid,'_gray_'); end; else do; call send(camtid,'_ungray_'); call send(csizeid,'_ungray_'); call send(bitsid,'_ungray_'); call send(sizeid,'_ungray_'); end; return; /* SURVEYDT.SCL */ length colname $ 8; DFINIT: col = makelist(); row = makelist(); lenvlist=envlist('l'); return; INIT: link compute; return; BATCH: if batch ne ' ' and batch not in ('A10','A20','B10','B20') then do; call send(_self_,'_erroron_column_','batch'); colname='batch'; link setactiv; _msg_ = 'Valid values are A10, A20, B10, and B20.'; end; else call send(_self_,'_erroroff_column_','batch'); return; AGE: if age ne . and age lt 10 then do; call send(_self_,'_erroron_column_','age'); colname='age'; link setactiv; _msg_ = 'Age must be greater than or equal to 10.'; end; else call send(_self_,'_erroroff_column_','age'); return; ATTRIB1: ATTRIB2: ATTRIB3: COMPUTE: total = sum(of attrib1-attrib3); return; CHOCLATE: if choclate = 1 then do; call send(_self_,'_protect_column_','chocamt', 'chocsize'); colname='repeat'; link setactiv; end; else call send(_self_,'_unprotect_column_','chocamt', 'chocsize'); return; SETACTIV: call send(_viewer_,'_get_active_cell_',row,col); collist=getniteml(lenvlist,'collist'); colnum = getnitemn(collist,colname); col = setitemn(col,colnum,-1); call send(_viewer_,'_goto_column_',col); call send(_viewer_,'_set_active_cell_',row,col); return; DFTERM: col = dellist(col,'y'); row = dellist(row,'y'); return; /* OVERRIDE.SCL */ length text $ 40 name $ 40; GETDATA: method vecid 8 numcols 8; call super(_self_,'_get_data_',vecid,numcols); collst = makelist(); do i = 1 to numcols; call send(vecid,'_set_index_',i); call send(vecid,'_get_column_', collst); col = getitemn(collst,1); call send(_self_,'_get_displayed_column_name_', col,name); if upcase(name) = 'TOTAL' then do; call send(vecid,'_get_text_',text); numtxt = input(text,2.); if numtxt >= 10 then call send(vecid,'_set_background_color_', 'green'); else if numtxt > 5 then call send(vecid,'_set_background_color_', 'yellow'); else if numtxt > 0 then call send(vecid,'_set_background_color_','red'); leave; end; end; collst=dellist(collst,'y'); endmethod; /* TABLE.SCL */ length name $ 8; INIT: call send(_frame_,'_get_widget_','table',tableid); call send(tableid,'_get_number_of_columns_',numcols); collist=makelist(); do i=1 to numcols; call send(tableid,'_get_displayed_column_name_', i,name); collist=insertn(collist,i,i,name); end; lenvlist=envlist('l'); lenvlist=insertl(lenvlist,collist,-1,'collist'); call send(tableid,'_disable_drag_drop_site_'); modelid = getnitemn(tableid,'dataid'); call send(modelid,'_set_instance_method_','_get_data_', 'obs.examples.override.scl', 'getdata' ); return; TERM: collist=dellist(collist,'y'); return;