/// <summary> /// ハイライト用のXshdファイルを更新します /// </summary> /// <returns>true:正常、false:異常</returns> internal bool UpdateXshdFile(string[] targetWords, CommonLibrary.ApplyHighlightKind kind) { Logger.Info(CLASS_NAME, "UpdateXshdFile", "start"); // 既存の保持情報をクリアしないと、延々と残り続けてしまう if (ResetHighlightInfo() == false) { Logger.Fatal(CLASS_NAME, "UpdateXshdFile", "ResetHighlightInfo is incorrect!"); return(false); } switch (kind) { case CommonLibrary.ApplyHighlightKind.SynonymSearch: if (CreateSynonymSearchHighlightInfos(targetWords) == false) { Logger.Fatal(CLASS_NAME, "UpdateXshdFile", "CreateHighlightInfos is incorrect!"); return(false); } break; case CommonLibrary.ApplyHighlightKind.Search: if (CreateSearchHighlightInfo(targetWords[0]) == false) { Logger.Error(CLASS_NAME, "UpdateXshdFile", $"CreateSearchHighlightInfo return false! target:[{targetWords[0]}]"); return(false); } break; default: Logger.Error(CLASS_NAME, "UpdateXshdFile", $"ApplyHighlightKing is invalid! value:[{kind}]"); break; } if (DeleteXshdFile() == false) { Logger.Fatal(CLASS_NAME, "UpdateXshdFile", "DeleteXshdFile is incorrect!"); return(false); } if (CreateXshdFile() == false) { Logger.Fatal(CLASS_NAME, "UpdateXshdFile", "CreateXshdFile is incorrect!"); return(false); } return(SetXshdFile()); }
/// <summary>ハイライトを対象語句にそれぞれ適用します</summary> /// <param name="targets">対象語句</param> /// <returns>true:成功, false:失敗</returns> internal bool ApplyHighlightToTargets(string[] targets, CommonLibrary.ApplyHighlightKind kind) //todo:検索か類語検索かの判別しないとFontColorとBackGroundが分けられない { if (targets == null || targets.Any() == false) { Logger.Fatal(CLASS_NAME, "ApplyHighlightToTargets", "targets is null or empty!"); return(false); } if (_highlightManager == null) { Logger.Fatal(CLASS_NAME, "ApplyHighlightToTargets", "_highlightManager is null!"); return(false); } return(_highlightManager.UpdateXshdFile(targets, kind)); }