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

📄 listdlg.c

📁 ASUFIT-Matlab-全局拟合程序
💻 C
📖 第 1 页 / 共 3 页
字号:
/*
 * MATLAB Compiler: 2.0.1
 * Date: Tue May 08 21:28:21 2001
 * Arguments: "-B" "sgl" "-m" "-W" "mainhg" "-L" "C" "asufit.m" "absfun.m"
 * "absfunfree.m" "absfunshift.m" "absfunwidth.m" "dispfit.m" "dispfitdisp.m"
 * "dispfitfree.m" "dispfitwidth.m" "seqmodfree.m" "spcfun.m" "spcfun1.m"
 * "atamult.m" "aprecon.m" 
 */
#include "listdlg.h"

static double __Array0_r[2] = { 160.0, 300.0 };

static double __Array1_r[2] = { 3.0, 4.0 };

/*
 * The function "Mlistdlg" is the implementation version of the "listdlg"
 * M-function from file "C:\MATLABR11\toolbox\matlab\uitools\listdlg.m" (lines
 * 1-225). It contains the actual compiled code for that M-function. It is a
 * static function and must only be called from one of the interface functions,
 * appearing below.
 */
/*
 * function [selection,value] = listdlg(varargin)
 */
static mxArray * Mlistdlg(mxArray * * value, int nargout_, mxArray * varargin) {
    mxArray * selection = mclGetUninitializedArray();
    mxArray * ans = mclInitializeAns();
    mxArray * btn_wid = mclGetUninitializedArray();
    mxArray * cancel_btn = mclGetUninitializedArray();
    mxArray * cancelstring = mclGetUninitializedArray();
    mxArray * ex = mclGetUninitializedArray();
    mxArray * ffs = mclGetUninitializedArray();
    mxArray * fig = mclGetUninitializedArray();
    mxArray * fig_props = mclGetUninitializedArray();
    mxArray * figname = mclGetUninitializedArray();
    mxArray * fp = mclGetUninitializedArray();
    mxArray * fus = mclGetUninitializedArray();
    mxArray * h = mclGetUninitializedArray();
    mxArray * i = mclGetUninitializedArray();
    mxArray * initialvalue = mclGetUninitializedArray();
    mclForLoopIterator iterator_0;
    mxArray * listbox = mclGetUninitializedArray();
    mxArray * listsize = mclGetUninitializedArray();
    mxArray * liststring = mclGetUninitializedArray();
    mxArray * ok_btn = mclGetUninitializedArray();
    mxArray * okstring = mclGetUninitializedArray();
    mxArray * prompt_text = mclGetUninitializedArray();
    mxArray * promptstring = mclGetUninitializedArray();
    mxArray * s = mclGetUninitializedArray();
    mxArray * selectall_btn = mclGetUninitializedArray();
    mxArray * smode = mclGetUninitializedArray();
    mxArray * stype = mclGetUninitializedArray();
    mxArray * uh = mclGetUninitializedArray();
    mxArray * v = mclGetUninitializedArray();
    mxArray * w = mclGetUninitializedArray();
    /*
     * %LISTDLG  List selection dialog box.
     * %   [SELECTION,OK] = LISTDLG('ListString',S) creates a modal dialog box 
     * %   which allows you to select a string or multiple strings from a list.
     * %   SELECTION is a vector of indices of the selected strings (length 1
     * %   in the single selection mode).  Can be [] on the Mac, and will be []
     * %   when OK is 0.
     * %   OK is 1 if you push the OK button, or 0 if you push the Cancel 
     * %   button or close the figure.
     * %   Double-clicking on an item or pressing <CR> when multiple items are
     * %   selected has the same effect as clicking the OK button.
     * %
     * %   Inputs are in parameter,value pairs:
     * %
     * %   Parameter       Description
     * %   'ListString'    cell array of strings for the list box.
     * %   'SelectionMode' string; can be 'single' or 'multiple'; defaults to
     * %                   'multiple'.
     * %   'ListSize'      [width height] of listbox in pixels; defaults
     * %                   to [160 300].
     * %   'InitialValue'  vector of indices of which items of the list box
     * %                   are initially selected; defaults to the first item.
     * %   'Name'          String for the figure's title. Defaults to ''.
     * %   'PromptString'  string matrix or cell array of strings which appears 
     * %                   as text above the list box.  Defaults to {}.
     * %   'OKString'      string for the OK button; defaults to 'OK'.
     * %   'CancelString'  string for the Cancel button; defaults to 'Cancel'.
     * %   'uh'            uicontrol button height, in pixels; default = 18.
     * %   'fus'           frame/uicontrol spacing, in pixels; default = 8.
     * %   'ffs'           frame/figure spacing, in pixels; default = 8.
     * %
     * %   A 'Select all' button is provided in the multiple selection case.
     * %
     * %   Example:
     * %     d = dir;
     * %     str = {d.name};
     * %     [s,v] = listdlg('PromptString','Select a file:',...
     * %                     'SelectionMode','single',...
     * %                     'ListString',str)
     * 
     * %   T. Krauss, 12/7/95, P.N. Secakusuma, 6/10/97
     * %   Copyright (c) 1984-98 by The MathWorks, Inc.
     * %   $Revision: 1.13 $  $Date: 1998/03/26 12:59:11 $
     * 
     * % if first input is an integer, dispatch to callbacks:
     * % listdlg(0) - OK button callback
     * % listdlg(1) - cancel button callback
     * % listdlg(2) - select all button callback
     * % listdlg(4) - double-click to choose the entry  (Addition by PNS)
     * 
     * if isstr(varargin{1})
     */
    if (mlfTobool(
          mlfFeval(
            mclValueVarargout(),
            mlxIsstr,
            mlfIndexRef(varargin, "{?}", mlfScalar(1.0)),
            NULL))) {
        /*
         * figname = '';
         */
        mlfAssign(&figname, mxCreateString(""));
        /*
         * smode = 2;   % (multiple)
         */
        mlfAssign(&smode, mlfScalar(2.0));
        /*
         * promptstring = {};
         */
        mlfAssign(&promptstring, mclCreateEmptyCell());
        /*
         * listsize = [160 300];
         */
        mlfAssign(&listsize, mlfDoubleMatrix(1, 2, __Array0_r, NULL));
        /*
         * initialvalue = [];
         */
        mlfAssign(&initialvalue, mclCreateEmptyArray());
        /*
         * okstring = 'Ok';
         */
        mlfAssign(&okstring, mxCreateString("Ok"));
        /*
         * cancelstring = 'Cancel';
         */
        mlfAssign(&cancelstring, mxCreateString("Cancel"));
        /*
         * fus = 8;
         */
        mlfAssign(&fus, mlfScalar(8.0));
        /*
         * ffs = 8;
         */
        mlfAssign(&ffs, mlfScalar(8.0));
        /*
         * uh = 18;
         */
        mlfAssign(&uh, mlfScalar(18.0));
        /*
         * 
         * for i=1:2:length(varargin)
         */
        for (mclForStart(
               &iterator_0,
               mlfScalar(1.0),
               mlfScalar(2.0),
               mlfLength(varargin));
             mclForNext(&iterator_0, &i);
             ) {
            /*
             * 
             * switch lower(varargin{i})
             */
            mxArray * t_ = mclUnassigned();
            mlfAssign(
              &t_,
              mlfFeval(
                mclValueVarargout(),
                mlxLower,
                mlfIndexRef(varargin, "{?}", i),
                NULL));
            /*
             * case 'name'
             */
            if (mclSwitchCompare(t_, mxCreateString("name"))) {
                /*
                 * figname = varargin{i+1};
                 */
                mlfAssign(
                  &figname,
                  mlfIndexRef(varargin, "{?}", mlfPlus(i, mlfScalar(1.0))));
            /*
             * case 'promptstring'
             */
            } else if (mclSwitchCompare(t_, mxCreateString("promptstring"))) {
                /*
                 * promptstring = varargin{i+1};
                 */
                mlfAssign(
                  &promptstring,
                  mlfIndexRef(varargin, "{?}", mlfPlus(i, mlfScalar(1.0))));
            /*
             * case 'selectionmode'
             */
            } else if (mclSwitchCompare(t_, mxCreateString("selectionmode"))) {
                /*
                 * switch lower(varargin{i+1})
                 */
                mxArray * t_ = mclUnassigned();
                mlfAssign(
                  &t_,
                  mlfFeval(
                    mclValueVarargout(),
                    mlxLower,
                    mlfIndexRef(varargin, "{?}", mlfPlus(i, mlfScalar(1.0))),
                    NULL));
                /*
                 * case 'single'
                 */
                if (mclSwitchCompare(t_, mxCreateString("single"))) {
                    /*
                     * smode = 1;
                     */
                    mlfAssign(&smode, mlfScalar(1.0));
                /*
                 * case 'multiple'
                 */
                } else if (mclSwitchCompare(t_, mxCreateString("multiple"))) {
                    /*
                     * smode = 2;
                     */
                    mlfAssign(&smode, mlfScalar(2.0));
                /*
                 * end
                 */
                }
                mxDestroyArray(t_);
            /*
             * case 'listsize'
             */
            } else if (mclSwitchCompare(t_, mxCreateString("listsize"))) {
                /*
                 * listsize = varargin{i+1};
                 */
                mlfAssign(
                  &listsize,
                  mlfIndexRef(varargin, "{?}", mlfPlus(i, mlfScalar(1.0))));
            /*
             * case 'liststring'
             */
            } else if (mclSwitchCompare(t_, mxCreateString("liststring"))) {
                /*
                 * liststring = varargin{i+1};
                 */
                mlfAssign(
                  &liststring,
                  mlfIndexRef(varargin, "{?}", mlfPlus(i, mlfScalar(1.0))));
            /*
             * case 'initialvalue'
             */
            } else if (mclSwitchCompare(t_, mxCreateString("initialvalue"))) {
                /*
                 * initialvalue = varargin{i+1};
                 */
                mlfAssign(
                  &initialvalue,
                  mlfIndexRef(varargin, "{?}", mlfPlus(i, mlfScalar(1.0))));
            /*
             * case 'uh'
             */
            } else if (mclSwitchCompare(t_, mxCreateString("uh"))) {
                /*
                 * uh = varargin{i+1};
                 */
                mlfAssign(
                  &uh,
                  mlfIndexRef(varargin, "{?}", mlfPlus(i, mlfScalar(1.0))));
            /*
             * case 'fus'
             */
            } else if (mclSwitchCompare(t_, mxCreateString("fus"))) {
                /*
                 * fus = varargin{i+1};
                 */
                mlfAssign(
                  &fus,
                  mlfIndexRef(varargin, "{?}", mlfPlus(i, mlfScalar(1.0))));
            /*
             * case 'ffs'
             */
            } else if (mclSwitchCompare(t_, mxCreateString("ffs"))) {
                /*
                 * ffs = varargin{i+1};
                 */
                mlfAssign(
                  &ffs,
                  mlfIndexRef(varargin, "{?}", mlfPlus(i, mlfScalar(1.0))));
            /*
             * case 'okstring'
             */
            } else if (mclSwitchCompare(t_, mxCreateString("okstring"))) {
                /*
                 * okstring = varargin{i+1};
                 */
                mlfAssign(
                  &okstring,
                  mlfIndexRef(varargin, "{?}", mlfPlus(i, mlfScalar(1.0))));
            /*
             * case 'cancelstring'
             */
            } else if (mclSwitchCompare(t_, mxCreateString("cancelstring"))) {
                /*
                 * cancelstring = varargin{i+1};
                 */
                mlfAssign(
                  &cancelstring,
                  mlfIndexRef(varargin, "{?}", mlfPlus(i, mlfScalar(1.0))));
            /*
             * end
             */
            }
            mxDestroyArray(t_);
        /*
         * end
         */
        }
        /*
         * 
         * if isstr(promptstring)
         */
        if (mlfTobool(mlfIsstr(promptstring))) {
            /*
             * promptstring = cellstr(promptstring); 
             */
            mlfAssign(&promptstring, mlfCellstr(promptstring));
        /*
         * end
         */
        }
        /*
         * 
         * if isempty(initialvalue)
         */
        if (mlfTobool(mlfIsempty(initialvalue))) {
            /*
             * initialvalue = 1;
             */
            mlfAssign(&initialvalue, mlfScalar(1.0));
        /*
         * end
         */
        }
        /*
         * 
         * ex = get(0,'defaultuicontrolfontsize')*1.5;  % height extent per line of
         */
        mlfAssign(
          &ex,
          mlfMtimes(

⌨️ 快捷键说明

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