コード例 #1
0
        /// <summary>
        /// コンストラクター:直接入力モード
        /// </summary>
        public dlgInsertCommand(CtrlComponent.Text.ctlCommandTree comTree, string summary, string comment, string footer, string defaultText)
        {
            this.InitializeComponent();
            this.obj = null;

            //与えられたオブジェクトに応じてセットアップする
            this.lblSummary.Text       = summary;
            this.lblComment.Text       = comment;
            this.lblReturnType.Text    = "";
            this.lblReturnComment.Text = footer;

            //単一入力欄を作る
            this.SuspendLayout();
            var newArg = new CtrlComponent.Text.ctlArgment();

            newArg.Setup(this.argTools, -1, "", "", defaultText);
            newArg.Size = new Size(this.pnlArguments.Width * 90 / 100, newArg.Height);
            this.pnlArguments.Controls.Add(newArg);

            this.ResumeLayout(false);
            this.SetCommandTree(comTree);
        }
コード例 #2
0
        /// <summary>
        /// コンストラクター:関数入力モード
        /// </summary>
        public dlgInsertCommand(CtrlComponent.Text.ctlCommandTree comTree, SQObject obj, string[] args = null)
        {
            this.InitializeComponent();
            this.obj = obj;

            //与えられたオブジェクトに応じてセットアップする
            //概要
            if (!string.IsNullOrEmpty(obj.Summary))
            {
                this.lblSummary.Text = obj.Summary;
            }
            else
            {
                //概要がない場合はオブジェクトのフルパスをそのまま表示する
                this.lblSummary.Text = (obj.ClassPath ?? "不明な関数: " + obj.Name).Replace("\\", ".");
            }

            //詳細説明
            if (!string.IsNullOrEmpty(obj.Comment))
            {
                this.lblComment.Text = obj.Comment;
            }
            else
            {
                this.lblComment.Text = "説明はありません。";
            }

            //戻り値の型
            if (!string.IsNullOrEmpty(obj.ReturnType))
            {
                this.lblReturnType.Text = $"戻り値 ({obj.ReturnType}):\r\n";
            }
            else
            {
                //戻り値の型が不明な場合
                this.lblReturnType.Text = $"戻り値 (不明):\r\n";
            }

            //戻り値の説明: 句点で改行するやさしさ
            if (!string.IsNullOrEmpty(obj.ReturnComment))
            {
                this.lblReturnComment.Text = obj.ReturnComment.Replace("。", "。\r\n");
            }
            else if (obj.ReturnType == "void")
            {
                this.lblReturnComment.Text = "戻り値はありません。";
            }
            else
            {
                this.lblReturnComment.Text = "説明はありません。";
            }

            //引数欄を作る
            this.SuspendLayout();
            for (var i = 0; i < obj.ArgumentList.Count; i++)
            {
                var newArg = new CtrlComponent.Text.ctlArgment();
                newArg.Setup(this.argTools, i + 1, obj.ArgumentList[i], (i < obj.ArgComments.Count) ? obj.ArgComments[i] : "", (args != null && i < args.Length) ? args[i] : "");
                newArg.Size = new Size(this.pnlArguments.Width * 90 / 100, newArg.Height);
                this.pnlArguments.Controls.Add(newArg);
            }

            this.ResumeLayout(false);
            this.SetCommandTree(comTree);
        }