Пример #1
0
 private void UpdateColors(IDEState state)
 {
     _brushErrorB.Color        = state.EditorColor_ErrorB;
     _brushErrorF.Color        = state.EditorColor_ErrorF;
     _brushSpecialErrorB.Color = state.EditorColor_SpecialErrorB;
     _brushSpecialErrorF.Color = state.EditorColor_SpecialErrorF;
 }
Пример #2
0
 // ----------------------------------------------------------------------------------------
 private void Splitter_OnDragCompleted(object sender, DragCompletedEventArgs e)
 {
     // Сохраняем значения для будущего запуска
     IDEState.Get().ErrorsRow_Height            = ErrorsRow.ActualHeight;
     IDEState.Get().ProjectExplorerColumn_Width = ProjectExplorerColumn.ActualWidth;
     IDEState.Get().ContentsColumn_Width        = ContentsColumn.ActualWidth;
 }
Пример #3
0
        protected override void OnExit(ExitEventArgs e)
        {
            // Сначала все события,
            base.OnExit(e);

            // И только в сааамом конце
            IDEState.Get().SaveConfiguration();
        }
Пример #4
0
        public XBackgroundRenderer(TextEditor e, ObjectBool isFocused, CommentsPanel commentsPanel)
        {
            _isFocused     = isFocused;
            _editor        = e;
            _commentsPanel = commentsPanel;

            _brush = IDEState.Get().EditorColor_CurrentLineBrush;
            _pen   = new Pen(_brush, 0);
        }
Пример #5
0
        public static bool NeedFullDiagnostic(Type type)
        {
            //return true;

            bool res = !IDEState.Get().RecentErrors.ContainsKey(type);

            // Полная диагностика нужна, если такой ошибки еще не было,
            // т.е. ее нету в списке последних
            return(!IDEState.Get().RecentErrors.ContainsKey(type));
        }
Пример #6
0
 private void OnHelpCommand(object sender, ExecutedRoutedEventArgs e)
 {
     if (IDEState.Get().CurrentLanguage == 0)
     {
         Process.Start("ENG.chm");
     }
     else
     {
         Process.Start("RUS.chm");
     }
 }
Пример #7
0
        public void Init(CodeEditorView codeEditorView)
        {
            CodeEditorView               = codeEditorView;
            _IDEState                    = Application.Current.Resources["IDEState"] as IDEState;
            listView1.DataContext        = ErrorsListContainter; // Все манипуляции - через данные
            CheckboxConverter.CodeEditor = codeEditorView;

            // Если проект меняется, то все ошибки надо удалить
            // Иначе можно будет тыкать на ошибку, и переходитьвв неизвестно какой файл
            CodeProjectManager.Instance.CurrentProjectChanged += (sender, args) => ClearAllErrors();

            MainObject = listView1;
        }
Пример #8
0
        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();
        }
Пример #9
0
        // На биндерах логика получается слишком сложной, проще по-старому

        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");
        }
Пример #10
0
        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);
        }
Пример #11
0
        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);
                }
            }
        }
Пример #12
0
        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();
        }
Пример #13
0
        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;
            }
        }
Пример #14
0
 private void Window_Loaded(object sender, RoutedEventArgs e)
 {
     NextProjectNumber = IDEState.Get().NextProjectNumber;
     GenerateName();
 }
Пример #15
0
 private void UpdateColors(IDEState state)
 {
     _brushPopupErrorB.Color = state.EditorColor_PopupErrorB;
     _brushPopupErrorF.Color = state.EditorColor_PopupErrorF;
 }
Пример #16
0
        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;
        }