📄 inputdlg.c
字号:
mlfAssign(&TxtXOffset, DefOffset);
/*
* TxtWidth=FigWidth-2*DefOffset;
*/
mlfAssign(
&TxtWidth, mlfMinus(FigWidth, mlfMtimes(mlfScalar(2.0), DefOffset)));
/*
* TxtForeClr=Black;
*/
mlfAssign(&TxtForeClr, Black);
/*
* TxtBackClr=get(InputFig,'Color');
*/
mlfAssign(&TxtBackClr, mlfGet(InputFig, mxCreateString("Color"), NULL));
/*
*
* QuestYOffset=zeros(NumQuest,1);
*/
mlfAssign(&QuestYOffset, mlfZeros(NumQuest, mlfScalar(1.0), NULL));
/*
* EditYOffset=zeros(NumQuest,1);
*/
mlfAssign(&EditYOffset, mlfZeros(NumQuest, mlfScalar(1.0), NULL));
/*
* QuestYOffset(1)=FigHeight-DefOffset-QuestHeight(1);
*/
mlfIndexAssign(
&QuestYOffset,
"(?)",
mlfScalar(1.0),
mlfMinus(
mlfMinus(FigHeight, DefOffset),
mlfIndexRef(QuestHeight, "(?)", mlfScalar(1.0))));
/*
* EditYOffset(1)=QuestYOffset(1)-EditHeight(1);% -SmallOffset;
*/
mlfIndexAssign(
&EditYOffset,
"(?)",
mlfScalar(1.0),
mlfMinus(
mlfIndexRef(QuestYOffset, "(?)", mlfScalar(1.0)),
mlfIndexRef(EditHeight, "(?)", mlfScalar(1.0))));
/*
*
* for YOffLp=2:NumQuest,
*/
for (mclForStart(&iterator_0, mlfScalar(2.0), NumQuest, NULL);
mclForNext(&iterator_0, &YOffLp);
) {
/*
* QuestYOffset(YOffLp)=EditYOffset(YOffLp-1)-QuestHeight(YOffLp)-DefOffset;
*/
mlfIndexAssign(
&QuestYOffset,
"(?)",
YOffLp,
mlfMinus(
mlfMinus(
mlfIndexRef(EditYOffset, "(?)", mlfMinus(YOffLp, mlfScalar(1.0))),
mlfIndexRef(QuestHeight, "(?)", YOffLp)),
DefOffset));
/*
* EditYOffset(YOffLp)=QuestYOffset(YOffLp)-EditHeight(YOffLp); %-SmallOffset;
*/
mlfIndexAssign(
&EditYOffset,
"(?)",
YOffLp,
mlfMinus(
mlfIndexRef(QuestYOffset, "(?)", YOffLp),
mlfIndexRef(EditHeight, "(?)", YOffLp)));
/*
* end % for YOffLp
*/
}
/*
*
* QuestHandle=[];
*/
mlfAssign(&QuestHandle, mclCreateEmptyArray());
/*
* EditHandle=[];
*/
mlfAssign(&EditHandle, mclCreateEmptyArray());
/*
* FigWidth =1;
*/
mlfAssign(&FigWidth, mlfScalar(1.0));
/*
*
* AxesHandle=axes('Parent',InputFig,'Position',[0 0 1 1],'Visible','off');
*/
mlfAssign(
&AxesHandle,
mlfNAxes(
1,
mxCreateString("Parent"),
InputFig,
mxCreateString("Position"),
mlfDoubleMatrix(1, 4, __Array5_r, NULL),
mxCreateString("Visible"),
mxCreateString("off"),
NULL));
/*
*
* for lp=1:NumQuest,
*/
for (mclForStart(&iterator_0, mlfScalar(1.0), NumQuest, NULL);
mclForNext(&iterator_0, &lp);
) {
/*
* QuestTag=['Prompt' num2str(lp)];
*/
mlfAssign(
&QuestTag,
mlfHorzcat(mxCreateString("Prompt"), mlfNum2str(lp, NULL), NULL));
/*
* EditTag=['Edit' num2str(lp)];
*/
mlfAssign(
&EditTag,
mlfHorzcat(mxCreateString("Edit"), mlfNum2str(lp, NULL), NULL));
/*
* if ~ischar(DefAns{lp}),
*/
if (mlfTobool(
mlfNot(
mlfFeval(
mclValueVarargout(),
mlxIschar,
mlfIndexRef(DefAns, "{?}", lp),
NULL)))) {
/*
* delete(InputFig);
*/
mlfDelete(InputFig, NULL);
/*
* error('Default answers must be strings in INPUTDLG.');
*/
mlfError(
mxCreateString("Default answers must be strings in INPUTDLG."));
/*
* end
*/
}
/*
* QuestHandle(lp)=text('Parent',AxesHandle, ...
*/
mlfIndexAssign(
&QuestHandle,
"(?)",
lp,
mlfNText(
1,
mxCreateString("Parent"),
AxesHandle,
TextInfo,
mxCreateString("Position"),
mlfHorzcat(TxtXOffset, mlfIndexRef(QuestYOffset, "(?)", lp), NULL),
mxCreateString("String"),
mlfIndexRef(WrapQuest, "{?}", lp),
mxCreateString("Interpreter"),
Interpreter,
mxCreateString("Tag"),
QuestTag,
NULL));
/*
* TextInfo , ...
* 'Position' ,[ TxtXOffset QuestYOffset(lp)], ...
* 'String' ,WrapQuest{lp} , ...
* 'Interpreter',Interpreter , ...
* 'Tag' ,QuestTag ...
* );
*
* % QuestHandle(lp)=uicontrol(InputFig , ...
* % StInfo , ...
* % 'Max' ,size(Prompt{lp},1), ...
* % 'Position' ,[ TxtXOffset QuestYOffset(lp) ...
* % TxtWidth QuestHeight(lp) ...
* % ] , ...
* % 'String' ,WrapQuest{lp} , ...
* % 'Tag' ,QuestTag ...
* % );
*
* EditHandle(lp)=uicontrol(InputFig ,EdInfo , ...
*/
mlfIndexAssign(
&EditHandle,
"(?)",
lp,
mlfNUicontrol(
1,
InputFig,
EdInfo,
mxCreateString("Max"),
mlfIndexRef(NumLines, "(?,?)", lp, mlfScalar(1.0)),
mxCreateString("Position"),
mlfHorzcat(
TxtXOffset,
mlfIndexRef(EditYOffset, "(?)", lp),
TxtWidth,
mlfIndexRef(EditHeight, "(?)", lp),
NULL),
mxCreateString("String"),
mlfIndexRef(DefAns, "{?}", lp),
mxCreateString("Tag"),
QuestTag,
NULL));
/*
* 'Max' ,NumLines(lp,1) , ...
* 'Position' ,[ TxtXOffset EditYOffset(lp) ...
* TxtWidth EditHeight(lp) ...
* ] , ...
* 'String' ,DefAns{lp} , ...
* 'Tag' ,QuestTag ...
* );
* if size(NumLines,2) == 2,
*/
if (mlfTobool(
mlfEq(
mlfSize(mclValueVarargout(), NumLines, mlfScalar(2.0)),
mlfScalar(2.0)))) {
/*
* set(EditHandle(lp),'String',char(ones(1,NumLines(lp,2))*'x'));
*/
mclAssignAns(
&ans,
mlfNSet(
0,
mlfIndexRef(EditHandle, "(?)", lp),
mxCreateString("String"),
mlfChar(
mlfMtimes(
mlfOnes(
mlfScalar(1.0),
mlfIndexRef(NumLines, "(?,?)", lp, mlfScalar(2.0)),
NULL),
mxCreateString("x")),
NULL),
NULL));
/*
* Extent = get(EditHandle(lp),'Extent');
*/
mlfAssign(
&Extent,
mlfGet(
mlfIndexRef(EditHandle, "(?)", lp),
mxCreateString("Extent"),
NULL));
/*
* NewPos = [TxtXOffset EditYOffset(lp) Extent(3) EditHeight(lp) ];
*/
mlfAssign(
&NewPos,
mlfHorzcat(
TxtXOffset,
mlfIndexRef(EditYOffset, "(?)", lp),
mlfIndexRef(Extent, "(?)", mlfScalar(3.0)),
mlfIndexRef(EditHeight, "(?)", lp),
NULL));
/*
* % NewPos1= [TxtXOffset QuestYOffset(lp) Extent(3) QuestHeight(lp)];
* NewPos1= [TxtXOffset QuestYOffset(lp)];
*/
mlfAssign(
&NewPos1,
mlfHorzcat(
TxtXOffset, mlfIndexRef(QuestYOffset, "(?)", lp), NULL));
/*
* set(EditHandle(lp),'Position',NewPos,'String',DefAns{lp})
*/
mclPrintAns(
&ans,
mlfNSet(
0,
mlfIndexRef(EditHandle, "(?)", lp),
mxCreateString("Position"),
NewPos,
mxCreateString("String"),
mlfIndexRef(DefAns, "{?}", lp),
NULL));
/*
* set(QuestHandle(lp),'Position',NewPos1)
*/
mclPrintAns(
&ans,
mlfNSet(
0,
mlfIndexRef(QuestHandle, "(?)", lp),
mxCreateString("Position"),
NewPos1,
NULL));
/*
*
* FigWidth=max(FigWidth,Extent(3)+2*DefOffset);
*/
mlfAssign(
&FigWidth,
mlfMax(
NULL,
FigWidth,
mlfPlus(
mlfIndexRef(Extent, "(?)", mlfScalar(3.0)),
mlfMtimes(mlfScalar(2.0), DefOffset)),
NULL));
/*
* else
*/
} else {
/*
* FigWidth=max(175,TxtWidth+2*DefOffset);
*/
mlfAssign(
&FigWidth,
mlfMax(
NULL,
mlfScalar(175.0),
mlfPlus(TxtWidth, mlfMtimes(mlfScalar(2.0), DefOffset)),
NULL));
/*
* end
*/
}
/*
*
* end % for lp
*/
}
/*
*
* FigPos=get(InputFig,'Position');
*/
mlfAssign(&FigPos, mlfGet(InputFig, mxCreateString("Position"), NULL));
/*
*
* Temp=get(0,'Units');
*/
mlfAssign(&Temp, mlfGet(mlfScalar(0.0), mxCreateString("Units"), NULL));
/*
* set(0,'Units','points');
*/
mclAssignAns(
&ans,
mlfNSet(
0,
mlfScalar(0.0),
mxCreateString("Units"),
mxCreateString("points"),
NULL));
/*
* ScreenSize=get(0,'ScreenSize');
*/
mlfAssign(
&ScreenSize, mlfGet(mlfScalar(0.0), mxCreateString("ScreenSize"), NULL));
/*
* set(0,'Units',Temp);
*/
mclAssignAns(
&ans, mlfNSet(0, mlfScalar(0.0), mxCreateString("Units"), Temp, NULL));
/*
*
* FigWidth=max(FigWidth,2*(BtnWidth+DefOffset)+DefOffset);
*/
mlfAssign(
&FigWidth,
mlfMax(
NULL,
FigWidth,
mlfPlus(
mlfMtimes(mlfScalar(2.0), mlfPlus(BtnWidth, DefOffset)), DefOffset),
NULL));
/*
* FigPos(1)=(ScreenSize(3)-FigWidth)/2;
*/
mlfIndexAssign(
&FigPos,
"(?)",
mlfScalar(1.0),
mlfMrdivide(
mlfMinus(mlfIndexRef(ScreenSize, "(?)", mlfScalar(3.0)), FigWidth),
mlfScalar(2.0)));
/*
* FigPos(2)=(ScreenSize(4)-FigHeight)/2;
*/
mlfIndexAssign(
&FigPos,
"(?)",
mlfScalar(2.0),
mlfMrdivide(
mlfMinus(mlfIndexRef(ScreenSize, "(?)", mlfScalar(4.0)), FigHeight),
mlfScalar(2.0)));
/*
* FigPos(3)=FigWidth;
*/
mlfIndexAssign(&FigPos, "(?)", mlfScalar(3.0), FigWidth);
/*
* FigPos(4)=FigHeight;
*/
mlfIndexAssign(&FigPos, "(?)", mlfScalar(4.0), FigHeight);
/*
*
* set(InputFig,'Position',FigPos);
*/
mclAssignAns(
&ans, mlfNSet(0, InputFig, mxCreateString("Position"), FigPos, NULL));
/*
*
* CBString='set(gcbf,''UserData'',''Cancel'');uiresume';
*/
mlfAssign(
&CBString, mxCreateString("set(gcbf,'UserData','Cancel');uiresume"));
/*
*
* CancelHandle=uicontrol(InputFig , ...
*/
mlfAssign(
&CancelHandle,
mlfNUicontrol(
1,
InputFig,
BtnInfo,
mxCreateString("Position"),
mlfHorzcat(DefOffset, DefOffset, BtnWidth, BtnHeight, NULL),
mxCreateString("String"),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -