/// <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); }
/// <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); }