Пример #1
0
        public void DeleteFootnoteInRangeSelectionAcrossMultipleBooks()
        {
            SetupSelectionForRangeAcrossBooks();
            IScripture scr = Cache.LangProject.TranslatedScriptureOA;

            IScrFootnote[] footnotes     = new IScrFootnote[4];
            Guid[]         guidFootnotes = new Guid[4];
            IScrTxtPara[]  paras         = new IScrTxtPara[4];

            // First get the footnotes we're deleting from JAMES.
            IScrBook book = scr.ScriptureBooksOS[1];

            footnotes[0] = book.FootnotesOS[31];
            footnotes[1] = book.FootnotesOS[32];

            // First get the footnotes we're deleting from JUDE.
            book         = (IScrBook)scr.ScriptureBooksOS[2];
            footnotes[2] = book.FootnotesOS[0];
            footnotes[3] = book.FootnotesOS[1];

            for (int i = 0; i < 4; i++)
            {
                guidFootnotes[i] = footnotes[i].Guid;
                paras[i]         = footnotes[i].ContainingParagraph;
            }

            m_footnoteView.DeleteFootnote();

            foreach (IScrFootnote footnote in footnotes)
            {
                Assert.IsFalse(footnote.IsValidObject);
            }

            // now make sure that we don't find the footnote markers
            for (int i = 0; i < 4; i++)
            {
                Assert.IsFalse(IsFootnoteMarkerInText(paras[i], guidFootnotes[i]),
                               "Footnote marker didn't get deleted from text");
            }
        }
Пример #2
0
        public void DeleteFootnoteInRangeSelectionAcrossMultipleBooks()
        {
            SetupSelectionForRangeAcrossBooks();
            IScripture scr = m_cache.LangProject.TranslatedScriptureOA;

            ScrFootnote[] footnotes     = new ScrFootnote[4];
            Guid[]        guidFootnotes = new Guid[4];
            int[]         hvoParas      = new int[4];

            // First get the footnotes we're deleting from JAMES.
            IScrBook book = (IScrBook)scr.ScriptureBooksOS[1];

            footnotes[0] = new ScrFootnote(m_cache, book.FootnotesOS.HvoArray[31]);
            footnotes[1] = new ScrFootnote(m_cache, book.FootnotesOS.HvoArray[32]);

            // First get the footnotes we're deleting from JUDE.
            book         = (IScrBook)scr.ScriptureBooksOS[2];
            footnotes[2] = new ScrFootnote(m_cache, book.FootnotesOS.HvoArray[0]);
            footnotes[3] = new ScrFootnote(m_cache, book.FootnotesOS.HvoArray[1]);

            for (int i = 0; i < 4; i++)
            {
                guidFootnotes[i] = m_cache.GetGuidFromId(footnotes[i].Hvo);
                hvoParas[i]      = footnotes[i].ContainingParagraphHvo;
            }

            m_footnoteView.DeleteFootnote();

            foreach (IStFootnote footnote in footnotes)
            {
                Assert.IsFalse(m_cache.IsRealObject(footnote.Hvo, StFootnote.kClassId));
            }

            // now make sure that we don't find the footnote markers
            for (int i = 0; i < 4; i++)
            {
                Assert.IsFalse(IsFootnoteMarkerInText(hvoParas[i], guidFootnotes[i]),
                               "Footnote marker didn't get deleted from text");
            }
        }