private void Window_Closing(object sender, CancelEventArgs args) { // Сохранить состояние открытых/закрытых панелей IDEState.Get().ProjectExplorer_Visible = projectExplorerControlPanel.IsActive; IDEState.Get().Errors_visible = errorsListControlPanel.IsActive; IDEState.Get().Contents_Visible = contentsControlPanel.IsActive; // Закрыть дочерние окна _hotkeyWindow.RealClose(); // Закрыть текущий проект codeEditor.CloseAllTabs(); CodeProjectManager.Instance.CloseCurrent(); }
// На биндерах логика получается слишком сложной, проще по-старому public FileTabControl() { var state = (Application.Current.Resources["IDEState"]) as IDEState; ActiveFocusTabBrushB = state.FocusedHeaderBrushB; ActiveFocusTabBrushF = state.FocusedHeaderBrushF; ActiveNotFocusTabBrush = state.NotFocusedHeaderBrushB; NotActiveTabBrush = new SolidColorBrush(Colors.Transparent); MouseHoverTabBrush = IDEState.Get().EditorColor_MouseHoverTabFocusedBrush; MouseHoverTabBrushNoFocus = IDEState.Get().EditorColor_MouseHoverTabNotFocusedBrush; BottomPanelBrush = ActiveFocusTabBrushB; Elements = new ObservableCollection <CodeFile>(); InitializeComponent(); OnPropertyChanged("SelectedBrush"); }
private static void AddToRecentProjects(CodeProject project) { var recent = IDEState.Get().RecentProjects; // Проверить, есть ли уже такой, удалить если есть (потом все равно добавим) if (recent.IndexOf(project.Path) != -1) { recent.Remove(project.Path); } // Delete last while (recent.Count >= 10) { recent.RemoveAt(recent.Count - 1); } // Добавляем в начало recent.Insert(0, project.Path); }
public void ApplyErrorsToRecent() { if (_recent == null) { return; } foreach (KeyValuePair <CompileError.Type, int> pair in _recent) { if (IDEState.Get().RecentErrors.ContainsKey(pair.Key)) { IDEState.Get().RecentErrors[pair.Key] += pair.Value; } else { IDEState.Get().RecentErrors.Add(pair.Key, pair.Value); } } }
private void Window_Loaded(object sender, EventArgs e) { Init(); // Закрыть окна, какие не нужны if (!IDEState.Get().ProjectExplorer_Visible) { projectExplorerControlPanel.Collapse(); } if (!IDEState.Get().Errors_visible) { errorsListControlPanel.Collapse(); } if (!IDEState.Get().Contents_Visible) { contentsControlPanel.Collapse(); } Logger.LogWithBinding("Status_Ready"); // Стартовая подсказка if (IDEState.Get().ShowStartPage) { StartPageWindow window = new StartPageWindow { Owner = this }; window.ShowDialog(); } // Очистить былые ошибки, считаем все заново IDEState.Get().RecentErrors.Clear(); // Поначалу ставим фокус в прожект эксплорер projectExplorerControlPanel.Activate(); }
private void buttonOK_Click(object sender, RoutedEventArgs e) { if (System.IO.Directory.Exists(GetDirectory())) { MessageBoxResult result = MessageBox.Show(LocalString.Get("NewProjectWindow_DirExists"), LocalString.Get("NewProjectWindow_Attention"), MessageBoxButton.YesNo); if (result == MessageBoxResult.Yes) { IDEState.Get().NextProjectNumber = NextProjectNumber; DialogResult = true; } else { // Ничего, возврат в предыдущую форму } } else { IDEState.Get().NextProjectNumber = NextProjectNumber; DialogResult = true; } }
private void Window_Loaded(object sender, RoutedEventArgs e) { NextProjectNumber = IDEState.Get().NextProjectNumber; GenerateName(); }
private void HelpGroupBoxLoaded(object sender, RoutedEventArgs e) { Dictionary <CompileError.Type, int> recent = IDEState.Get().RecentErrors; FlowDocument doc = new FlowDocument(); int[] num = new int[10]; recent.TryGetValue(CompileError.Type.Type0, out num[0]); recent.TryGetValue(CompileError.Type.Type1, out num[1]); recent.TryGetValue(CompileError.Type.Type2, out num[2]); recent.TryGetValue(CompileError.Type.Type3, out num[3]); recent.TryGetValue(CompileError.Type.Type4, out num[4]); recent.TryGetValue(CompileError.Type.Type5, out num[5]); recent.TryGetValue(CompileError.Type.Type6, out num[6]); recent.TryGetValue(CompileError.Type.Type7, out num[7]); recent.TryGetValue(CompileError.Type.Type8, out num[8]); recent.TryGetValue(CompileError.Type.Type9, out num[9]); int max_idx = 0, max = num[0]; for (int i = 1; i < 10; i++) { if (num[i] > max) { max_idx = i; max = num[i]; } } Paragraph par = new Paragraph(); if (IDEState.Get().IsFirstTime) { par.Inlines.Add(LocalString.Get("StartPage_Msg_FirstTime")); doc.Blocks.Add(par); } else if (recent.Count == 0) { par.Inlines.Add(LocalString.Get("StartPage_Msg_NoErrors")); doc.Blocks.Add(par); } else { par.Inlines.Add(LocalString.Get("StartPage_Msg_MostError")); par.Inlines.Add(new Bold(new Run("№" + max_idx))); doc.Blocks.Add(par); string shortDesc = LocalString.Get("Err_" + max_idx.ToString() + "_short"); string fullDesc = LocalString.Get("Err_" + max_idx.ToString() + "_full"); par = new Paragraph(); par.Inlines.Add(LocalString.Get("StartPage_Msg_Short")); par.Inlines.Add(new Bold(new Run(shortDesc))); doc.Blocks.Add(par); par = new Paragraph(); par.Inlines.Add(LocalString.Get("StartPage_Msg_Full")); par.Inlines.Add(new Bold(new Run(fullDesc))); doc.Blocks.Add(par); } richTextBox1.Document = doc; }