Example #1
0
        public void LoadOptions()
        {
            string FileName = OptionsFileName;

            try
            {
                if (!File.Exists(FileName))
                {
                    try
                    {
                        File.Copy(OldOptionsFileName, FileName, true);
                    }
                    catch
                    {
                    }
                }
                if (!File.Exists(FileName))
                {
                    string language = "Русский";
                    try
                    {
                        var cp = Registry.CurrentUser.OpenSubKey("Software\\PascalABC.NET").GetValue("Installer Language").ToString();
                        if (cp == "1033")
                        {
                            language = "English";
                        }
                    }
                    catch (Exception ex)
                    {
                        //MessageBox.Show(ex.Message);
                    }
                    PascalABCCompiler.StringResourcesLanguage.CurrentLanguageName = language;
                    CodeCompletionParserController.CurrentTwoLetterISO            = PascalABCCompiler.StringResourcesLanguage.CurrentTwoLetterISO;
                    return;
                }
                Hashtable Options = new Hashtable(StringComparer.CurrentCultureIgnoreCase);
                PascalABCCompiler.AdvancedOptions adv_opt = new PascalABCCompiler.AdvancedOptions();
                PascalABCCompiler.StringResources.ReadStringsFromStreamAsXml(FileName, new StreamReader(FileName, VisualEnvironmentCompiler.DefaultFileEncoding), Options, adv_opt);
                string value;
                int    val;
                if ((value = (string)Options[OptionsItemNameWorkDirectory]) != null)
                {
                    WorkbenchStorage.WorkingDirectoryInOptionsFile = value;
                    WorkbenchStorage.WorkingDirectory = PascalABCCompiler.Tools.ReplaceAllKeys(value, WorkbenchStorage.StandartDirectories);
                }
                if ((value = (string)Options[OptionsItemNameLanguage]) != null)
                {
                    PascalABCCompiler.StringResourcesLanguage.CurrentLanguageName = value;
                    CodeCompletionParserController.CurrentTwoLetterISO            = PascalABCCompiler.StringResourcesLanguage.CurrentTwoLetterISO;
                }
                if ((value = (string)Options[OptionsItemNameMainFormLeft]) != null)
                {
                    val = Convert.ToInt32(value);
                    if (val < Screen.PrimaryScreen.WorkingArea.Size.Width && val >= 0)
                    {
                        FormLeft = this.Left = val;
                    }
                }
                if ((value = (string)Options[OptionsItemNameMainFormTop]) != null)
                {
                    val = Convert.ToInt32(value);
                    if (val < Screen.PrimaryScreen.WorkingArea.Size.Height && val >= 0)
                    {
                        FormTop = this.Top = val;
                    }
                }
                if ((value = (string)Options[OptionsItemNameMainFormWidth]) != null)
                {
                    val = Convert.ToInt32(value);
                    if (val < Screen.PrimaryScreen.WorkingArea.Size.Width && val >= 100)
                    {
                        FormWidth = this.Width = val;
                    }
                }
                if ((value = (string)Options[OptionsItemNameMainFormHeight]) != null)
                {
                    val = Convert.ToInt32(value);
                    if (val < Screen.PrimaryScreen.WorkingArea.Size.Height && val >= 100)
                    {
                        FormHeight = this.Height = val;
                    }
                }
                if ((value = (string)Options[OptionsItemNameMainFormMaximized]) != null)
                {
                    _mainFormWindowStateMaximized = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameShowLinesNum]) != null)
                {
                    UserOptions.ShowLineNums = Convert.ToBoolean(value);
                }

                if ((value = (string)Options[OptionsItemNameEnableFolding]) != null)
                {
                    UserOptions.EnableFolding = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameSaveSourceFilesIfComilationOk]) != null)
                {
                    UserOptions.SaveSourceFilesIfComilationOk = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameAutoInsertCode]) != null)
                {
                    UserOptions.AutoInsertCodeIsEnabledOnStartup = Convert.ToBoolean(value);
                    tsAutoInsertCode.Checked             = UserOptions.AutoInsertCodeIsEnabledOnStartup;
                    mAUTOINSERTToolStripMenuItem.Checked = UserOptions.AutoInsertCodeIsEnabledOnStartup;
                }

                if ((value = (string)Options[OptionsItemNameMainFormTitle]) != null)
                {
                    MainFormText = value;
                }
                if ((value = (string)Options[OptionsItemNameDeleteEXEAfterExecute]) != null)
                {
                    UserOptions.DeleteEXEAfterExecute = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameDeletePDBAfterExecute]) != null)
                {
                    UserOptions.DeletePDBAfterExecute = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameShowMathBracket]) != null)
                {
                    UserOptions.ShowMathBraket = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameShowMatchOperatorBracket]) != null)
                {
                    UserOptions.HighlightOperatorBrackets = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameEditorFontFamily]) != null)
                {
                    UserOptions.CurrentFontFamily = Convert.ToString(value);
                }
                if ((value = (string)Options[OptionsItemNameEditorFontSize]) != null)
                {
                    UserOptions.EditorFontSize = Convert.ToInt32(value);
                }
                if ((value = (string)Options[OptionsItemNameErrorsStrategy]) != null)
                {
                    ErrorsManager.Strategy = (PascalABCCompiler.Errors.ErrorsStrategy)Convert.ToByte(value);
                    if (ErrorsManager.Strategy == PascalABCCompiler.Errors.ErrorsStrategy.All)
                    {
                        ErrorsManager.Strategy = PascalABCCompiler.Errors.ErrorsStrategy.FirstSemanticAndSyntax;
                    }
                }

                /*if ((value = (string)Options[OptionsItemNameErrorsCursorPosStrategy]) != null)
                 * {
                 *  ErrorCursorPosStrategy = (VisualPascalABCPlugins.SourceLocationAction)Convert.ToByte(value);
                 *  if (ErrorCursorPosStrategy == VisualPascalABCPlugins.SourceLocationAction.GotoEnd)
                 *      ErrorCursorPosStrategy = VisualPascalABCPlugins.SourceLocationAction.GotoBeg;
                 *  else if (ErrorCursorPosStrategy == VisualPascalABCPlugins.SourceLocationAction.SelectAndGotoEnd)
                 *      ErrorCursorPosStrategy = VisualPascalABCPlugins.SourceLocationAction.SelectAndGotoBeg;
                 * }*/
                if ((value = (string)Options[OptionsItemNameShowOutputWindow]) != null)
                {
                    BottomTabsVisible = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameRedirectConsoleIO]) != null)
                {
                    UserOptions.RedirectConsoleIO = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameConvertTabsToSpaces]) != null)
                {
                    UserOptions.ConverTabsToSpaces = true;// Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameGenerateDebugInfo]) != null)
                {
                    WorkbenchServiceFactory.BuildService.CompilerOptions.Debug = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameTabIdent]) != null)
                {
                    UserOptions.TabIndent = Convert.ToInt32(value);
                }
                if ((value = (string)Options[OptionsItemNameOutputDirectory]) != null)
                {
                    UserOptions.OutputDirectory = value;
                }
                if ((value = (string)Options[OptionsItemNameUseOutputDirectory]) != null)
                {
                    UserOptions.UseOutputDirectory = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNamePlayPauseButtonsVisibleInPanel]) != null)
                {
                    PlayPauseButtonsVisibleInPanel = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNamePauseInRunModeIfConsole]) != null)
                {
                    UserOptions.PauseInRunModeIfConsole = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameCodeCompletionHint]) != null)
                {
                    UserOptions.CodeCompletionHint = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameCodeCompletionDot]) != null)
                {
                    UserOptions.CodeCompletionDot = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameCodeCompletionParams]) != null)
                {
                    UserOptions.CodeCompletionParams = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameCodeCompletionKeyPressed]) != null)
                {
                    UserOptions.EnableSmartIntellisense = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameShowQuickClassBrowserPanel]) != null)
                {
                    UserOptions.ShowQuickClassBrowserPanel = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameDefaultSourceFileNameFormat]) != null)
                {
                    UserOptions.DefaultSourceFileNameFormat = value;
                }
                if ((value = (string)Options[OptionsItemNameAllowCodeCompletion]) != null)
                {
                    UserOptions.AllowCodeCompletion = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameSkipStackTraceItemIfSourceFileInSystemDirectory]) != null)
                {
                    UserOptions.SkipStackTraceItemIfSourceFileInSystemDirectory = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemNameCodeCompletionNamespaceVisibleRange]) != null)
                {
                    UserOptions.CodeCompletionNamespaceVisibleRange = Convert.ToInt32(value);
                }
                if ((value = (string)Options[OptionsItemNameDockBottomPortion]) != null)
                {
                    MainDockPanel.DockBottomPortion = Convert.ToDouble(value);
                }
                if ((value = (string)Options[OptionsItemNameDockLeftPortion]) != null)
                {
                    MainDockPanel.DockLeftPortion = Convert.ToDouble(value);
                }
                if ((value = (string)Options[OptionsItemNameDockRightPortion]) != null)
                {
                    MainDockPanel.DockRightPortion = Convert.ToDouble(value);
                }
                if ((value = (string)Options[OptionsItemUseDllForSystemModules]) != null)
                {
                    UserOptions.UseDllForSystemUnits = Convert.ToBoolean(value);
                }
                if ((value = (string)Options[OptionsItemPABCDllChecked]) != null)
                {
                    UserOptions.PABCDllChecked = Convert.ToBoolean(value);
                }
                int i = 0;
                while ((value = (string)Options[OptionsItemNameLastFile + (i++).ToString()]) != null)
                {
                    AddLastFile(value);
                }
                i = 0;
                while ((value = (string)Options[OptionsItemNameLastProject + (i++).ToString()]) != null)
                {
                    WorkbenchServiceFactory.ProjectService.AddLastProject(value);
                }

                /*foreach (string w in adv_opt.watch_list)
                 * {
                 *      AddVariable(w,false);
                 * }*/
                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(PascalABCCompiler.StringResourcesLanguage.CurrentTwoLetterISO);
            }
            catch (Exception e)
            {
            }
            UserOptions.AllowCodeCompletion = UserOptions.CodeCompletionHint || UserOptions.CodeCompletionDot || UserOptions.CodeCompletionParams;
        }
Example #2
0
        public void LoadOptions()
        {
            string FileName = OptionsFileName;
            try
            {
                if (!File.Exists(FileName))
                {
                    try
                    {
                        File.Copy(OldOptionsFileName, FileName, true);
                    }
                    catch
                    {
                    }
                }
                if (!File.Exists(FileName))
                {
                    string language = "Русский";
                    try
                    {
                        var cp = Registry.CurrentUser.OpenSubKey("Software\\PascalABC.NET").GetValue("Installer Language").ToString();
                        if (cp == "1033")
                            language = "English";
                    }
                    catch(Exception ex)
                    {
                        //MessageBox.Show(ex.Message);
                    }
                    PascalABCCompiler.StringResourcesLanguage.CurrentLanguageName = language;
                    CodeCompletionParserController.CurrentTwoLetterISO = PascalABCCompiler.StringResourcesLanguage.CurrentTwoLetterISO;
                    return;
                }
                Hashtable Options = new Hashtable(StringComparer.CurrentCultureIgnoreCase);
                PascalABCCompiler.AdvancedOptions adv_opt = new PascalABCCompiler.AdvancedOptions();
                PascalABCCompiler.StringResources.ReadStringsFromStreamAsXml(FileName, new StreamReader(FileName, VisualEnvironmentCompiler.DefaultFileEncoding), Options, adv_opt);
                string value;
                int val;
                if ((value = (string)Options[OptionsItemNameWorkDirectory]) != null)
                {
                    WorkbenchStorage.WorkingDirectoryInOptionsFile = value;
                    WorkbenchStorage.WorkingDirectory = PascalABCCompiler.Tools.ReplaceAllKeys(value, WorkbenchStorage.StandartDirectories);
                }
                if ((value = (string)Options[OptionsItemNameLanguage]) != null)
                {
                    PascalABCCompiler.StringResourcesLanguage.CurrentLanguageName = value;
                    CodeCompletionParserController.CurrentTwoLetterISO = PascalABCCompiler.StringResourcesLanguage.CurrentTwoLetterISO;
                }
                if ((value = (string)Options[OptionsItemNameMainFormLeft]) != null)
                {
                    val = Convert.ToInt32(value);
                    if (val < Screen.PrimaryScreen.WorkingArea.Size.Width && val >= 0)
                        FormLeft = this.Left = val;
                }
                if ((value = (string)Options[OptionsItemNameMainFormTop]) != null)
                {
                    val = Convert.ToInt32(value);
                    if (val < Screen.PrimaryScreen.WorkingArea.Size.Height && val >= 0)
                        FormTop = this.Top = val;
                }
                if ((value = (string)Options[OptionsItemNameMainFormWidth]) != null)
                {
                    val = Convert.ToInt32(value);
                    if (val < Screen.PrimaryScreen.WorkingArea.Size.Width && val >= 100)
                        FormWidth = this.Width = val;
                }
                if ((value = (string)Options[OptionsItemNameMainFormHeight]) != null)
                {
                    val = Convert.ToInt32(value);
                    if (val < Screen.PrimaryScreen.WorkingArea.Size.Height && val >= 100)
                        FormHeight = this.Height = val;
                }
                if ((value = (string)Options[OptionsItemNameMainFormMaximized]) != null)
                    _mainFormWindowStateMaximized = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameShowLinesNum]) != null)
                    UserOptions.ShowLineNums = Convert.ToBoolean(value);

                if ((value = (string)Options[OptionsItemNameEnableFolding]) != null)
                    UserOptions.EnableFolding = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameSaveSourceFilesIfComilationOk]) != null)
                    UserOptions.SaveSourceFilesIfComilationOk = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameMainFormTitle]) != null)
                    MainFormText = value;
                if ((value = (string)Options[OptionsItemNameDeleteEXEAfterExecute]) != null)
                    UserOptions.DeleteEXEAfterExecute = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameDeletePDBAfterExecute]) != null)
                    UserOptions.DeletePDBAfterExecute = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameShowMathBracket]) != null)
                    UserOptions.ShowMathBraket = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameShowMatchOperatorBracket]) != null)
                    UserOptions.HighlightOperatorBrackets = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameEditorFontFamily]) != null)
                    UserOptions.CurrentFontFamily = Convert.ToString(value);
                if ((value = (string)Options[OptionsItemNameEditorFontSize]) != null)
                    UserOptions.EditorFontSize = Convert.ToInt32(value);
                if ((value = (string)Options[OptionsItemNameErrorsStrategy]) != null)
                {
                    ErrorsManager.Strategy = (PascalABCCompiler.Errors.ErrorsStrategy)Convert.ToByte(value);
                    if (ErrorsManager.Strategy == PascalABCCompiler.Errors.ErrorsStrategy.All)
                        ErrorsManager.Strategy = PascalABCCompiler.Errors.ErrorsStrategy.FirstSemanticAndSyntax;
                }
                /*if ((value = (string)Options[OptionsItemNameErrorsCursorPosStrategy]) != null)
                {
                    ErrorCursorPosStrategy = (VisualPascalABCPlugins.SourceLocationAction)Convert.ToByte(value);
                    if (ErrorCursorPosStrategy == VisualPascalABCPlugins.SourceLocationAction.GotoEnd)
                    	ErrorCursorPosStrategy = VisualPascalABCPlugins.SourceLocationAction.GotoBeg;
                    else if (ErrorCursorPosStrategy == VisualPascalABCPlugins.SourceLocationAction.SelectAndGotoEnd)
                    	ErrorCursorPosStrategy = VisualPascalABCPlugins.SourceLocationAction.SelectAndGotoBeg;
                }*/
                if ((value = (string)Options[OptionsItemNameShowOutputWindow]) != null)
                    BottomTabsVisible = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameRedirectConsoleIO]) != null)
                    UserOptions.RedirectConsoleIO = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameConvertTabsToSpaces]) != null)
                    UserOptions.ConverTabsToSpaces = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameGenerateDebugInfo]) != null)
                    WorkbenchServiceFactory.BuildService.CompilerOptions.Debug = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameTabIdent]) != null)
                    UserOptions.TabIndent = Convert.ToInt32(value);
                if ((value = (string)Options[OptionsItemNameOutputDirectory]) != null)
                    UserOptions.OutputDirectory = value;
                if ((value = (string)Options[OptionsItemNameUseOutputDirectory]) != null)
                    UserOptions.UseOutputDirectory = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNamePlayPauseButtonsVisibleInPanel]) != null)
                    PlayPauseButtonsVisibleInPanel = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNamePauseInRunModeIfConsole]) != null)
                    UserOptions.PauseInRunModeIfConsole = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameCodeCompletionHint]) != null)
                    UserOptions.CodeCompletionHint = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameCodeCompletionDot]) != null)
                    UserOptions.CodeCompletionDot = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameCodeCompletionParams]) != null)
                    UserOptions.CodeCompletionParams = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameCodeCompletionKeyPressed]) != null)
                    UserOptions.EnableSmartIntellisense = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameShowQuickClassBrowserPanel]) != null)
                    UserOptions.ShowQuickClassBrowserPanel = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameDefaultSourceFileNameFormat]) != null)
                    UserOptions.DefaultSourceFileNameFormat = value;
                if ((value = (string)Options[OptionsItemNameAllowCodeCompletion]) != null)
                    UserOptions.AllowCodeCompletion = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameSkipStakTraceItemIfSourceFileInSystemDirectory]) != null)
                    UserOptions.SkipStakTraceItemIfSourceFileInSystemDirectory = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemNameCodeCompletionNamespaceVisibleRange]) != null)
                    UserOptions.CodeCompletionNamespaceVisibleRange = Convert.ToInt32(value);
                if ((value = (string)Options[OptionsItemNameDockBottomPortion]) != null)
                    MainDockPanel.DockBottomPortion = Convert.ToDouble(value);
                if ((value = (string)Options[OptionsItemNameDockLeftPortion]) != null)
                    MainDockPanel.DockLeftPortion = Convert.ToDouble(value);
                if ((value = (string)Options[OptionsItemNameDockRightPortion]) != null)
                    MainDockPanel.DockRightPortion = Convert.ToDouble(value);
                if ((value = (string)Options[OptionsItemUseDllForSystemModules]) != null)
                    UserOptions.UseDllForSystemUnits = Convert.ToBoolean(value);
                if ((value = (string)Options[OptionsItemPABCDllChecked]) != null)
                    UserOptions.PABCDllChecked = Convert.ToBoolean(value);
                int i = 0;
                while ((value = (string)Options[OptionsItemNameLastFile + (i++).ToString()]) != null)
                    AddLastFile(value);
                i = 0;
                while ((value = (string)Options[OptionsItemNameLastProject + (i++).ToString()]) != null)
                    WorkbenchServiceFactory.ProjectService.AddLastProject(value);
                /*foreach (string w in adv_opt.watch_list)
                {
                	AddVariable(w,false);
                }*/
                System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(PascalABCCompiler.StringResourcesLanguage.CurrentTwoLetterISO);
            }
            catch (Exception e)
            {
            }
            UserOptions.AllowCodeCompletion = UserOptions.CodeCompletionHint || UserOptions.CodeCompletionDot || UserOptions.CodeCompletionParams;
        }
Example #3
0
 private PascalABCCompiler.AdvancedOptions GetAdvancedOptions()
 {
     PascalABCCompiler.AdvancedOptions adv_opt = new PascalABCCompiler.AdvancedOptions();
     return(adv_opt);
 }
Example #4
0
 private PascalABCCompiler.AdvancedOptions GetAdvancedOptions()
 {
     PascalABCCompiler.AdvancedOptions adv_opt = new PascalABCCompiler.AdvancedOptions();
     return adv_opt;
 }