📄 inputdlg.c
字号:
/*
* NumLines=NumLines(OneVect,:);
*/
mlfAssign(
&NumLines,
mlfIndexRef(NumLines, "(?,?)", OneVect, mlfCreateColonIndex()));
/*
* elseif (rw == 1 & cl == 1)
*/
} else {
mxDestroyArray(a_);
{
mxArray * a_ = mclInitialize(mlfEq(rw, mlfScalar(1.0)));
if (mlfTobool(a_)
&& mlfTobool(mlfAnd(a_, mlfEq(cl, mlfScalar(1.0))))) {
mxDestroyArray(a_);
/*
* NumLines=NumLines(OneVect);
*/
mlfAssign(&NumLines, mlfIndexRef(NumLines, "(?)", OneVect));
/*
* elseif (rw == 1 & cl == NumQuest)
*/
} else {
mxDestroyArray(a_);
{
mxArray * a_ = mclInitialize(mlfEq(rw, mlfScalar(1.0)));
if (mlfTobool(a_)
&& mlfTobool(mlfAnd(a_, mlfEq(cl, NumQuest)))) {
mxDestroyArray(a_);
/*
* NumLines = NumLines'
*/
mlfAssign(&NumLines, mlfCtranspose(NumLines));
mclPrintArray(NumLines, "NumLines");
/*
* elseif rw ~= NumQuest | cl > 2,
*/
} else {
mxDestroyArray(a_);
{
mxArray * a_ = mclInitialize(
mlfNe(rw, NumQuest));
if (mlfTobool(a_)
|| mlfTobool(
mlfOr(
a_, mlfGt(cl, mlfScalar(2.0))))) {
mxDestroyArray(a_);
/*
* error('NumLines size is incorrect.')
*/
mlfError(
mxCreateString(
"NumLines size is incorrect."));
} else {
mxDestroyArray(a_);
}
}
}
}
}
}
}
/*
* end
*/
}
/*
*
* if ~iscell(DefAns),
*/
if (mlfTobool(mlfNot(mlfIscell(DefAns)))) {
/*
* error('Default Answer must be a cell array in INPUTDLG.');
*/
mlfError(
mxCreateString("Default Answer must be a cell array in INPUTDLG."));
/*
* end
*/
}
/*
*
* %%%%%%%%%%%%%%%%%%%%%%%
* %%% Create InputFig %%%
* %%%%%%%%%%%%%%%%%%%%%%%
* FigWidth=300;FigHeight=100;
*/
mlfAssign(&FigWidth, mlfScalar(300.0));
mlfAssign(&FigHeight, mlfScalar(100.0));
/*
* FigPos(3:4)=[FigWidth FigHeight];
*/
mlfIndexAssign(
&FigPos,
"(?)",
mlfColon(mlfScalar(3.0), mlfScalar(4.0), NULL),
mlfHorzcat(FigWidth, FigHeight, NULL));
/*
* FigColor=get(0,'Defaultuicontrolbackgroundcolor');
*/
mlfAssign(
&FigColor,
mlfGet(
mlfScalar(0.0),
mxCreateString("Defaultuicontrolbackgroundcolor"),
NULL));
/*
* InputFig=dialog( ...
*/
mlfAssign(
&InputFig,
mlfDialog(
mxCreateString("Visible"),
mxCreateString("off"),
mxCreateString("Name"),
Title,
mxCreateString("Pointer"),
mxCreateString("arrow"),
mxCreateString("Units"),
mxCreateString("points"),
mxCreateString("UserData"),
mxCreateString(""),
mxCreateString("Tag"),
Title,
mxCreateString("HandleVisibility"),
mxCreateString("on"),
mxCreateString("Color"),
FigColor,
mxCreateString("NextPlot"),
mxCreateString("add"),
mxCreateString("WindowStyle"),
WindowStyle,
mxCreateString("Resize"),
Resize,
NULL));
/*
* 'Visible' ,'off' , ...
* 'Name' ,Title , ...
* 'Pointer' ,'arrow' , ...
* 'Units' ,'points' , ...
* 'UserData' ,'' , ...
* 'Tag' ,Title , ...
* 'HandleVisibility','on' , ...
* 'Color' ,FigColor , ...
* 'NextPlot' ,'add' , ...
* 'WindowStyle' ,WindowStyle, ...
* 'Resize' ,Resize ...
* );
*
*
* %%%%%%%%%%%%%%%%%%%%%
* %%% Set Positions %%%
* %%%%%%%%%%%%%%%%%%%%%
* DefOffset=5;
*/
mlfAssign(&DefOffset, mlfScalar(5.0));
/*
* SmallOffset=2;
*/
mlfAssign(&SmallOffset, mlfScalar(2.0));
/*
*
* DefBtnWidth=50;
*/
mlfAssign(&DefBtnWidth, mlfScalar(50.0));
/*
* BtnHeight=20;
*/
mlfAssign(&BtnHeight, mlfScalar(20.0));
/*
* BtnYOffset=DefOffset;
*/
mlfAssign(&BtnYOffset, DefOffset);
/*
* BtnFontSize=get(0,'FactoryUIControlFontSize');
*/
mlfAssign(
&BtnFontSize,
mlfGet(mlfScalar(0.0), mxCreateString("FactoryUIControlFontSize"), NULL));
/*
* BtnWidth=DefBtnWidth;
*/
mlfAssign(&BtnWidth, DefBtnWidth);
/*
* TxtBackClr=FigColor;
*/
mlfAssign(&TxtBackClr, FigColor);
/*
* TxtForeClr=Black;
*/
mlfAssign(&TxtForeClr, Black);
/*
*
* TextInfo.Units ='points' ;
*/
mlfIndexAssign(&TextInfo, ".Units", mxCreateString("points"));
/*
* TextInfo.FontSize =BtnFontSize;
*/
mlfIndexAssign(&TextInfo, ".FontSize", BtnFontSize);
/*
* TextInfo.HorizontalAlignment='left' ;
*/
mlfIndexAssign(&TextInfo, ".HorizontalAlignment", mxCreateString("left"));
/*
* TextInfo.HandleVisibility ='callback' ;
*/
mlfIndexAssign(&TextInfo, ".HandleVisibility", mxCreateString("callback"));
/*
*
* StInfo=TextInfo;
*/
mlfAssign(&StInfo, TextInfo);
/*
* StInfo.Style ='text' ;
*/
mlfIndexAssign(&StInfo, ".Style", mxCreateString("text"));
/*
* StInfo.BackgroundColor =TxtBackClr ;
*/
mlfIndexAssign(&StInfo, ".BackgroundColor", TxtBackClr);
/*
* StInfo.ForegroundColor =TxtForeClr ;
*/
mlfIndexAssign(&StInfo, ".ForegroundColor", TxtForeClr);
/*
*
* TextInfo.VerticalAlignment='bottom';
*/
mlfIndexAssign(&TextInfo, ".VerticalAlignment", mxCreateString("bottom"));
/*
*
* EdInfo=StInfo;
*/
mlfAssign(&EdInfo, StInfo);
/*
* EdInfo.Style='edit';
*/
mlfIndexAssign(&EdInfo, ".Style", mxCreateString("edit"));
/*
* EdInfo.BackgroundColor=White;
*/
mlfIndexAssign(&EdInfo, ".BackgroundColor", White);
/*
*
* BtnInfo=StInfo;
*/
mlfAssign(&BtnInfo, StInfo);
/*
* BtnInfo.Style='pushbutton';
*/
mlfIndexAssign(&BtnInfo, ".Style", mxCreateString("pushbutton"));
/*
* BtnInfo.HorizontalAlignment='center';
*/
mlfIndexAssign(&BtnInfo, ".HorizontalAlignment", mxCreateString("center"));
/*
*
* % Determine # of lines for all Prompts
* ExtControl=uicontrol(StInfo, ...
*/
mlfAssign(
&ExtControl,
mlfNUicontrol(
1,
StInfo,
mxCreateString("String"),
mxCreateString(""),
mxCreateString("Position"),
mlfHorzcat(
DefOffset,
DefOffset,
mlfMtimes(
mlfScalar(0.96),
mlfMinus(FigWidth, mlfMtimes(mlfScalar(2.0), DefOffset))),
BtnHeight,
NULL),
mxCreateString("Visible"),
mxCreateString("off"),
NULL));
/*
* 'String' ,'' , ...
* 'Position' ,[DefOffset DefOffset ...
* 0.96*(FigWidth-2*DefOffset) BtnHeight ...
* ] , ...
* 'Visible' ,'off' ...
* );
*
* WrapQuest=cell(NumQuest,1);
*/
mlfAssign(&WrapQuest, mlfCell(NumQuest, mlfScalar(1.0), NULL));
/*
* QuestPos=zeros(NumQuest,4);
*/
mlfAssign(&QuestPos, mlfZeros(NumQuest, mlfScalar(4.0), NULL));
/*
*
* for ExtLp=1:NumQuest,
*/
for (mclForStart(&iterator_0, mlfScalar(1.0), NumQuest, NULL);
mclForNext(&iterator_0, &ExtLp);
) {
/*
* if size(NumLines,2)==2
*/
if (mlfTobool(
mlfEq(
mlfSize(mclValueVarargout(), NumLines, mlfScalar(2.0)),
mlfScalar(2.0)))) {
/*
* [WrapQuest{ExtLp},QuestPos(ExtLp,1:4)]= ...
* textwrap(ExtControl,Prompt(ExtLp),NumLines(ExtLp,2));
*/
mlfFeval(
mlfIndexVarargout(
&WrapQuest, "{?}", ExtLp,
&QuestPos,
"(?,?)",
ExtLp,
mlfColon(mlfScalar(1.0), mlfScalar(4.0), NULL),
NULL),
mlxTextwrap,
ExtControl,
mlfIndexRef(Prompt, "(?)", ExtLp),
mlfIndexRef(NumLines, "(?,?)", ExtLp, mlfScalar(2.0)),
NULL);
/*
* else,
*/
} else {
/*
* [WrapQuest{ExtLp},QuestPos(ExtLp,1:4)]= ...
* textwrap(ExtControl,Prompt(ExtLp),80);
*/
mlfFeval(
mlfIndexVarargout(
&WrapQuest, "{?}", ExtLp,
&QuestPos,
"(?,?)",
ExtLp,
mlfColon(mlfScalar(1.0), mlfScalar(4.0), NULL),
NULL),
mlxTextwrap,
ExtControl,
mlfIndexRef(Prompt, "(?)", ExtLp),
mlfScalar(80.0),
NULL);
/*
* end
*/
}
/*
* end % for ExtLp
*/
}
/*
*
* delete(ExtControl);
*/
mlfDelete(ExtControl, NULL);
/*
* QuestHeight=QuestPos(:,4);
*/
mlfAssign(
&QuestHeight,
mlfIndexRef(QuestPos, "(?,?)", mlfCreateColonIndex(), mlfScalar(4.0)));
/*
*
* TxtHeight=QuestHeight(1)/size(WrapQuest{1,1},1);
*/
mlfAssign(
&TxtHeight,
mlfMrdivide(
mlfIndexRef(QuestHeight, "(?)", mlfScalar(1.0)),
mlfFeval(
mclValueVarargout(),
mlxSize,
mlfIndexRef(WrapQuest, "{?,?}", mlfScalar(1.0), mlfScalar(1.0)),
mlfScalar(1.0),
NULL)));
/*
* EditHeight=TxtHeight*NumLines(:,1);
*/
mlfAssign(
&EditHeight,
mlfMtimes(
TxtHeight,
mlfIndexRef(NumLines, "(?,?)", mlfCreateColonIndex(), mlfScalar(1.0))));
/*
* EditHeight(NumLines(:,1)==1)=EditHeight(NumLines(:,1)==1)+4;
*/
mlfIndexAssign(
&EditHeight,
"(?)",
mlfEq(
mlfIndexRef(NumLines, "(?,?)", mlfCreateColonIndex(), mlfScalar(1.0)),
mlfScalar(1.0)),
mlfPlus(
mlfIndexRef(
EditHeight,
"(?)",
mlfEq(
mlfIndexRef(
NumLines, "(?,?)", mlfCreateColonIndex(), mlfScalar(1.0)),
mlfScalar(1.0))),
mlfScalar(4.0)));
/*
*
* FigHeight=(NumQuest+2)*DefOffset + ...
*/
mlfAssign(
&FigHeight,
mlfPlus(
mlfPlus(
mlfPlus(
mlfMtimes(mlfPlus(NumQuest, mlfScalar(2.0)), DefOffset), BtnHeight),
mlfSum(EditHeight, NULL)),
mlfSum(QuestHeight, NULL)));
/*
* BtnHeight+sum(EditHeight) + ...
* sum(QuestHeight);
*
* TxtXOffset=DefOffset;
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -