コード例 #1
0
        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);
        }
コード例 #2
0
        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("");
        }
コード例 #3
0
        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);
        }
コード例 #4
0
        /// <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());
        }