Example #1
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();
        }
Example #2
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");
        }
Example #3
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);
        }
Example #4
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);
                }
            }
        }
Example #5
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();
        }
        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;
        }