public override Expression_Node_Function NewInstance( Expression_Node_String parent_Expression, Configuration_Node cur_Conf, object /*MemoryApplication*/ owner_MemoryApplication, Log_Reports log_Reports) { Log_Method log_Method = new Log_MethodImpl(0); log_Method.BeginMethod(Info_Functions.Name_Library, this, "NewInstance", log_Reports); // Expression_Node_Function f0 = new Expression_Node_Function_BootCsvEditorImpl(this.EnumEventhandler, this.List_NameArgumentInitializer, this.Functiontranslatoritem); f0.Parent_Expression = parent_Expression; f0.Cur_Configuration = cur_Conf; ((Expression_Node_FunctionAbstract)f0).Owner_MemoryApplication = (MemoryApplication)owner_MemoryApplication; //関数名初期値 f0.SetAttribute(PmNames.S_NAME.Name_Pm, new Expression_Leaf_StringImpl(NAME_FUNCTION, null, cur_Conf), log_Reports); //「プロジェクト選択時」のイベントハンドラーを上書き要求。 { Expression_Node_Function expr_Func = Collection_Function.NewFunction2( Expression_Node_Function_OnEditorSelected_Impl.NAME_FUNCTION, f0, cur_Conf, owner_MemoryApplication, log_Reports ); ((Expression_Node_Function_BootCsvEditorImpl)f0).Functionitem_OnProjectSelected = expr_Func; } // log_Method.EndMethod(log_Reports); return(f0); }
//──────────────────────────────────────── #endregion #region アクション //──────────────────────────────────────── /// <summary> /// Exe_2ActionImpl#SToFc で使用。 /// </summary> /// <param name="s_Action"></param> /// <param name="bRequired"></param> /// <param name="log_Reports"></param> /// <returns></returns> public Expression_Node_Function Translate( Configurationtree_Node action_Conf, bool bRequired, Log_Reports log_Reports ) { Log_Method log_Method = new Log_MethodImpl(0); log_Method.BeginMethod(Info_Functions.Name_Library, this, "Translate", log_Reports); // // string sName_Fnc; if (action_Conf.Dictionary_Attribute.ContainsKey(PmNames.S_NAME.Name_Pm)) { action_Conf.Dictionary_Attribute.TryGetValue(PmNames.S_NAME, out sName_Fnc, true, log_Reports); } else { sName_Fnc = "<エラー:" + log_Method.Fullname + ">"; } Expression_Node_Function expr_Func = Collection_Function.NewFunction2(sName_Fnc, null, action_Conf, this.Owner_MemoryApplication, log_Reports); if (log_Reports.Successful) { if (null != expr_Func) { Log_TextIndented_ConfigurationtreeToExpressionImpl pg_ParsingLog = new Log_TextIndented_ConfigurationtreeToExpressionImpl(); pg_ParsingLog.BEnabled = false; expr_Func = ((Expression_Node_FunctionAbstract)expr_Func).Functiontranslatoritem.Translate( sName_Fnc, action_Conf,//これは生成時に指定できない? pg_ParsingLog, this.Owner_MemoryApplication, log_Reports ); if (Log_ReportsImpl.BDebugmode_Static && pg_ParsingLog.BEnabled) { log_Method.WriteInfo_ToConsole(" pg_ParsingLog=" + Environment.NewLine + pg_ParsingLog.ToString()); } } } goto gt_EndMethod; // gt_EndMethod: log_Method.EndMethod(log_Reports); return(expr_Func); }
/// <summary> /// (17b)今日の分のバックアップを取ります。 /// </summary> /// <param name="e_FpathList_BackupRequest"></param> /// <param name="sender"></param> /// <param name="eventMonitor_Dammy"></param> /// <param name="log_Reports"></param> protected virtual void On_P17b_DateBackup( List <Expression_Node_Filepath> listExpression_Filepath_BackupRequest, object sender, Log_Reports log_Reports) { if (log_Reports.Successful) { Expression_Node_Function expr_Func = Collection_Function.NewFunction2( Expression_Node_Function44Impl.NAME_FUNCTION, this, this.Cur_Configuration, this.Owner_MemoryApplication, log_Reports); { ((Expression_Node_Function44Impl)expr_Func).Expression_FilepathList_Backup = listExpression_Filepath_BackupRequest; } expr_Func.Execute4_OnLr( sender, log_Reports ); } }
//──────────────────────────────────────── /// <summary> /// 2010年11月22日追加。 /// </summary> /// <returns></returns> public virtual Expression_Node_Function Translate( string sName_Action, Configurationtree_Node action_Conf, Log_TextIndented_ConfigurationtreeToExpression pg_ParsingLog, MemoryApplication owner_MemoryApplication, Log_Reports log_Reports ) { Log_Method log_Method = new Log_MethodImpl(0, Log_ReportsImpl.BDebugmode_Static); log_Method.BeginMethod(Info_Functions.Name_Library, this, "Translate", log_Reports); if (log_Method.CanDebug(1)) { pg_ParsingLog.Increment(action_Conf.Name); } // // // // // 自 // // // Expression_Node_Function expr_Func; { Expression_Node_String parent_Expression_Null = null; expr_Func = Collection_Function.NewFunction2( sName_Action, parent_Expression_Null, action_Conf, owner_MemoryApplication, log_Reports ); } this.Translate_Step1( this, action_Conf, expr_Func, owner_MemoryApplication, pg_ParsingLog, log_Reports ); this.Translate_Step2( this, action_Conf, expr_Func, owner_MemoryApplication, pg_ParsingLog, log_Reports ); // // // // if (Log_ReportsImpl.BDebugmode_Static) { pg_ParsingLog.Decrement(action_Conf.Name); } log_Method.EndMethod(log_Reports); return(expr_Func); }
//──────────────────────────────────────── #endregion #region アクション //──────────────────────────────────────── /// <summary> /// アクション実行。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override string Execute5_Main(Log_Reports log_Reports) { Log_Method log_Method = new Log_MethodImpl(0, Log_ReportsImpl.BDebugmode_Static); log_Method.BeginMethod(Info_Functions.Name_Library, this, "Execute5_Main", log_Reports); if (log_Reports.CanStopwatch) { string sFncName0; this.TrySelectAttribute(out sFncName0, PmNames.S_NAME.Name_Pm, EnumHitcount.One_Or_Zero, log_Reports); log_Method.Log_Stopwatch.Message = "Nアクション[" + sFncName0 + "]実行"; log_Method.Log_Stopwatch.Begin(); } // // if (this.EnumEventhandler == EnumEventhandler.O_Kea) { Configurationtree_Node conf_ThisMethod = new Configurationtree_NodeImpl(log_Method.Fullname, null); Keys keys = this.Functionparameterset.KeyEventArgs.KeyCode; // // Form1のKeyPreview属性を true にしておく必要があります。 // switch (keys) { case Keys.F8: // // 「ツール設定ウィンドウ」を開きます。 // //OWrittenPlace oWrittenPlace = new OWrittenPlaceImpl(this.OWrittenPlace.WrittenPlace + "!ハードコーディング_NAction21#(10)"); Expression_Node_Function expr_Func = Collection_Function.NewFunction2( Expression_Node_Function11Impl.NAME_FUNCTION, this, this.Cur_Configuration, this.Owner_MemoryApplication, log_Reports); Configuration_Node cf_Event; { cf_Event = this.Cur_Configuration.GetParentByNodename( NamesNode.S_EVENT, EnumConfiguration.Unknown, false, log_Reports); } expr_Func.Execute4_OnLr( this.Functionparameterset.Sender, log_Reports ); //essageBox.Show("[F8]キーを押しました。", "△情報103!"); break; } } // // log_Method.EndMethod(log_Reports); return(""); }
//──────────────────────────────────────── static Collection_Function() { Log_Method log_Method = new Log_MethodImpl(1); Log_Reports log_Reports_ThisMethod = new Log_ReportsImpl(log_Method); log_Method.BeginMethod(Info_Functions.Name_Library, "Collection_Function", "static Collection_Function", log_Reports_ThisMethod); // dictionary_Interlibrary = new Dictionary <string, Expression_Node_Function>(); ConfigurationtreeToFunction_Item transUnknown = new ConfigurationtreeToFunction00_ItemImpl();//暫定 ConfigurationtreeToFunction_Item trans00 = new ConfigurationtreeToFunction00_ItemImpl(); ConfigurationtreeToFunction_Item trans20 = new ConfigurationtreeToFunction20_ItemImpl(); //関数名未設定のインスタンスを、ディクショナリーに追加します。#NewInstance 実行時に関数名を付けます。 { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function04Impl.PM_NAME_TABLE); list_Param.Add(Expression_Node_Function04Impl.PM_POPUP); list_Param.Add(Expression_Node_Function04Impl.PM_FLOWSKIP); Collection_Function.SetFunction(Expression_Node_Function04Impl.NAME_FUNCTION, new Expression_Node_Function04Impl(EnumEventhandler.O_Ea, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function05Impl.PM_NAME_TABLE_SOURCE); list_Param.Add(Expression_Node_Function05Impl.PM_NAME_TABLE_DESTINATION); Collection_Function.SetFunction(Expression_Node_Function05Impl.NAME_FUNCTION, new Expression_Node_Function05Impl(EnumEventhandler.O_Ea, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function06Impl.PM_NAME_TABLE_SOURCE); list_Param.Add(Expression_Node_Function06Impl.PM_FILEPATH_EXTERNALAPPLICATION); Collection_Function.SetFunction(Expression_Node_Function06Impl.NAME_FUNCTION, new Expression_Node_Function06Impl(EnumEventhandler.O_Ea, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function11Impl.NAME_FUNCTION, new Expression_Node_Function11Impl(EnumEventhandler.O_Lr, list_Param, transUnknown), log_Reports_ThisMethod); } { //dic_E_Sf.Add(E_Sf17Impl_OLD.NAME_FUNCTION, new E_Sf17Impl_OLD(null, cf_Node));//todo: } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function19Impl.NAME_FUNCTION, new Expression_Node_Function19Impl(EnumEventhandler.O_Lr, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function20Impl.PM_NAME_TABLE); list_Param.Add(Expression_Node_Function20Impl.PM_NAME_CONTROL_LISTBOX); Collection_Function.SetFunction(Expression_Node_Function20Impl.NAME_FUNCTION, new Expression_Node_Function20Impl(EnumEventhandler.O_Lr, list_Param, trans20), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function21Impl.NAME_FUNCTION, new Expression_Node_Function21Impl(EnumEventhandler.O_Kea, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function22Impl.NAME_FUNCTION, new Expression_Node_Function22Impl(EnumEventhandler.O_Lr, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function25Impl.PM_NAME_FIELD); list_Param.Add(Expression_Node_Function25Impl.PM_NAME_VAR_DESTINATION); Collection_Function.SetFunction(Expression_Node_Function25Impl.NAME_FUNCTION, new Expression_Node_Function25Impl(EnumEventhandler.O_Ea, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function27Impl.PM_NAME_TOGETHER); Collection_Function.SetFunction(Expression_Node_Function27Impl.NAME_FUNCTION, new Expression_Node_Function27Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function28Impl.PM_MESSAGE); Collection_Function.SetFunction(Expression_Node_Function28Impl.NAME_FUNCTION, new Expression_Node_Function28Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function29Impl.PM_NAME_CONTROL); Collection_Function.SetFunction(Expression_Node_Function29Impl.NAME_FUNCTION, new Expression_Node_Function29Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function30Impl.PM_NAME_TOGETHER); list_Param.Add(Expression_Node_Function30Impl.PM_NAME_FORM); Collection_Function.SetFunction(Expression_Node_Function30Impl.NAME_FUNCTION, new Expression_Node_Function30Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function31Impl.PM_NAME_CONTROL); Collection_Function.SetFunction(Expression_Node_Function31Impl.NAME_FUNCTION, new Expression_Node_Function31Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function32Impl.PM_NAME_TABLE); list_Param.Add(Expression_Node_Function32Impl.PM_NAME_FIELD); list_Param.Add(Expression_Node_Function32Impl.PM_NAME_CONTROL_DESTINATION); Collection_Function.SetFunction(Expression_Node_Function32Impl.NAME_FUNCTION, new Expression_Node_Function32Impl(EnumEventhandler.O_Ea, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function33Impl.PM_NAME_CONTROL); list_Param.Add(Expression_Node_Function33Impl.PM_NAME_FIELD_KEY); list_Param.Add(Expression_Node_Function33Impl.PM_VALUE_EXPECTED); list_Param.Add(Expression_Node_Function33Impl.PM_VALUE_EXPECTED2); list_Param.Add(Expression_Node_Function33Impl.PM_VALUE_EMPTY); Collection_Function.SetFunction(Expression_Node_Function33Impl.NAME_FUNCTION, new Expression_Node_Function33Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function34Impl.PM_NAME_VAR); list_Param.Add(Expression_Node_Function34Impl.PM_VALUE); list_Param.Add(Expression_Node_Function34Impl.PM_FLOWSKIP); Collection_Function.SetFunction(Expression_Node_Function34Impl.NAME_FUNCTION, new Expression_Node_Function34Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 無し Collection_Function.SetFunction(Expression_Node_Function35Impl.NAME_FUNCTION, new Expression_Node_Function35Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function36Impl.PM_CONTROL_NAME); Collection_Function.SetFunction(Expression_Node_Function36Impl.NAME_FUNCTION, new Expression_Node_Function36Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function37Impl.PM_FROM); list_Param.Add(Expression_Node_Function37Impl.PM_TO); Collection_Function.SetFunction(Expression_Node_Function37Impl.NAME_FUNCTION, new Expression_Node_Function37Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function38Impl.PM_FROM); list_Param.Add(Expression_Node_Function38Impl.PM_TO); Collection_Function.SetFunction(Expression_Node_Function38Impl.NAME_FUNCTION, new Expression_Node_Function38Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function39Impl.PM_NAME_CONTROL); list_Param.Add(Expression_Node_Function39Impl.PM_VALUE_ENABLED); Collection_Function.SetFunction(Expression_Node_Function39Impl.NAME_FUNCTION, new Expression_Node_Function39Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function40Impl.PM_NAME_CONTROL); list_Param.Add(Expression_Node_Function40Impl.PM_VALUE_VISIBLED); Collection_Function.SetFunction(Expression_Node_Function40Impl.NAME_FUNCTION, new Expression_Node_Function40Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function42Impl.PM_EXECUTE); list_Param.Add(Expression_Node_Function42Impl.PM_FLOWSKIP); Collection_Function.SetFunction(Expression_Node_Function42Impl.NAME_FUNCTION, new Expression_Node_Function42Impl(EnumEventhandler.O_Ea, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function43Impl.PM_NAME_VAR); list_Param.Add(Expression_Node_Function43Impl.PM_NAME_CONTROL); Collection_Function.SetFunction(Expression_Node_Function43Impl.NAME_FUNCTION, new Expression_Node_Function43Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function44Impl.NAME_FUNCTION, new Expression_Node_Function44Impl(EnumEventhandler.O_Lr, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function45Impl.NAME_FUNCTION, new Expression_Node_Function45Impl(EnumEventhandler.O_Ea, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function46Impl.NAME_FUNCTION, new Expression_Node_Function46Impl(EnumEventhandler.O_Ea, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function_BootCsvEditorImpl.NAME_FUNCTION, new Expression_Node_Function_BootCsvEditorImpl(EnumEventhandler.O_Ea, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); // arg 不明 Collection_Function.SetFunction(Expression_Node_Function_OnEditorSelected_Impl.NAME_FUNCTION, new Expression_Node_Function_OnEditorSelected_Impl(EnumEventhandler.Editor_B_Lr, list_Param, transUnknown), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function47Impl.PM_FOLDER_SOURCE); list_Param.Add(Expression_Node_Function47Impl.PM_FILE_EXPORT); list_Param.Add(Expression_Node_Function47Impl.PM_FIELD_EXPORT); list_Param.Add(Expression_Node_Function47Impl.PM_FILTER); list_Param.Add(Expression_Node_Function47Impl.PM_IS_SEARCH_SUBFOLDER); list_Param.Add(Expression_Node_Function47Impl.PM_POPUP); Collection_Function.SetFunction(Expression_Node_Function47Impl.NAME_FUNCTION, new Expression_Node_Function47Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function48Impl.PM_FILE_IMPORT_LISTFILE); list_Param.Add(Expression_Node_Function48Impl.PM_FIELDSOURCE_IMPORTLISTFILE); list_Param.Add(Expression_Node_Function48Impl.PM_FIELDDESTINATION_IMPORTLISTFILE); list_Param.Add(Expression_Node_Function48Impl.PM_ENCODING_FILEIMPORT); list_Param.Add(Expression_Node_Function48Impl.PM_ENCODING_FILEEXPORT); Collection_Function.SetFunction(Expression_Node_Function48Impl.NAME_FUNCTION, new Expression_Node_Function48Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } { List <string> list_Param = new List <string>(); list_Param.Add(Expression_Node_Function49Impl.PM_FILE_IMPORT_LISTFILE); list_Param.Add(Expression_Node_Function49Impl.PM_FIELD_IMPORT_LISTFILE); list_Param.Add(Expression_Node_Function49Impl.PM_FILTER_EXTENSION_IMPORT); list_Param.Add(Expression_Node_Function49Impl.PM_FILE_EXPORT_LISTFILE); list_Param.Add(Expression_Node_Function49Impl.PM_FIELD_EXPORT_LISTFILE); list_Param.Add(Expression_Node_Function49Impl.PM_TYPEFIELD_EXPORT_LISTFILE); list_Param.Add(Expression_Node_Function49Impl.PM_COMMENTFIELD_EXPORT_LISTFILE); list_Param.Add(Expression_Node_Function49Impl.PM_REGULAREXPRESSION_REPLACEBEFORE_NAMEFILEEXPORT); list_Param.Add(Expression_Node_Function49Impl.PM_REGULAREXPRESSION_REPLACEAFTER_NAMEFILEEXPORT); list_Param.Add(Expression_Node_Function49Impl.PM_FOLDER_SOURCE); list_Param.Add(Expression_Node_Function49Impl.PM_FOLDER_DESTINATION); list_Param.Add(Expression_Node_Function49Impl.PM_POPUP); Collection_Function.SetFunction(Expression_Node_Function49Impl.NAME_FUNCTION, new Expression_Node_Function49Impl(EnumEventhandler.O_Lr, list_Param, trans00), log_Reports_ThisMethod); } // log_Method.EndMethod(log_Reports_ThisMethod); log_Reports_ThisMethod.EndLogging(log_Method); }
//──────────────────────────────────────── #endregion #region アクション //──────────────────────────────────────── /// <summary> /// プロジェクト読取り時の定形アクション実行。 /// </summary> /// <param name="sender"></param> /// <param name="st_PrevProjectElm_OrNull"></param> /// <param name="bProjectValid"></param> /// <param name="log_Reports"></param> public override string Execute5_Main(Log_Reports log_Reports) { //()メソッド開始 Log_Method log_Method = new Log_MethodImpl(1); log_Method.BeginMethod(Info_Functions.Name_Library, this, "Execute5_Main", log_Reports); // if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("「プロジェクト選択時」用のイベントハンドラーを実行します。"); } //()タスク_デスクリプション { string sFncName0; this.TrySelectAttribute(out sFncName0, PmNames.S_NAME.Name_Pm, EnumHitcount.One_Or_Zero, log_Reports); if (this.Functionparameterset.Sender is Customcontrol) { Customcontrol ccFc = (Customcontrol)this.Functionparameterset.Sender; string sName_Usercontrol = ccFc.ControlCommon.Expression_Name_Control.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports); log_Reports.Comment_EventCreationMe += "/追加:[" + sName_Usercontrol + "]コントロールが、[" + sFncName0 + "]アクションを実行。"; } else { log_Reports.Comment_EventCreationMe += "/追加:[" + sFncName0 + "]アクションを実行。"; } } Configurationtree_Node conf_ThisMethod = new Configurationtree_NodeImpl(log_Method.Fullname, null); if (this.EnumEventhandler == EnumEventhandler.Editor_B_Lr) { //(4)独自モデルの取得 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(4)独自モデルの取得"); } // this.On_P04_ReadNewModel(log_Reports); //(5)エディター名。ツール設定ファイルに記載されている方。 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(5)エディター名。ツール設定ファイルに記載されている方。"); } // 表示用の名称。 string sName_SelectingEditor; if (this.Functionparameterset.SelectedProjectElement_Configurationtree == null) { // // 切り替えるプロジェクトが判明していない場合は、空文字列。 // sName_SelectingEditor = ""; } else { // // todo: エディター設定ファイルの方のエディター名を入れても意味ないのでは? // sName_SelectingEditor = ((MemoryAatoolxml_Editor)this.Functionparameterset.SelectedProjectElement_Configurationtree).Name; } //(6)まず、きれいさっぱり プロジェクトをクリアーします。(切替用) if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(6)まず、きれいさっぱり プロジェクトをクリアーします。(切替用)"); } // todo:イベントハンドラーを外してから、フォームを外すこと。リストボックスが誤挙動を起こしている。 this.On_P06_ClearProject(this.Functionparameterset.Sender, log_Reports); //(7)「Aa_Editor.xml」読取。 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(7)「Aa_Editor.xml」読取。"); } // if (!this.Functionparameterset.IsProjectValid || this.Functionparameterset.SelectedProjectElement_Configurationtree == null) { MemoryAatoolxml_Editor moAatoolxml_PrevEditorElm_OrNull = null; // // // // デフォルト・プロジェクト名が指定されていない場合、 // ツール設定ファイルの最初に記述されているプロジェクトを選択します。 // // // if (log_Reports.Successful) { if ("" == sName_SelectingEditor) { // // デフォルト・エディター名が未指定の場合。 // MemoryAatoolxml_Editor moAatoolxml_DefaultEditor = this.Owner_MemoryApplication.MemoryAatoolxml.GetDefaultEditor(true, log_Reports); if (!log_Reports.Successful) { // 既エラー。 goto gt_EndMethod; } // ↓これ要る? sName_SelectingEditor = moAatoolxml_DefaultEditor.Name; } } this.On_P07_SelectDefaultProject(ref sName_SelectingEditor, ref moAatoolxml_PrevEditorElm_OrNull, this.Functionparameterset.IsProjectValid, log_Reports); this.Functionparameterset.SelectedProjectElement_Configurationtree = moAatoolxml_PrevEditorElm_OrNull; // // // //「プロジェクトを開いた時の初期化」イベントハンドラーで使うために、ここで設定します。 // // // this.Functionparameterset.SelectedProjectElement_Configurationtree = this.Owner_MemoryApplication.MemoryAatoolxml.GetEditorByName(sName_SelectingEditor, true, log_Reports); if (!log_Reports.Successful) { // 既エラー。 goto gt_EndMethod; } } // ↓追加 if (null == this.Functionparameterset.SelectedProjectElement_Configurationtree) { { Builder_TexttemplateP1p tmpl = new Builder_TexttemplateP1pImpl(); tmpl.SetParameter(1, sName_SelectingEditor, log_Reports);//エディター名 this.Owner_MemoryApplication.CreateErrorReport("Er:110003;", tmpl, log_Reports); } } // ↑追加 //(13a)エディター・フォルダー。 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(13a)エディター・フォルダーパス類推。"); } // // // Expression_Node_Filepath ec_Fopath_Editor; if (log_Reports.Successful) { MemoryAatoolxml_Editor moAatoolxml_SelectedEditor = (MemoryAatoolxml_Editor)this.Functionparameterset.SelectedProjectElement_Configurationtree; ec_Fopath_Editor = moAatoolxml_SelectedEditor.GetFilepathByFsetvarname( NamesVar.S_SP_EDITOR, this.Owner_MemoryApplication.MemoryVariables, true, log_Reports ); } else { ec_Fopath_Editor = null; } //(13b)「Aa_Editor.xml」読取。 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(13b)「Aa_Editor.xml」ファイルパス類推。"); } // Expression_Node_Filepath ec_Fpath_AaEditorXml; if (log_Reports.Successful) { // // ツール設定ファイルで指定された値から、自動類推で設定されているはず。 // Configurationtree_NodeFilepath cf_Fpath_EditorXml = new Configurationtree_NodeFilepathImpl( "ツール設定ファイル[" + Application.StartupPath + System.IO.Path.DirectorySeparatorChar + ValuesAttr.S_FPATHR_AATOOLXML + "]の中の[" + sName_SelectingEditor + "]エディターへの指定から自動類推", null); // フォルダーパス + \Aa_Editor.xml string sFpatha_Aaeditorxml = ec_Fopath_Editor.Execute4_OnExpressionString(EnumHitcount.Unconstraint, log_Reports) + System.IO.Path.DirectorySeparatorChar + NamesFile.S_AA_EDITOR_XML; // プロジェクト起動時に。 cf_Fpath_EditorXml.InitPath( sFpatha_Aaeditorxml, log_Reports ); ec_Fpath_AaEditorXml = new Expression_Node_FilepathImpl(cf_Fpath_EditorXml); } else { ec_Fpath_AaEditorXml = null; } //(8)「エディター設定ファイル」に記述されている<f-set-var>要素を、「エディター設定ファイル・モデル」に格納。Cf→M if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(8)「エディター設定ファイル」に記述されている<f-set-var>要素を、「エディター設定ファイル・モデル」に格納。Cf→M。この時点で「Sp:Engine;」といったシステム変数は自動類推が終わっている必要があります。"); } // MemoryAaeditorxml_Editor moAaeditorxml_Editor = null; if (log_Reports.Successful) { this.On_P08_SpToVar_( out moAaeditorxml_Editor, ec_Fpath_AaEditorXml, ec_Fopath_Editor, (MemoryAatoolxml_Editor)this.Functionparameterset.SelectedProjectElement_Configurationtree, log_Reports ); } // // // // ここで「Aa_Files.csv」を読み込みたい。 // // // if (log_Reports.Successful) { //(9)変数ファイル読取 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(9)変数ファイル読取"); } // this.Owner_MemoryApplication.MemoryVariables.LoadVariables( Application.StartupPath, log_Reports ); } if (log_Reports.Successful) { //(10)プログラマー用・デバッグモードのON/OFF。 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(10)プログラマー用・デバッグモードのON/OFF。"); } // //mainWndの作成より先に設定する必要がある。ステータスバーを出す、出さないについて。 { Expression_Leaf_StringImpl ec_Varname = new Expression_Leaf_StringImpl(this, this.Cur_Configuration.Parent); ec_Varname.SetString(NamesVar.S_SS_DEBUGMODE_PROGRAMMER, log_Reports); string sValue = this.Owner_MemoryApplication.MemoryVariables.GetStringByVariablename(ec_Varname, false, log_Reports); if (ValuesAttr.S_ON == sValue) { Log_ReportsImpl.BDebugmode_Static = true; } else if (ValuesAttr.S_OFF == sValue) { Log_ReportsImpl.BDebugmode_Static = false; } else if (ValuesAttr.S_EMPTY == sValue) { // 無視 } else { // TODO:エラー } } } if (log_Reports.Successful) { //(11)画面レイアウト・デバッグモードのON/OFF。 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(11)フォーム・デバッグモードのON/OFF。"); } // Expression_Leaf_StringImpl ec_Varname = new Expression_Leaf_StringImpl(this, this.Cur_Configuration.Parent); ec_Varname.SetString(NamesVar.S_SS_DEBUGMODE_FORM, log_Reports); string sValue = this.Owner_MemoryApplication.MemoryVariables.GetStringByVariablename(ec_Varname, false, log_Reports); if (ValuesAttr.S_ON == sValue) { Log_ReportsImpl.BDebugmode_Form = true; } else if (ValuesAttr.S_OFF == sValue) { Log_ReportsImpl.BDebugmode_Form = false; } else if (ValuesAttr.S_EMPTY == sValue) { // 無視 } else { // TODO:エラー } } //(14)「Aa_Files.csv」読取。 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(14)「Aa_Files.csv」読取。"); } // List <Expression_Node_Filepath> ecList_Fpath_BackupRequest; { if (log_Reports.Successful) { // 正常時 Expression_Node_Function function_Expr = Collection_Function.NewFunction2( Expression_Node_Function22Impl.NAME_FUNCTION, this, this.Cur_Configuration, this.Owner_MemoryApplication, log_Reports); // 実行 function_Expr.Execute4_OnLr(this.Functionparameterset.Sender, log_Reports); // 実行後 ecList_Fpath_BackupRequest = ((Expression_Node_Function22Impl)function_Expr).List_Expression_Filepath_BackupRequest_Out; } else { // // エラー // ecList_Fpath_BackupRequest = null; } } //(14b)ユーザー定義関数設定ファイル読取【2012-03-30追加】 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(14b)ユーザー定義関数設定ファイル読取【2012-03-30追加】"); } // if (log_Reports.Successful) { // タイプデータ値。 Expression_Leaf_StringImpl ec_NameVariable = new Expression_Leaf_StringImpl(this, new Configurationtree_NodeImpl("!ハードコーディング", null)); ec_NameVariable.SetString(ValuesTypeData.S_CODE_FUNCTIONS, log_Reports); List <MemoryCodefileinfo> listInfo = null; if (log_Reports.Successful) { listInfo = this.Owner_MemoryApplication.MemoryCodefiles.GetCodefileinfoByTypedata(ec_NameVariable, true, log_Reports); } if (log_Reports.Successful) { foreach (MemoryCodefileinfo scriptfile in listInfo) { if (log_Reports.Successful) { this.Owner_MemoryApplication.MemoryFunctions.LoadFile( scriptfile.Expression_Filepath, log_Reports); } else { break; } } } } //(16)『スタイルシート設定ファイル』読取 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(16)『スタイルシート設定ファイル』読取"); } // if (log_Reports.Successful) { Expression_Node_Function expr_Func = Collection_Function.NewFunction2( Expression_Node_Function19Impl.NAME_FUNCTION, this, this.Cur_Configuration, this.Owner_MemoryApplication, log_Reports); Expression_Node_StringImpl ec_Str = new Expression_Node_StringImpl(this, conf_ThisMethod); ec_Str.AppendTextNode(NamesVar.S_ST_STYLESHEET, this.Cur_Configuration, log_Reports); expr_Func.SetAttribute(Expression_Node_Function19Impl.PM_NAME_TABLE_STYLESHEET, ec_Str, log_Reports); expr_Func.Execute4_OnLr( this.Functionparameterset.Sender, log_Reports ); } //(17a)「バックアップを取る」前にしておく独自実装をするタイミング。 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(17a)「バックアップを取る」前にしておく独自実装をするタイミング。"); } // this.On_P17a_PreviousBackup( this.Functionparameterset.Sender, moAaeditorxml_Editor, ec_Fpath_AaEditorXml, ec_Fopath_Editor, (MemoryAatoolxml_Editor)this.Functionparameterset.SelectedProjectElement_Configurationtree, log_Reports); //(17b)今日の分のバックアップを取ります。 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(17b)今日の分のバックアップを取ります。"); } // this.On_P17b_DateBackup(ecList_Fpath_BackupRequest, this.Functionparameterset.Sender, log_Reports); //(17c)「新規ウィンドウを開く」前にしておく独自実装をするタイミング。 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(17c)「新規ウィンドウを開く」前にしておく独自実装をするタイミング。"); } // this.On_P17c_PreviousOpenWindow( this.Functionparameterset.Sender, moAaeditorxml_Editor, ec_Fpath_AaEditorXml, ec_Fopath_Editor, (MemoryAatoolxml_Editor)this.Functionparameterset.SelectedProjectElement_Configurationtree, log_Reports); //(18)関数30「新規ウィンドウを開く」実行。引数には関数を2つ指定できる。 if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(18)関数30「新規ウィンドウを開く」実行。引数には関数を2つ指定できる。"); } // { Expression_Node_Function expr_Func = Collection_Function.NewFunction2( Expression_Node_Function30Impl.NAME_FUNCTION, this, this.Cur_Configuration, this.Owner_MemoryApplication, log_Reports); { //Expression_Node_Function30Impl f1 = { Expression_Node_StringImpl ec_FormStart; { Expression_FvarImpl ec_Fvar = new Expression_FvarImpl(this, this.Cur_Configuration, this.Owner_MemoryApplication); ec_Fvar.AppendTextNode(NamesVar.S_SS_FORM_START, this.Cur_Configuration, log_Reports); ec_FormStart = new Expression_Node_StringImpl(this, this.Cur_Configuration); ec_FormStart.List_Expression_Child.Add(ec_Fvar, log_Reports); } ((Expression_Node_Function30Impl)expr_Func).SetAttribute(Expression_Node_Function30Impl.PM_NAME_FORM, ec_FormStart, log_Reports); } ((Expression_Node_Function30Impl)expr_Func).In_Subroutine_Function30_1 = this.In_Subroutine_Function30_1_OrNull; ((Expression_Node_Function30Impl)expr_Func).In_Subroutine_Function30_2 = this.In_Subroutine_Function30_2_OrNull; ((Expression_Node_Function30Impl)expr_Func).SetAttribute( Expression_Node_Function30Impl.PM_NAME_TOGETHER, new Expression_Leaf_StringImpl(NamesStg.S_STG_BEGIN_APPLICATION, null, conf_ThisMethod), log_Reports); } expr_Func.Execute4_OnLr( this.Functionparameterset.Sender, log_Reports ); } //(19)最後に if (log_Method.CanDebug(1)) { log_Method.WriteDebug_ToConsole("(19)最後に"); } // this.On_P19_AtLast( this.Functionparameterset.Sender, (MemoryAatoolxml_Editor)this.Functionparameterset.SelectedProjectElement_Configurationtree, this.Functionparameterset.IsProjectValid, log_Reports); // // 「S」と「E」を出力したい。 if (false) { // 「S」全てのコントロールと、ユーザー定義関数について。 log_Method.WriteInfo_ToConsole("┌──────────┐「S」全てのコントロールについて。"); this.Owner_MemoryApplication.MemoryForms.ForEach_Children(delegate(string sKey, Usercontrol fcUc, ref bool bRemove, ref bool bBreak) { Log_TextIndented s = new Log_TextIndentedImpl(); s.Append("[" + sKey + "]"); s.Newline(); fcUc.ControlCommon.Expression_Control.Cur_Configuration.ToText_Content(s); log_Method.WriteInfo_ToConsole(s.ToString()); }); log_Method.WriteInfo_ToConsole("└──────────┘"); log_Method.WriteInfo_ToConsole("┌──────────┐「S」全てのユーザー定義関数について。"); this.Owner_MemoryApplication.MemoryFunctions.ForEach_Children(delegate(string sKey, Expression_Node_Function ec_CommonFunction, ref bool bRemove, ref bool bBreak) { Log_TextIndented s = new Log_TextIndentedImpl(); s.Append("[" + sKey + "]"); s.Newline(); ec_CommonFunction.Cur_Configuration.ToText_Content(s); log_Method.WriteInfo_ToConsole(s.ToString()); }); log_Method.WriteInfo_ToConsole("└──────────┘"); // 「E」全てのコントロールと、ユーザー定義関数について。 log_Method.WriteInfo_ToConsole("┌──────────┐「E」全てのコントロールについて。"); this.Owner_MemoryApplication.MemoryForms.ForEach_Children(delegate(string sKey, Usercontrol fcUc, ref bool bRemove, ref bool bBreak) { Log_TextIndented s = new Log_TextIndentedImpl(); s.Append("[" + sKey + "]"); s.Newline(); fcUc.ControlCommon.Expression_Control.ToText_Snapshot(s); log_Method.WriteInfo_ToConsole(s.ToString()); }); log_Method.WriteInfo_ToConsole("└──────────┘"); log_Method.WriteInfo_ToConsole("┌──────────┐「E」全てのユーザー定義関数について。"); this.Owner_MemoryApplication.MemoryFunctions.ForEach_Children(delegate(string sKey, Expression_Node_Function ec_CommonFunction, ref bool bRemove, ref bool bBreak) { Log_TextIndented s = new Log_TextIndentedImpl(); s.Append("[" + sKey + "]"); s.Newline(); ec_CommonFunction.ToText_Snapshot(s); log_Method.WriteInfo_ToConsole(s.ToString()); }); log_Method.WriteInfo_ToConsole("└──────────┘"); } log_Method.WriteInfo_ToConsole("◆起動終了"); goto gt_EndMethod; // gt_EndMethod: log_Method.EndMethod(log_Reports); } return(""); }
//──────────────────────────────────────── #endregion #region アクション //──────────────────────────────────────── /// <summary> /// アクション実行。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public override string Execute5_Main(Log_Reports log_Reports) { //(1)メソッド開始 Log_Method log_Method = new Log_MethodImpl(0); log_Method.BeginMethod(Info_Functions.Name_Library, this, "Execute5_Main", log_Reports); if (this.EnumEventhandler == EnumEventhandler.O_Ea) { string sConfigStack_ThisMethod = "<" + log_Method.Fullname + ":>"; Configurationtree_Node cf_ThisMethod = new Configurationtree_NodeImpl(sConfigStack_ThisMethod, null); //(2)独自実装のモデルをセットアップするタイミング。 this.On_P2_NewModelSetup(log_Reports); //(3).exeのファイルパス string sFpath_Startup = Application.StartupPath; //(4)[F8]キーを押すと、「ツール設定ダイアログ」が開くようにします。 { Expression_Node_Function expr_Func = Collection_Function.NewFunction2( Expression_Node_Function21Impl.NAME_FUNCTION, this, this.Cur_Configuration, this.Owner_MemoryApplication, log_Reports ); this.Owner_MemoryApplication.MemoryForms.Mainwnd_FormWrapping.Form.KeyDown += new System.Windows.Forms.KeyEventHandler(((Expression_Node_FunctionImpl)expr_Func).Execute4_OnKey); } //(5)『ツール設定ファイル』読取。 { this.Owner_MemoryApplication.MemoryAatoolxml.P101_LoadAatoolxml(cf_ThisMethod, log_Reports); } //(6)『ツール設定ダイアログ』の初期設定。 if (log_Reports.Successful) { this.Owner_MemoryApplication.MemoryForms.Form_Toolwindow.Clear(); this.Owner_MemoryApplication.MemoryForms.Form_Toolwindow.InitializeBeforeUse( this.Owner_MemoryApplication ); // 「プロジェクト選択時」のイベントハンドラとして登録。 Expression_Node_Function expr_Func = this.Functionitem_OnProjectSelected.NewInstance( this.Parent_Expression, this.Cur_Configuration, //EnumEventhandler.Unknown, this.Owner_MemoryApplication, log_Reports ); //expr_Func.InitializeBeforeUse(this.Owner_MemoryApplication); this.Owner_MemoryApplication.MemoryForms.Form_Toolwindow.OnEditorSelected += expr_Func.Execute4_OnEditorSelected; } //(7)「プロジェクト選択時」のイベントハンドラーを実行。(アプリケーション起動1回目) if (log_Reports.Successful) { this.Functionitem_OnProjectSelected.Execute4_OnEditorSelected( this.Functionparameterset.Sender, null, false, log_Reports); } //(8)タイトル if (log_Reports.Successful) { // タイトルは、外部ファイルで記述します。 // mainWnd は、UcWindow ではなく UcPanel です。UsercontrolTextに設定しても、ウィンドウのタイトルは変わりません。 // mainWnd は特殊な方法で取得します。 Mainwnd_FormWrapping mainwnd_FormWrapping = this.Owner_MemoryApplication.MemoryForms.Mainwnd_FormWrapping; mainwnd_FormWrapping.ControlCommon.BAutomaticinputting = true; StringBuilder sb; { sb = new StringBuilder(); // エディター設定ファイルに記載されているエディターの表示タイトル。 sb.Append(this.Owner_MemoryApplication.MemoryVariables.GetStringByVariablename( new Expression_Leaf_StringImpl(NamesVar.S_SS_TITLE_EDITOR, null, new Configurationtree_NodeImpl(log_Method.Fullname, null)), false, log_Reports)); // レイアウト・テーブルに記載されているエディター名。 sb.Append(mainwnd_FormWrapping.UsercontrolText); // 自動で付加。 sb.Append(" [CSVE×E " + ValuesAttr.S_VERSION_CSVEXE + "(code " + ValuesAttr.S_VERSION_CODEFILE + ")] - Xenontools (※[F8]キーでツール窓)"); mainwnd_FormWrapping.UsercontrolText = sb.ToString(); } mainwnd_FormWrapping.ControlCommon.BAutomaticinputting = false; } } //(10)メソッド終了 log_Method.EndMethod(log_Reports); return(""); }