awips2/ncep/gov.noaa.nws.ncep.ui.nsharp/nsharp_c/file_selection_menu.c
root 7dbd17a5aa Initial revision of AWIPS2 11.9.0-7p5
Former-commit-id: 133dc97f67 [formerly a02aeb236c] [formerly 9f19e3f712] [formerly 133dc97f67 [formerly a02aeb236c] [formerly 9f19e3f712] [formerly 06a8b51d6d [formerly 9f19e3f712 [formerly 64fa9254b946eae7e61bbc3f513b7c3696c4f54f]]]]
Former-commit-id: 06a8b51d6d
Former-commit-id: 9bb8decbcf [formerly 8e80217e59] [formerly 377dcd10b9 [formerly 3360eb6c5f]]
Former-commit-id: 377dcd10b9
Former-commit-id: e2ecdcfe33
2012-01-06 08:55:05 -06:00

72 lines
1.8 KiB
C

#include "gui.h"
#include "sharp95.h"
void file_selection_menu ( char *conffile, char *confdir, _NXMmenuItem **menu,
XtCallbackProc cbfunc, int *iret)
/************************************************************************
* file_selection_menu *
* *
* *
* *
** *
* Log: *
* T. Piper/SAIC 01/04 changed cfl_ropn to cfl_tbop *
***********************************************************************/
{
int ier, ii, num=0;
char line[256];
FILE *fp;
_NXMmenuItem *ltest;
/*----------------------------------------------------------------------*/
*iret = 0;
ltest = NULL;
fp = cfl_tbop(conffile, confdir, &ier);
if ( fp == NULL || ier != 0 ) {
*iret = -1;
return;
}
while(fgets(line,80,fp) != NULL)
if(line[0] != '!') num++;
rewind(fp);
ltest = malloc(sizeof(_NXMmenuItem) * (size_t)(num + 1));
ii = 0;
while((ii < num)&&(fgets(line,80,fp) != NULL))
{
if(line[0] != '!')
{
if(line[strlen(line)-1] == '\n') line[strlen(line)-1] = '\0';
ltest[ii].label = (char *)malloc(strlen(line)+1);
sprintf(ltest[ii].label,"%s",line);
ltest[ii].class = &xmCascadeButtonGadgetClass;
ltest[ii].mnemonic = 0;
ltest[ii].accelerator = NULL;
ltest[ii].accel_text = NULL;
ltest[ii].callback = cbfunc;
ltest[ii].which_widget = (long)ii;
ltest[ii].subitems = NULL;
ltest[ii].sub_buttons = NULL;
ii++;
}
}
ltest[ii].label = NULL;
ltest[ii].class = &xmCascadeButtonGadgetClass;
ltest[ii].mnemonic = 0;
ltest[ii].accelerator = NULL;
ltest[ii].accel_text = NULL;
ltest[ii].callback = NULL;
ltest[ii].which_widget = (long)ii;
ltest[ii].subitems = NULL;
ltest[ii].sub_buttons = NULL;
*menu = ltest;
fclose(fp);
}