📄 inputdlg.c
字号:
/*
* 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 "inputdlg.h"
static double __Array0_r[3] = { 0.0, 0.0, 0.0 };
static double __Array1_r[3] = { 192.0, 192.0, 192.0 };
static double __Array2_r[3] = { 160.0, 160.0, 164.0 };
static double __Array3_r[3] = { 128.0, 128.0, 128.0 };
static double __Array4_r[3] = { 255.0, 255.0, 255.0 };
static double __Array5_r[4] = { 0.0, 0.0, 1.0, 1.0 };
static double __Array6_r[2] = { 2.0, 4.0 };
static double __Array7_r[2] = { 2.0, 4.0 };
static double __Array8_r[2] = { 2.0, 4.0 };
static void Minputdlg_LocalResizeFcn(mxArray * FigHandle);
static void mlfInputdlg_LocalResizeFcn(mxArray * FigHandle);
static void mlxInputdlg_LocalResizeFcn(int nlhs,
mxArray * plhs[],
int nrhs,
mxArray * prhs[]);
/*
* The function "Minputdlg" is the implementation version of the "inputdlg"
* M-function from file "C:\MATLABR11\toolbox\matlab\uitools\inputdlg.m" (lines
* 1-363). 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 Answer=inputdlg(Prompt, Title, NumLines, DefAns,Resize)
*/
static mxArray * Minputdlg(int nargout_,
mxArray * Prompt,
mxArray * Title,
mxArray * NumLines,
mxArray * DefAns,
mxArray * Resize) {
mxArray * Answer = mclGetUninitializedArray();
mxArray * AxesHandle = mclGetUninitializedArray();
mxArray * Black = mclGetUninitializedArray();
mxArray * BtnFontSize = mclGetUninitializedArray();
mxArray * BtnHeight = mclGetUninitializedArray();
mxArray * BtnInfo = mclGetUninitializedArray();
mxArray * BtnWidth = mclGetUninitializedArray();
mxArray * BtnYOffset = mclGetUninitializedArray();
mxArray * CBString = mclGetUninitializedArray();
mxArray * CancelHandle = mclGetUninitializedArray();
mxArray * Data = mclGetUninitializedArray();
mxArray * DefBtnWidth = mclGetUninitializedArray();
mxArray * DefOffset = mclGetUninitializedArray();
mxArray * EdInfo = mclGetUninitializedArray();
mxArray * EditHandle = mclGetUninitializedArray();
mxArray * EditHeight = mclGetUninitializedArray();
mxArray * EditTag = mclGetUninitializedArray();
mxArray * EditYOffset = mclGetUninitializedArray();
mxArray * ExtControl = mclGetUninitializedArray();
mxArray * ExtLp = mclGetUninitializedArray();
mxArray * Extent = mclGetUninitializedArray();
mxArray * FigColor = mclGetUninitializedArray();
mxArray * FigHeight = mclGetUninitializedArray();
mxArray * FigPos = mclGetUninitializedArray();
mxArray * FigWidth = mclGetUninitializedArray();
mxArray * InputFig = mclGetUninitializedArray();
mxArray * Interpreter = mclGetUninitializedArray();
mxArray * LightGray = mclGetUninitializedArray();
mxArray * LightGray2 = mclGetUninitializedArray();
mxArray * MediumGray = mclGetUninitializedArray();
mxArray * NewPos = mclGetUninitializedArray();
mxArray * NewPos1 = mclGetUninitializedArray();
mxArray * NumQuest = mclGetUninitializedArray();
mxArray * OKHandle = mclGetUninitializedArray();
mxArray * OneVect = mclGetUninitializedArray();
mxArray * QuestHandle = mclGetUninitializedArray();
mxArray * QuestHeight = mclGetUninitializedArray();
mxArray * QuestPos = mclGetUninitializedArray();
mxArray * QuestTag = mclGetUninitializedArray();
mxArray * QuestYOffset = mclGetUninitializedArray();
mxArray * ScreenSize = mclGetUninitializedArray();
mxArray * SmallOffset = mclGetUninitializedArray();
mxArray * StInfo = mclGetUninitializedArray();
mxArray * Temp = mclGetUninitializedArray();
mxArray * TempHide = mclGetUninitializedArray();
mxArray * TextInfo = mclGetUninitializedArray();
mxArray * TxtBackClr = mclGetUninitializedArray();
mxArray * TxtForeClr = mclGetUninitializedArray();
mxArray * TxtHeight = mclGetUninitializedArray();
mxArray * TxtWidth = mclGetUninitializedArray();
mxArray * TxtXOffset = mclGetUninitializedArray();
mxArray * White = mclGetUninitializedArray();
mxArray * WindowStyle = mclGetUninitializedArray();
mxArray * WrapQuest = mclGetUninitializedArray();
mxArray * YOffLp = mclGetUninitializedArray();
mxArray * ans = mclInitializeAns();
mxArray * cl = mclGetUninitializedArray();
mclForLoopIterator iterator_0;
mxArray * lp = mclGetUninitializedArray();
mxArray * nargin_ = mclGetUninitializedArray();
mxArray * nargout = mclInitialize(mlfScalar(nargout_));
mxArray * rw = mclGetUninitializedArray();
mlfAssign(
&nargin_, mlfNargin(0, Prompt, Title, NumLines, DefAns, Resize, NULL));
mclValidateInputs(
"inputdlg", 5, &Prompt, &Title, &NumLines, &DefAns, &Resize);
mclCopyArray(&Prompt);
mclCopyArray(&Title);
mclCopyArray(&NumLines);
mclCopyArray(&DefAns);
mclCopyArray(&Resize);
/*
* %INPUTDLG Input dialog box.
* % Answer = inputdlg(Prompt) creates a modal dialog box that returns
* % user input for multiple prompts in the cell array Answer. Prompt
* % is a cell array containing the Prompt strings.
* %
* % Answer = inputdlg(Prompt,Title) specifies the Title for the dialog.
* %
* % Answer = inputdlg(Prompt,Title,LineNo) specifies the number of lines
* % for each answer in LineNo. LineNo may be a constant value or a
* % column vector having one element per Prompt that specifies how many
* % lines per input. LineNo may also be a matrix where the first
* % column specifies how many rows for the input field and the second
* % column specifies how many columns wide the input field should be.
* %
* % Answer = inputdlg(Prompt,Title,LineNo,DefAns) specifies the default
* % answer to display for each Prompt. DefAns must contain the same
* % number of elements as Prompt and must be a cell array.
* %
* % Answer = inputdlg(Prompt,Title,LineNo,DefAns,AddOpts) specifies whether
* % the dialog may be resized or not. Acceptable values for AddOpts are
* % 'on' or 'off'. If the dialog can be resized, then the dialog is
* % not modal.
* %
* % AddOpts may also be a data structure with fields Resize,
* % WindowStyle and Interpreter. Resize may be 'on' or 'off'.
* % WindowStyle may be 'modal' or 'normal' and Interpreter may be
* % 'tex' or 'none'. The interpreter applies to the prompt strings.
* %
* % Example:
* % prompt={'Enter the matrix size for x^2:','Enter the colormap name:'};
* % def={'20','hsv'};
* % dlgTitle='Input for Peaks function';
* % lineNo=1;
* % answer=inputdlg(prompt,dlgTitle,lineNo,def);
* %
* % or
* %
* % AddOpts.Resize='on';
* % AddOpts.WindowStyle='normal';
* % AddOpts.Interpreter='tex';
* % answer=inputdlg(prompt,dlgTitle,lineNo,def,AddOpts);
* %
* % See also TEXTWRAP, QUESTDLG.
*
* % Loren Dean May 24, 1995.
* % Copyright (c) 1984-98 by The MathWorks, Inc.
* % $Revision: 1.48 $
*
* %%%%%%%%%%%%%%%%%%%%%
* %%% General Info. %%%
* %%%%%%%%%%%%%%%%%%%%%
* Black =[0 0 0 ]/255;
*/
mlfAssign(
&Black,
mlfMrdivide(mlfDoubleMatrix(1, 3, __Array0_r, NULL), mlfScalar(255.0)));
/*
* LightGray =[192 192 192 ]/255;
*/
mlfAssign(
&LightGray,
mlfMrdivide(mlfDoubleMatrix(1, 3, __Array1_r, NULL), mlfScalar(255.0)));
/*
* LightGray2 =[160 160 164 ]/255;
*/
mlfAssign(
&LightGray2,
mlfMrdivide(mlfDoubleMatrix(1, 3, __Array2_r, NULL), mlfScalar(255.0)));
/*
* MediumGray =[128 128 128 ]/255;
*/
mlfAssign(
&MediumGray,
mlfMrdivide(mlfDoubleMatrix(1, 3, __Array3_r, NULL), mlfScalar(255.0)));
/*
* White =[255 255 255 ]/255;
*/
mlfAssign(
&White,
mlfMrdivide(mlfDoubleMatrix(1, 3, __Array4_r, NULL), mlfScalar(255.0)));
/*
*
* %%%%%%%%%%%%%%%%%%%%
* %%% Nargin Check %%%
* %%%%%%%%%%%%%%%%%%%%
* if nargin == 1 & nargout == 0,
*/
{
mxArray * a_ = mclInitialize(mlfEq(nargin_, mlfScalar(1.0)));
if (mlfTobool(a_)
&& mlfTobool(mlfAnd(a_, mlfEq(nargout, mlfScalar(0.0))))) {
mxDestroyArray(a_);
/*
* if strcmp(Prompt,'InputDlgResizeCB'),
*/
if (mlfTobool(
mlfStrcmp(Prompt, mxCreateString("InputDlgResizeCB")))) {
/*
* LocalResizeFcn(gcbf)
*/
mlfInputdlg_LocalResizeFcn(mlfGcbf());
/*
* return
*/
goto return_;
/*
* end
*/
}
} else {
mxDestroyArray(a_);
}
/*
* end
*/
}
/*
*
* if nargout~=1,error('Wrong number of output arguments for INPUTDLG');end
*/
if (mlfTobool(mlfNe(nargout, mlfScalar(1.0)))) {
mlfError(
mxCreateString("Wrong number of output arguments for INPUTDLG"));
}
/*
* if nargin<1,error('Too few arguments for INPUTDLG');end
*/
if (mlfTobool(mlfLt(nargin_, mlfScalar(1.0)))) {
mlfError(mxCreateString("Too few arguments for INPUTDLG"));
}
/*
*
* if nargin==1,
*/
if (mlfTobool(mlfEq(nargin_, mlfScalar(1.0)))) {
/*
* Title=' ';
*/
mlfAssign(&Title, mxCreateString(" "));
/*
* end
*/
}
/*
*
* if nargin<=2, NumLines=1;end
*/
if (mlfTobool(mlfLe(nargin_, mlfScalar(2.0)))) {
mlfAssign(&NumLines, mlfScalar(1.0));
}
/*
*
* if ~iscell(Prompt),
*/
if (mlfTobool(mlfNot(mlfIscell(Prompt)))) {
/*
* Prompt={Prompt};
*/
mlfAssign(&Prompt, mlfCellhcat(Prompt, NULL));
/*
* end
*/
}
/*
*
* NumQuest=prod(size(Prompt));
*/
mlfAssign(
&NumQuest, mlfProd(mlfSize(mclValueVarargout(), Prompt, NULL), NULL));
/*
*
* if nargin<=3,
*/
if (mlfTobool(mlfLe(nargin_, mlfScalar(3.0)))) {
/*
* DefAns=cell(NumQuest,1);
*/
mlfAssign(&DefAns, mlfCell(NumQuest, mlfScalar(1.0), NULL));
/*
* for lp=1:NumQuest, DefAns{lp}=''; end
*/
for (mclForStart(&iterator_0, mlfScalar(1.0), NumQuest, NULL);
mclForNext(&iterator_0, &lp);
) {
mlfIndexAssign(&DefAns, "{?}", lp, mxCreateString(""));
}
/*
* end
*/
}
/*
*
* WindowStyle='modal';
*/
mlfAssign(&WindowStyle, mxCreateString("modal"));
/*
* Interpreter='none';
*/
mlfAssign(&Interpreter, mxCreateString("none"));
/*
* if nargin<=4,
*/
if (mlfTobool(mlfLe(nargin_, mlfScalar(4.0)))) {
/*
* Resize = 'off';
*/
mlfAssign(&Resize, mxCreateString("off"));
/*
* end
*/
}
/*
*
* if nargin==5 & isstruct(Resize),
*/
{
mxArray * a_ = mclInitialize(mlfEq(nargin_, mlfScalar(5.0)));
if (mlfTobool(a_) && mlfTobool(mlfAnd(a_, mlfIsstruct(Resize)))) {
mxDestroyArray(a_);
/*
* Interpreter=Resize.Interpreter;
*/
mlfAssign(&Interpreter, mlfIndexRef(Resize, ".Interpreter"));
/*
* WindowStyle=Resize.WindowStyle;
*/
mlfAssign(&WindowStyle, mlfIndexRef(Resize, ".WindowStyle"));
/*
* Resize=Resize.Resize;
*/
mlfAssign(&Resize, mlfIndexRef(Resize, ".Resize"));
} else {
mxDestroyArray(a_);
}
/*
* end
*/
}
/*
*
* if strcmp(Resize,'on'),
*/
if (mlfTobool(mlfStrcmp(Resize, mxCreateString("on")))) {
/*
* WindowStyle='normal';
*/
mlfAssign(&WindowStyle, mxCreateString("normal"));
/*
* end
*/
}
/*
*
* if nargin>5,error('Too many input arguments');end
*/
if (mlfTobool(mlfGt(nargin_, mlfScalar(5.0)))) {
mlfError(mxCreateString("Too many input arguments"));
}
/*
*
* % Backwards Compatibility
* if isstr(NumLines),
*/
if (mlfTobool(mlfIsstr(NumLines))) {
/*
* warning(['Please see the INPUTDLG help for correct input syntax.' 10 ...
*/
mclAssignAns(
&ans,
mlfWarning(
NULL,
mlfHorzcat(
mxCreateString(
"Please see the INPUTDLG help for correct input syntax."),
mlfScalar(10.0),
mxCreateString(" OKCallback no longer supported."),
NULL)));
/*
* ' OKCallback no longer supported.' ]);
* NumLines=1;
*/
mlfAssign(&NumLines, mlfScalar(1.0));
/*
* end
*/
}
/*
*
* [rw,cl]=size(NumLines);
*/
mlfSize(mlfVarargout(&rw, &cl, NULL), NumLines, NULL);
/*
* OneVect = ones(NumQuest,1);
*/
mlfAssign(&OneVect, mlfOnes(NumQuest, mlfScalar(1.0), NULL));
/*
* if (rw == 1 & cl == 2)
*/
{
mxArray * a_ = mclInitialize(mlfEq(rw, mlfScalar(1.0)));
if (mlfTobool(a_) && mlfTobool(mlfAnd(a_, mlfEq(cl, mlfScalar(2.0))))) {
mxDestroyArray(a_);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -