private void SortSelected(object sender, RoutedEventArgs e) { if (String.IsNullOrEmpty(Text_Container.Selection.Text)) { return; } string result = String.Empty; switch (((ProccessorControl)AllTopControls[1]).cmbSort.SelectedIndex) { case 0: result = TextProccessorViewModel.SortSelected(Text_Container.Selection, (WordBox a, WordBox b) => String.Compare(a.Word.Value, b.Word.Value) > 0); break; case 1: result = TextProccessorViewModel.SortSelected(Text_Container.Selection, (WordBox a, WordBox b) => String.Compare(a.Word.Value, b.Word.Value) < 0); break; case 2: result = TextProccessorViewModel.SortSelected(Text_Container.Selection, (WordBox a, WordBox b) => a.Word.Length > b.Word.Length); break; case 3: result = TextProccessorViewModel.SortSelected(Text_Container.Selection, (WordBox a, WordBox b) => a.Word.Length < b.Word.Length); break; } OpenNewFromString(result); }
private void Replace_Command(object sender, ExecutedRoutedEventArgs e) { if (String.IsNullOrEmpty(WordToFind.Text) || String.IsNullOrEmpty(WordToReplace.Text)) { return; } TextProccessorViewModel.Replace(TextProccessorViewModel.Find(SelectedTextBox.Document, WordToFind.Text), WordToReplace.Text); }
private void GetUniqueWords(object sender, RoutedEventArgs e) { if (String.IsNullOrEmpty(Text_Container.Selection.Text)) { return; } OpenNewFromString(TextProccessorViewModel.GetUniqueWords(Text_Container.Selection)); }
private void GetSentenses(object sender, RoutedEventArgs e) { TextRange selected = Text_Container.Selection; if (String.IsNullOrEmpty(selected.Text)) { selected = new TextRange(Text_Container.Document.ContentStart, Text_Container.Document.ContentEnd); } OpenNewFromString(TextProccessorViewModel.GetSentenses(selected)); }
private void Find_Command(object sender, ExecutedRoutedEventArgs e) { if (String.IsNullOrEmpty(WordToFind.Text)) { return; } LinkedList <WordBox> boxes = TextProccessorViewModel.Find(SelectedTextBox.Document, Regex.Escape(WordToFind.Text)); //if (cmbFindFontFamily.SelectedItem==null) return; //LinkedList<WordBox> boxes = TextProccessorViewModel.Find( SelectedTextBox.Document,(FontFamily)cmbFindFontFamily.SelectedItem); SelectFinded(boxes); }
public MainWindow() { InitializeComponent(); LeftPanelButtons = new ToggleButton[] { Button_Folder }; TopPanelButtons = new ToggleButton[] { Button_Special, Button_Proccessor }; AllLeftPanels = new StackPanel[] { MakePanelButtonsOpenFileSystem() };// PanelSpecial panelSpecial = new PanelSpecial(this.Text_Container); panelSpecial.Visibility = Visibility.Collapsed; Grid.SetRow(panelSpecial, 0); MainGrid.Children.Add(panelSpecial); ProccessorControl proccessorControl = new ProccessorControl(this.Text_Container, ProccessorViewModel); proccessorControl.Visibility = Visibility.Collapsed; Grid.SetRow(proccessorControl, 1); MainGrid.Children.Add(proccessorControl); AllTopControls = new UserControl[] { panelSpecial, proccessorControl }; foreach (StackPanel s in AllLeftPanels) { LeftWorkPanel.Children.Add(s); } DocumentsViewModel = new FlowDocumentsViewModel(); DocumentsViewModel.PropertyChanged += Current_Doc_Changed; DocumentsViewModel.FlowDocumentsBoxes.CollectionChanged += Changes_Flow_Docs; ButtonsFlowDocs = new ObservableCollection <ButtonForFlowDoc>(); ButtonsChangeFlowDoc.ItemsSource = ButtonsFlowDocs; ProccessorViewModel = new TextProccessorViewModel(); this.DataContext = DocumentsViewModel; // Binding event from ProccessorControl (View) to handlers to show result in new flowdoc in current window // proccessorControl.ButtonUniqueWords.Click += GetUniqueWords; proccessorControl.ButtonConcordance.Click += GetConcordance; proccessorControl.ButtonSentenses.Click += GetSentenses; proccessorControl.ButtonSort.Click += SortSelected; ///////////////////////////////////////////////////////////////////////////////////////////////////////////// File_New_Command(null, null); }
public ProccessorControl(RichTextBox selectedRtb, TextProccessorViewModel proccessor) { InitializeComponent(); SelectedTextBox = selectedRtb; ProccessorViewModel = proccessor; cmbFindFontFamily.ItemsSource = Fonts.SystemFontFamilies.OrderBy(f => f.Source); cmbReplaceFontFamily.ItemsSource = Fonts.SystemFontFamilies.OrderBy(f => f.Source); List <double> l = new List <double>(); for (int i = 122; i > 0; i--) { l.Add(i); } cmbFindFontSize.ItemsSource = l; cmbReplaceFontSize.ItemsSource = l; }