View Raw SPL
#include 


/* invokes gui to import a folder of data files */
_impselectgui(fpath)
{
        local orgname;
        extern _impsel_fpath, _impsel_pickdir, _impsel_dups, _impsel_files;
        extern _impsel_rst, _impsel_sil, _impsel_hdr, _pickfile_status;

        /* set default name to appear in dialog box */
        if (argc > 0)
        {
                /* use input filename */
                setvar("_impsel_fpath", fpath);
                setvar("_impsel_pickdir", fpath);
        }
        else
        {
                /* just define the variable */
                defvar("_impsel_fpath", dirpath());
                defvar("_impsel_pickdir", _impsel_fpath);
        }

        defvar("_impsel_files", "");
        defvar("_impsel_dups", 1);

        /* _pickfile_status == 1 if dialog was successful */
        _pickfile_status = 0;

        /* remember original name */
        orgname  = _impsel_fpath;

        /* invoke dialog box */
        _mf("impselect.pan");

        /* check if dialog was successful */
        if (_pickfile_status == 1)
        {
                if (strlen(_impsel_fpath) > 0 && strlen(_impsel_files) > 0)
                {
                        /* import files */
                        importselect(_impsel_fpath, _impsel_files, "", _impsel_dups, _impsel_rst, _impsel_sil, _impsel_hdr, strescape("\n"));
                }
                else
                {
                        printf(_impselerr_nfs);
                }
        }
        else
        {
                /* reset to original name */
                _impsel_fpath = orgname;
        }

        /* add to dialog box history */
        pdchist(_impselstr_pdc, "_impselectgui", _impseltip_pdc);
}