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

📄 inputdlg.c

📁 ASUFIT-Matlab-全局拟合程序
💻 C
📖 第 1 页 / 共 5 页
字号:
    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 + -