private static BiblicalTermStatus MaxStatus(BiblicalTermStatus status1, BiblicalTermStatus status2) { if (status1 == BiblicalTermStatus.AllFound || status2 == BiblicalTermStatus.AllFound) { return(BiblicalTermStatus.AllFound); } if (status1 == BiblicalTermStatus.AllFoundOrDenied || status2 == BiblicalTermStatus.AllFoundOrDenied) { return(BiblicalTermStatus.AllFoundOrDenied); } return(BiblicalTermStatus.SomeMissing); }
internal object GetCellValue(int columnIndex, Term term) { TermRendering termRendering; switch (columnIndex) { case CnColumnKeyTermLemma: return(term.Transliteration); case CnColumnStatus: { termRendering = renderings.GetRendering(term.Id); BiblicalTermStatus status = termRendering.Status; if (status == BiblicalTermStatus.AllFound) { return(checkMark); // Check mark } if (status == BiblicalTermStatus.AllFoundOrDenied) { return(checkMarkX); // Check mark + x } return(" "); } case CnColumnEnglishGloss: return(term.Gloss); /* * case CnColumnNationalGloss: * { * Localization loc = termLocalizations.GetTermLocalization(term.Id); * return loc.Gloss; // term.LocalGloss; * } */ case CnColumnRenderings: termRendering = renderings.GetRendering(term.Id); return(termRendering.Renderings); default: System.Diagnostics.Debug.Assert(false); break; } return(""); }
private BiblicalTermStatus UpdateStatus(BiblicalTermStatus status, bool renderingFound, bool renderingDenied) { if (renderingFound) { return(status); } if (renderingDenied) { if (status == BiblicalTermStatus.AllFound) { return(BiblicalTermStatus.AllFoundOrDenied); } return(status); } return(BiblicalTermStatus.SomeMissing); }
/// <summary> /// Build the HTML text for a list of references. /// </summary> /// <param name="references">verses to show in list</param> /// <param name="termId">Biblical Term</param> /// <param name="status">summary status over all references</param> /// <returns>html for references</returns> public string Build( StoryEditor theSE, string termId, string strProjectFolder, ProgressBar progressBarLoadingKeyTerms, out BiblicalTermStatus status) { BuildRenderings(strProjectFolder, termId); builder.Clear(); // Output the per project stylesheet info for (int i = 0; i < projectVariablesList.Count; ++i) { builder.SetDictionary(projectVariablesList[i]); if (i == 0) { builder.Output("a"); } builder.Output("b"); } builder.Output("c"); // builder.Output the table header info for (int i = 0; i < projectVariablesList.Count; ++i) { builder.SetDictionary(projectVariablesList[i]); builder.Output("d"); } builder.Output("e"); status = BiblicalTermStatus.AllFound; //For each reference output a cell for each project progressBarLoadingKeyTerms.Maximum = mapReferenceToVerseTextList.Keys.Count; progressBarLoadingKeyTerms.Value = 0; foreach (string strVerseReference in mapReferenceToVerseTextList.Keys) { for (int projectNum = 0; projectNum < projectVariablesList.Count; ++projectNum) { builder.SetDictionary(projectVariablesList[projectNum]); bool renderingFound; bool renderingDenied; setupReferenceVars(theSE, projectNum, strVerseReference, out renderingFound, out renderingDenied); builder.SetDictionary(referenceVariables); // Decide whether to show this reference depending on whether // a rendering was found/denied for the first project and the view settings. if (projectNum == 0) { // status is cumulative over all references status = UpdateStatus(status, renderingFound, renderingDenied); builder.Output("f"); } builder.Output("g"); } builder.Output("h"); progressBarLoadingKeyTerms.Value++; } builder.Output("i"); builder.Output("j"); return(builder.ToString()); }