public static void SaveTab(TabItem SaveTab, SaveFileDialog saveFileDialog) { if (Controller.Main.tabControl.Visibility == Visibility.Visible) { Controller.Tab Index = Controller.Main.TabControlList.Find(x => x.TabItem == SaveTab); if (Index != null) { Index.Editor.Save(saveFileDialog.FileName); Toggle.UnsavedMark(SaveTab, false); } } }
public static void DoCount(Controller.Tab Index, TextBox SearchBox) { if (SearchBox != null) { if (Controller.Search.CurrentSearch != null && Controller.Search.CurrentSearch.Equals(SearchBox.Text, System.StringComparison.CurrentCultureIgnoreCase) == true) { StringBuilder ResultText = new StringBuilder(); ResultText.Append(Properties.Resources.Result); ResultText.Append(Index.SearchList.Count); SetSearchInfo(ResultText); return; } else { if (Index.SearchList.Count > 0) { Index.SearchList.Clear(); Controller.Search.CurrentSearchIndex = 0; Controller.Main.LastIndex = 1; } Controller.Search.CurrentSearch = SearchBox.Text; if (Index.SearchList != null && Controller.Search.CurrentSearch != null) { Index.SearchList = FindString(Index.Editor, Controller.Search.CurrentSearch, !(Controller.Search.MatchCase.IsChecked.Value)); if (Index.SearchList != null && Index.SearchList.Count > 0) { if (Controller.Search.SearchInfo.Visibility == Visibility.Collapsed) { Controller.Search.SearchInfo.Visibility = Visibility.Visible; } StringBuilder ResultText = new StringBuilder(); ResultText.Append(Properties.Resources.Result); ResultText.Append(Index.SearchList.Count); SetSearchInfo(ResultText); } } } } }
public static void SaveTab(TabItem SaveTab) { if (Controller.Main.tabControl.Visibility == Visibility.Visible) { Controller.Tab Index = Controller.Main.TabControlList.Find(x => x.TabItem == SaveTab); if (Index != null) { if (!Index.State.HasFlag(Structures.States.Saved)) { Index.State |= Structures.States.Saved; } Index.State &= ~Structures.States.Changed; StringBuilder FileToSave = new StringBuilder(); FileToSave.Append(SaveTab.Uid); FileToSave.Append(GetTabHeaderText(SaveTab)); if (File.Exists(FileToSave.ToString())) { Index.Editor.Save(FileToSave.ToString()); FileToSave = null; } else { SaveFileDialog saveFileDialog = new SaveFileDialog() { OverwritePrompt = true, Filter = Properties.Resources.FileFilter, Title = Properties.Resources.SaveFile }; if (saveFileDialog.ShowDialog() == true) { Tab.SaveTab(SaveTab, saveFileDialog); UpdateTabHeaderText(SaveTab, saveFileDialog.SafeFileName); } } Toggle.UnsavedMark(SaveTab, false); } } }
public static void RemoveTempTabs() { List <Controller.Tab> tmpTabs = Controller.Main.TabControlList.FindAll(x => x.Tmp == true); if (tmpTabs.Count > 0) { Controller.Tab Index = null; Grid grid = null; for (int i = 0; i != tmpTabs.Count; i++) { Index = tmpTabs[i]; Index.Editor.Clear(); grid = Index.TabItem.Content as Grid; Index.Editor = null; grid.Children.Remove(Index.Editor); grid = null; Controller.Main.TabControlList.Remove(Index); Index.TabItem.ContextMenu.Items.Clear(); Controller.Main.tabControl.Items.Remove(Index.TabItem); } } }
public static void DoSearch(Controller.Tab Index, TextBox SearchBox) { Index.State |= Structures.States.Searching; if (SearchBox != null) { if (Controller.Search.CurrentSearch != null && Controller.Search.CurrentSearch.Equals(SearchBox.Text, System.StringComparison.CurrentCultureIgnoreCase) == true) { Controller.Search.CurrentSearchIndex++; if (Controller.Search.CurrentSearchIndex == Index.SearchList.Count && Controller.Search.WrapAround.IsChecked == true && Controller.Search.WrapedAround == false) { Controller.Search.CurrentSearchIndex = 0; Controller.Search.WrapedAround = true; Editor.SelectAndBringToView(Index.Editor, Index.SearchList[0].Index, Controller.Search.CurrentSearch.Length); return; } if (Index.SearchList != null && Controller.Search.CurrentSearchIndex < Index.SearchList.Count) { if (Controller.Search.WrapedAround == true && Controller.Search.WrapAround.IsChecked == true) { if (Controller.Search.FirstIndex == Controller.Search.CurrentSearchIndex) { Controller.Search.CurrentSearchIndex = Index.SearchList.Count; SetSearchInfo(Properties.Resources.NoFurtherResult); return; } } Editor.SelectAndBringToView(Index.Editor, Index.SearchList[Controller.Search.CurrentSearchIndex].Index, Controller.Search.CurrentSearch.Length); } else { Controller.Search.CurrentSearchIndex = Index.SearchList.Count; SetSearchInfo(Properties.Resources.NoFurtherResult); } } else { if (Index.SearchList != null && Index.SearchList.Count > 0) { Index.SearchList.Clear(); } Controller.Search.CurrentSearchIndex = 0; Controller.Main.LastIndex = 0; Controller.Search.CurrentSearch = SearchBox.Text; Controller.Search.FirstIndex = 0; if (Controller.Search.CurrentSearch != null) { Index.SearchList = FindString(Index.Editor, Controller.Search.CurrentSearch, !(Controller.Search.MatchCase.IsChecked.Value)); if (Index.SearchList != null && Index.SearchList.Count > 0) { for (int i = 0; i != Index.SearchList.Count; i++) { if (Index.SearchList[i].Index > Controller.Search.SearchBeginOffset) { Controller.Search.CurrentSearchIndex = i; Controller.Search.FirstIndex = i; break; } } Editor.SelectAndBringToView(Index.Editor, Index.SearchList[Controller.Search.CurrentSearchIndex].Index, Controller.Search.CurrentSearch.Length); StringBuilder ResultText = new StringBuilder(); ResultText.Append(Properties.Resources.Result); ResultText.Append(Index.SearchList.Count); SetSearchInfo(ResultText); } else { SetSearchInfo(Properties.Resources.NoResult); } } } } Index.State &= ~Structures.States.Searching; }