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); } }
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); } }
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; } }