Exemple #1
0
        private void LoadVerses()
        {
            this.versesDictionaryLeft = null;

            this.versesDictionaryRight = null;

            string bibleKeyRemoved = Formatters.RemoveBibleId(this.selectedKey);

            this.versesDictionaryLeft = BiblesData.Database.GetVerses($"{this.BibleLeft.BibleId}||{bibleKeyRemoved}");

            this.versesDictionaryRight = BiblesData.Database.GetVerses($"{this.BibleRight.BibleId}||{bibleKeyRemoved}");

            this.ResetversSetup();

            #region LOAD LEFTSIDE

            for (int verse = 1; verse <= this.versesDictionaryLeft.Count; ++verse)
            {
                BibleVerseModel item = this.versesDictionaryLeft[verse];

                StackPanel panel = BibleLoader.GetVerseNumberPanel(this.BibleLeft.BibleId, item, 0);

                this.uxVerseGrid.Children.Add(panel);

                HighlightRitchTextBox textBox = BibleLoader.GetVerseAsTextBox(this.BibleLeft.BibleId, item, 1);

                textBox.GotFocus += this.VerseLeft_GotFocus;

                this.uxVerseGrid.Children.Add(textBox);

                this.loadedTextBoxDictionaryLeft.Add(verse, textBox);

                this.loadedVerseStackDictionaryLeft.Add(verse, panel);
            }

            #endregion

            #region LOAD RIGHT

            for (int verse = 1; verse <= this.versesDictionaryRight.Count; ++verse)
            {
                BibleVerseModel item = this.versesDictionaryRight[verse];

                StackPanel panel = BibleLoader.GetVerseNumberPanel(this.BibleRight.BibleId, item, 2);

                this.uxVerseGrid.Children.Add(panel);

                HighlightRitchTextBox textBox = BibleLoader.GetVerseAsTextBox(this.BibleLeft.BibleId, item, 3);

                textBox.GotFocus += this.VerseRight_GotFocus;

                this.uxVerseGrid.Children.Add(textBox);

                this.loadedTextBoxDictionaryRight.Add(verse, textBox);

                this.loadedVerseStackDictionaryRight.Add(verse, panel);
            }

            #endregion
        }
        private void LoadVerses()
        {
            this.versesDictionary = null;

            this.versesDictionary = Formatters.IsBiblesKey(this.selectedKey) ?
                                    BiblesData.Database.GetVerses(this.selectedKey)
                :
                                    BiblesData.Database.GetVerses($"{this.Bible.BibleId}||{this.selectedKey}");

            this.ResetversSetup();

            for (int verse = 1; verse <= this.versesDictionary.Count; ++verse)
            {
                BibleVerseModel item = this.versesDictionary[verse];

                StackPanel panel = BibleLoader.GetVerseNumberPanel(this.Bible.BibleId, item, 0);

                this.uxVerseGrid.Children.Add(panel);

                HighlightRitchTextBox textBox = BibleLoader.GetVerseAsTextBox(this.Bible.BibleId, item, 1);

                textBox.GotFocus += this.Verse_GotFocus;

                this.uxVerseGrid.Children.Add(textBox);

                this.loadedTextBoxDictionary.Add(verse, textBox);

                this.loadedVerseStackDictionary.Add(verse, panel);
            }
        }
        private void ClearBackColour_Clicked(object sender, RoutedEventArgs e)
        {
            if (this.selectedKey.IsNullEmptyOrWhiteSpace() ||
                Formatters.GetVerseFromKey(this.selectedKey) <= 0)
            {
                MessageDisplay.Show("Please select a verse.");

                return;
            }

            try
            {
                int verseNumber = Formatters.GetVerseFromKey(this.selectedKey);

                HighlightRitchTextBox textBox = this.loadedTextBoxDictionary[verseNumber];

                int start = textBox.GetSelectionStartIndex();

                int length = textBox.GetSelectedTextLength();

                textBox.Text = this.versesDictionary[verseNumber].VerseText;

                string bibleVerseKey = Formatters.IsBiblesKey(this.selectedKey) ?
                                       this.selectedKey
                    :
                                       $"{this.Bible.BibleId}||{this.selectedKey}";


                BiblesData.Database.DeleteVerseColours(bibleVerseKey);
            }
            catch (Exception err)
            {
                ErrorLog.ShowError(err);
            }
        }
Exemple #4
0
        private void VerseRight_GotFocus(object sender, RoutedEventArgs e)
        {
            try
            {
                this.SelectedSide = ParalelleSideEnum.Right;

                HighlightRitchTextBox box = (HighlightRitchTextBox)sender;

                string bibleVerseKey = ((BibleVerseModel)box.Tag).BibleVerseKey;

                this.selectedKey = Formatters.RemoveBibleId(bibleVerseKey);

                this.selectedBibleId = Formatters.GetBibleFromKey(bibleVerseKey);

                this.SetHeader();

                this.SelectedVerseChanged?.Invoke(this, this.versesDictionaryRight[Formatters.GetVerseFromKey(this.selectedKey)]);
            }
            catch (Exception err)
            {
                this.SelectedSide = ParalelleSideEnum.None;

                ErrorLog.ShowError(err);
            }
        }
Exemple #5
0
        internal static HighlightRitchTextBox GetVerseAsTextBox(int bibleId, BibleVerseModel verse, int column)
        {
            HighlightRitchTextBox result = new HighlightRitchTextBox
            {
                Text        = verse.VerseText,
                Tag         = verse,
                BorderBrush = Brushes.Transparent,
                IsReadOnly  = true,
                Margin      = new Thickness(2, 0, 0, 15)
            };

            List <HighlightVerseModel> verseColours = BiblesData.Database.GetVerseColours(verse.BibleVerseKey);

            foreach (HighlightVerseModel colour in verseColours)
            {
                string[] itemSplit = colour.BibleVerseKeyId.Split(BibleLoader.veseSplitValues);

                result.HighlightText(itemSplit[1].ToInt32(), itemSplit[2].ToInt32(), ColourConverters.GetBrushfromHex(colour.HexColour));
            }

            Grid.SetRow(result, (Formatters.GetVerseFromKey(verse.BibleVerseKey) - 1));

            Grid.SetColumn(result, column);

            return(result);
        }
        private void Verse_GotFocus(object sender, RoutedEventArgs e)
        {
            try
            {
                HighlightRitchTextBox box = (HighlightRitchTextBox)sender;

                this.selectedKey = ((BibleVerseModel)box.Tag).BibleVerseKey;
            }
            catch (Exception err)
            {
                ErrorLog.ShowError(err);
            }
        }
        private void Verse_GotFocus(object sender, RoutedEventArgs e)
        {
            try
            {
                HighlightRitchTextBox box = (HighlightRitchTextBox)sender;

                this.selectedKey = Formatters.RemoveBibleId(((BibleVerseModel)box.Tag).BibleVerseKey);

                this.SetHeader();

                this.SelectedVerseChanged?.Invoke(this, this.versesDictionary[Formatters.GetVerseFromKey(this.selectedKey)]);
            }
            catch (Exception err)
            {
                ErrorLog.ShowError(err);
            }
        }
        private void BackColour_Clicked(object sender, RoutedEventArgs e)
        {
            if (this.selectedKey.IsNullEmptyOrWhiteSpace() ||
                Formatters.GetVerseFromKey(this.selectedKey) <= 0)
            {
                MessageDisplay.Show("Please select a Verse");

                return;
            }

            try
            {
                ColourPicker picker = new ColourPicker();

                if (picker.ShowDialog().IsFalse())
                {
                    return;
                }

                int verseNumber = Formatters.GetVerseFromKey(this.selectedKey);

                HighlightRitchTextBox textBox = this.loadedTextBoxDictionary[verseNumber];

                int start = textBox.GetSelectionStartIndex();

                int length = textBox.GetSelectedTextLength();

                textBox.HighlightText(start, length, picker.SelectedColour);

                string bibleVerseKey = Formatters.IsBiblesKey(this.selectedKey) ?
                                       this.selectedKey
                    :
                                       $"{this.Bible.BibleId}||{this.selectedKey}";


                BiblesData.Database.InsertVerseColour(bibleVerseKey, start, length, ColourConverters.GetHexFromBrush(picker.SelectedColour));
            }
            catch (Exception err)
            {
                ErrorLog.ShowError(err);
            }
        }
        private void ScrollToVerse(int verseNumber)
        {
            if (verseNumber <= 0 || !this.loadedTextBoxDictionary.ContainsKey(verseNumber))
            {
                return;
            }

            if (!this.IsLoaded)
            {
                this.scrollOnLoadVerse = verseNumber;
            }

            HighlightRitchTextBox verseBox = this.loadedTextBoxDictionary[verseNumber];

            Point versePoint = verseBox.TranslatePoint(new Point(), this.uxVerseGrid);

            this.uxVerseGridScroll.ScrollToVerticalOffset(versePoint.Y);

            verseBox.Focus();
        }
        private void LoadSearchResults(BibleVerseModel[] result)
        {
            foreach (BibleVerseModel row in result)
            {
                this.uxResultGrid.RowDefinitions.Add(this.GetRowDefinition());

                if (this.showBibleColumn)
                {
                    int bibleId = Formatters.GetBibleFromKey(row.BibleVerseKey);

                    LableItem bible = new LableItem {
                        Content = this.bibleNames[bibleId]
                    };

                    this.SetUiElementPosition(bible, 0);
                }

                LableItem verse = new LableItem {
                    Content = GlobalStaticData.Intance.GetKeyDescription(row.BibleVerseKey)
                };

                this.SetUiElementPosition(verse, 1);

                HighlightRitchTextBox text = new HighlightRitchTextBox
                {
                    Text        = row.VerseText,
                    Tag         = row,
                    BorderBrush = Brushes.Transparent,
                    IsReadOnly  = true,
                    Margin      = new Thickness(2, 0, 0, 15)
                };

                text.GotFocus += this.Verse_GotFocus;

                text.HighlightText(this.searchSplitResult);

                this.SetUiElementPosition(text, 2);

                ++this.rowIndex;
            }
        }