⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 listdlg.c

📁 ASUFIT-Matlab-全局拟合程序
💻 C
📖 第 1 页 / 共 3 页
字号:
                NULL));
        /*
         * end
         */
        }
        /*
         * 
         * waitfor(fig,'userdata')
         */
        mlfWaitfor(fig, mxCreateString("userdata"), NULL);
        /*
         * 
         * switch get(fig,'userdata')
         */
        {
            mxArray * t_ = mclUnassigned();
            mlfAssign(&t_, mlfGet(fig, mxCreateString("userdata"), NULL));
            /*
             * 
             * case 'ok'
             */
            if (mclSwitchCompare(t_, mxCreateString("ok"))) {
                /*
                 * value = 1;
                 */
                mlfAssign(value, mlfScalar(1.0));
                /*
                 * selection = get(listbox,'value');
                 */
                mlfAssign(
                  &selection, mlfGet(listbox, mxCreateString("value"), NULL));
            /*
             * case 'cancel'
             */
            } else if (mclSwitchCompare(t_, mxCreateString("cancel"))) {
                /*
                 * value = 0;
                 */
                mlfAssign(value, mlfScalar(0.0));
                /*
                 * selection = [];
                 */
                mlfAssign(&selection, mclCreateEmptyArray());
            /*
             * end
             */
            }
            mxDestroyArray(t_);
        }
        /*
         * 
         * delete(fig)
         */
        mlfDelete(fig, NULL);
    /*
     * 
     * else
     */
    } else {
        /*
         * 
         * switch varargin{1}
         */
        mxArray * t_ = mclUnassigned();
        mlfAssign(&t_, mlfIndexRef(varargin, "{?}", mlfScalar(1.0)));
        /*
         * 
         * case 0  % OK button callback
         */
        if (mclSwitchCompare(t_, mlfScalar(0.0))) {
            /*
             * set(gcf,'userdata','ok')
             */
            mclPrintAns(
              &ans,
              mlfNSet(
                0,
                mlfGcf(),
                mxCreateString("userdata"),
                mxCreateString("ok"),
                NULL));
        /*
         * 
         * case 1  % cancel button callback
         */
        } else if (mclSwitchCompare(t_, mlfScalar(1.0))) {
            /*
             * set(gcf,'userdata','cancel')
             */
            mclPrintAns(
              &ans,
              mlfNSet(
                0,
                mlfGcf(),
                mxCreateString("userdata"),
                mxCreateString("cancel"),
                NULL));
        /*
         * 
         * case 2  % select all button callback
         */
        } else if (mclSwitchCompare(t_, mlfScalar(2.0))) {
            /*
             * listbox = findobj(gcf,'tag','listbox');
             */
            mlfAssign(
              &listbox,
              mlfFindobj(
                mlfGcf(),
                mxCreateString("tag"),
                mxCreateString("listbox"),
                NULL));
            /*
             * selectall_btn = findobj(gcf,'tag','selectall_btn');
             */
            mlfAssign(
              &selectall_btn,
              mlfFindobj(
                mlfGcf(),
                mxCreateString("tag"),
                mxCreateString("selectall_btn"),
                NULL));
            /*
             * set(selectall_btn,'enable','off')
             */
            mclPrintAns(
              &ans,
              mlfNSet(
                0,
                selectall_btn,
                mxCreateString("enable"),
                mxCreateString("off"),
                NULL));
            /*
             * s = get(listbox,'string');
             */
            mlfAssign(&s, mlfGet(listbox, mxCreateString("string"), NULL));
            /*
             * set(listbox,'value',1:length(s));
             */
            mclAssignAns(
              &ans,
              mlfNSet(
                0,
                listbox,
                mxCreateString("value"),
                mlfColon(mlfScalar(1.0), mlfLength(s), NULL),
                NULL));
        /*
         * 
         * case 3  % listbox callback
         */
        } else if (mclSwitchCompare(t_, mlfScalar(3.0))) {
            /*
             * listbox = findobj(gcf,'tag','listbox');
             */
            mlfAssign(
              &listbox,
              mlfFindobj(
                mlfGcf(),
                mxCreateString("tag"),
                mxCreateString("listbox"),
                NULL));
            /*
             * selectall_btn = findobj(gcf,'tag','selectall_btn');
             */
            mlfAssign(
              &selectall_btn,
              mlfFindobj(
                mlfGcf(),
                mxCreateString("tag"),
                mxCreateString("selectall_btn"),
                NULL));
            /*
             * v = get(listbox,'value');
             */
            mlfAssign(&v, mlfGet(listbox, mxCreateString("value"), NULL));
            /*
             * s = get(listbox,'string');
             */
            mlfAssign(&s, mlfGet(listbox, mxCreateString("string"), NULL));
            /*
             * if length(s)==length(v)
             */
            if (mlfTobool(mlfEq(mlfLength(s), mlfLength(v)))) {
                /*
                 * set(selectall_btn,'enable','off')
                 */
                mclPrintAns(
                  &ans,
                  mlfNSet(
                    0,
                    selectall_btn,
                    mxCreateString("enable"),
                    mxCreateString("off"),
                    NULL));
            /*
             * else
             */
            } else {
                /*
                 * set(selectall_btn,'enable','on')
                 */
                mclPrintAns(
                  &ans,
                  mlfNSet(
                    0,
                    selectall_btn,
                    mxCreateString("enable"),
                    mxCreateString("on"),
                    NULL));
            /*
             * end
             */
            }
        /*
         * 
         * case 4  % Double-click to choose
         */
        } else if (mclSwitchCompare(t_, mlfScalar(4.0))) {
            /*
             * stype = get(gcf, 'SelectionType');
             */
            mlfAssign(
              &stype, mlfGet(mlfGcf(), mxCreateString("SelectionType"), NULL));
            /*
             * if (strcmp(stype, 'open')),
             */
            if (mlfTobool(mlfStrcmp(stype, mxCreateString("open")))) {
                /*
                 * set(gcf, 'userdata', 'ok');   
                 */
                mclAssignAns(
                  &ans,
                  mlfNSet(
                    0,
                    mlfGcf(),
                    mxCreateString("userdata"),
                    mxCreateString("ok"),
                    NULL));
            /*
             * end;
             */
            }
        /*
         * 
         * end
         */
        }
        mxDestroyArray(t_);
    /*
     * 
     * end
     */
    }
    mclValidateOutputs("listdlg", 2, nargout_, &selection, value);
    mxDestroyArray(ans);
    mxDestroyArray(btn_wid);
    mxDestroyArray(cancel_btn);
    mxDestroyArray(cancelstring);
    mxDestroyArray(ex);
    mxDestroyArray(ffs);
    mxDestroyArray(fig);
    mxDestroyArray(fig_props);
    mxDestroyArray(figname);
    mxDestroyArray(fp);
    mxDestroyArray(fus);
    mxDestroyArray(h);
    mxDestroyArray(i);
    mxDestroyArray(initialvalue);
    mxDestroyArray(listbox);
    mxDestroyArray(listsize);
    mxDestroyArray(liststring);
    mxDestroyArray(ok_btn);
    mxDestroyArray(okstring);
    mxDestroyArray(prompt_text);
    mxDestroyArray(promptstring);
    mxDestroyArray(s);
    mxDestroyArray(selectall_btn);
    mxDestroyArray(smode);
    mxDestroyArray(stype);
    mxDestroyArray(uh);
    mxDestroyArray(v);
    mxDestroyArray(w);
    /*
     * 
     * 
     */
    return selection;
}

/*
 * The function "mlfListdlg" contains the normal interface for the "listdlg"
 * M-function from file "C:\MATLABR11\toolbox\matlab\uitools\listdlg.m" (lines
 * 1-225). This function processes any input arguments and passes them to the
 * implementation version of the function, appearing above.
 */
mxArray * mlfListdlg(mxArray * * value, ...) {
    mxArray * varargin = mclUnassigned();
    int nargout = 1;
    mxArray * selection = mclGetUninitializedArray();
    mxArray * value__ = mclGetUninitializedArray();
    mlfVarargin(&varargin, value, 0);
    mlfEnterNewContext(1, -1, value, varargin);
    if (value != NULL) {
        ++nargout;
    }
    selection = Mlistdlg(&value__, nargout, varargin);
    mlfRestorePreviousContext(1, 0, value);
    mxDestroyArray(varargin);
    if (value != NULL) {
        mclCopyOutputArg(value, value__);
    } else {
        mxDestroyArray(value__);
    }
    return mlfReturnValue(selection);
}

/*
 * The function "mlxListdlg" contains the feval interface for the "listdlg"
 * M-function from file "C:\MATLABR11\toolbox\matlab\uitools\listdlg.m" (lines
 * 1-225). The feval function calls the implementation version of listdlg
 * through this function. This function processes any input arguments and
 * passes them to the implementation version of the function, appearing above.
 */
void mlxListdlg(int nlhs, mxArray * plhs[], int nrhs, mxArray * prhs[]) {
    mxArray * mprhs[1];
    mxArray * mplhs[2];
    int i;
    if (nlhs > 2) {
        mlfError(
          mxCreateString(
            "Run-time Error: File: listdlg Line: 1 Column: "
            "0 The function \"listdlg\" was called with mor"
            "e than the declared number of outputs (2)"));
    }
    for (i = 0; i < 2; ++i) {
        mplhs[i] = NULL;
    }
    mlfEnterNewContext(0, 0);
    mprhs[0] = NULL;
    mlfAssign(&mprhs[0], mclCreateVararginCell(nrhs, prhs));
    mplhs[0] = Mlistdlg(&mplhs[1], nlhs, mprhs[0]);
    mlfRestorePreviousContext(0, 0);
    plhs[0] = mplhs[0];
    for (i = 1; i < 2 && i < nlhs; ++i) {
        plhs[i] = mplhs[i];
    }
    for (; i < 2; ++i) {
        mxDestroyArray(mplhs[i]);
    }
    mxDestroyArray(mprhs[0]);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -