Example #1
0
        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);
        }
Example #2
0
 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);
 }
Example #3
0
 private void GetUniqueWords(object sender, RoutedEventArgs e)
 {
     if (String.IsNullOrEmpty(Text_Container.Selection.Text))
     {
         return;
     }
     OpenNewFromString(TextProccessorViewModel.GetUniqueWords(Text_Container.Selection));
 }
Example #4
0
        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));
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        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;
        }