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

📄 inputdlg.c

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