Исходники есть. Конкретно ф-ция по этому окну, т.е. dialog-у. При создании других окон в этом приложении, кусок кода мал - вариация того что выделено красным ниже
PsaSigWinSetup( PtWidget_t *link_instance, ApInfo_t *apinfo, PtCallbackInfo_t *cbinfo )
{
link_instance = link_instance, apinfo = apinfo, cbinfo = cbinfo;
/// TableWindowSetup( link_instance, ABW_psa_sig_list );
isn_a = CountRow("a_sig order by ln");
TableWindowSetup( link_instance, ABW_psa_sig_list, ABW_psa_sig_listd);
is_multiple_mode = 0;
BlockWidget( ABW_password_win );
int i;
FILE *fk;
FILE *fd;
DIR *dirp;
struct dirent *direntp;
char *d_name;
char workBuf[1024];
char *ptr;
char *ptr1;
char *ptrBuf = &ptr[0];
char node[_MAX_NODE];
char dir[_MAX_DIR];
char fname[_MAX_FNAME];
char ext[_MAX_EXT];
for (i = 0; i <list_frm.entries();i++) {
tecFrm = list_frm.get(i);
delete (tecFrm);
}
list_frm.clear();
sprintf(workBuf,"%s%s",PATH_FORMULS,PATH_PSASIGS);
if ((dirp = opendir(workBuf)) != NULL) {
while ((direntp = readdir(dirp)) != NULL){
fclose (fd);
d_name = (char *)direntp->d_name;
if ((i = strlen(d_name)) < 5)
continue;
_splitpath(d_name,node,dir,fname,ext);
if (!strcmp(ext,EXT_FORMULS)) {
sprintf(workBuf,"%s%s/%s",PATH_FORMULS,PATH_PSASIGS,d_name);
if ((fd = fopen(workBuf,"r")) != NULL) {
tecFrm = new Formul (fname);
if (!tecFrm)
break;
list_frm.append(tecFrm);
/// sprintf(workBuf,"%s%s/%s%s",PATH_FORMULS,PATH_PSASIGS,fname,EXT_INTERPR);
/// fk = fopen(workBuf,"r");
i = 0;
while ((ptr = fgets(workBuf,sizeof(workBuf),fd)) == workBuf) {
while (ptr[0] == ' ')
ptr++;
if (!strncmp(ptr,"Name",4)) {
while ((ptr[0] != '"')&&(ptr[0]!='\n'))
ptr++;
if (ptr[0] == '"') {
ptr++;
ptr1 = ptr;
while ((ptr1[0] != '"')&&(ptr1[0]!='\n'))
ptr1++;
ptr1[0] = 0;
// sprintf(workBuf,"%s\t%s\t%s",ptr,fname,(fk)?"В…ГЎГўГ¬":"ВЌВҐГў");
}
else {
break;
}
PtListAddItems(ABW_ComboPSA,(char const **)&ptr,1,0);
i++;
break;
}
}
if (!i) {
continue;
}
}
}
}
tecFrm = 0;
/// fclose(fk);
fclose(fd);
closedir(dirp);
}
return( Pt_CONTINUE );
}
link_instance = link_instance, apinfo = apinfo, cbinfo = cbinfo;
/// TableWindowSetup( link_instance, ABW_psa_sig_list );
isn_a = CountRow("a_sig order by ln");
TableWindowSetup( link_instance, ABW_psa_sig_list, ABW_psa_sig_listd);
is_multiple_mode = 0;
BlockWidget( ABW_password_win );