/// <summary> /// Init completion engine context /// </summary> /// <param name="mainForm">Reference to MainForm</param> static public void Init(PluginMain pluginMain) { dirSeparatorChar = System.IO.Path.DirectorySeparatorChar; dirSeparator = dirSeparatorChar.ToString(); dirAltSeparatorChar = System.IO.Path.AltDirectorySeparatorChar; dirAltSeparator = dirAltSeparatorChar.ToString(); doPathNormalization = dirSeparator != dirAltSeparator; // ASContext.plugin = pluginMain; try { context = new Contexts.Actionscript2(); ASFileParser.Context = context; context.Init(); } catch (Exception ex) { ErrorHandler.ShowError("Failed to initialize context.\n" + ex.Message, ex); } // documentation if (!MainForm.MainSettings.HasKey(SETTING_DOCUMENTATION_COMPLETION)) { MainForm.MainSettings.AddValue(SETTING_DOCUMENTATION_COMPLETION, "true"); } if (!MainForm.MainSettings.HasKey(SETTING_DOCUMENTATION_TAGS)) { MainForm.MainSettings.AddValue(SETTING_DOCUMENTATION_TAGS, ASDocumentation.DEFAULT_DOC_TAGS); } if (!MainForm.MainSettings.HasKey(SETTING_DOCUMENTATION_TIPS)) { MainForm.MainSettings.AddValue(SETTING_DOCUMENTATION_TIPS, "true"); } if (!MainForm.MainSettings.HasKey(SETTING_DOCUMENTATION_DESCRIPTION)) { MainForm.MainSettings.AddValue(SETTING_DOCUMENTATION_DESCRIPTION, "true"); } // debugging enabled? DebugConsole.CheckSettings(); // status UnLock(); }
private void SafeInit() { this.mainForm = this.pluginHost.MainForm; this.pluginUI = new PluginUI(); System.Drawing.Image image = this.mainForm.GetSystemImage(46); /** * Create panel */ this.pluginUI.Tag = "ActionScript"; this.pluginUI.Text = "ActionScript"; this.pluginPanel = mainForm.CreateDockingPanel(this.pluginUI, this.pluginGuid, image, DockState.DockRight); /** * Default shortcuts */ if (!MainForm.MainSettings.HasKey(SETTING_SHORTCUT_CHECK)) { MainForm.MainSettings.AddValue(SETTING_SHORTCUT_CHECK, "F7"); } if (!MainForm.MainSettings.HasKey(SETTING_SHORTCUT_BUILD)) { MainForm.MainSettings.AddValue(SETTING_SHORTCUT_BUILD, "CtrlF8"); } if (!MainForm.MainSettings.HasKey(SETTING_SHORTCUT_GOTO)) { MainForm.MainSettings.AddValue(SETTING_SHORTCUT_GOTO, "F4"); } if (!MainForm.MainSettings.HasKey(SETTING_SHORTCUT_BACK)) { MainForm.MainSettings.AddValue(SETTING_SHORTCUT_BACK, "ShiftF4"); } if (!MainForm.MainSettings.HasKey(SETTING_SHORTCUT_CLEARCACHE)) { MainForm.MainSettings.AddValue(SETTING_SHORTCUT_CLEARCACHE, "CtrlF7"); } /** * Create menu items */ menuItems = new ArrayList(); CommandBarItem item; CommandBarMenu menu = mainForm.GetCBMenu("ViewMenu"); menu.Items.AddButton(image, "&ActionScript Panel", new EventHandler(this.OpenPanel)); Keys k; // tools items menu = this.mainForm.GetCBMenu("FlashToolsMenu"); if (menu != null) { menu.Items.AddSeparator(); // clear class cache k = MainForm.MainSettings.GetShortcut(SETTING_SHORTCUT_CLEARCACHE); if (k != Keys.None) { this.mainForm.IgnoredKeys.Add(k); } else { ErrorHandler.ShowInfo("Settings Error: Invalid Shortcut (" + MainForm.MainSettings.GetValue(SETTING_SHORTCUT_CLEARCACHE) + ")"); } menu.Items.AddButton("&Clear Class Cache", new EventHandler(this.ClearClassCache), k); // convert to intrinsic item = menu.Items.AddButton("Convert To &Intrinsic", new EventHandler(this.MakeIntrinsic)); menuItems.Add(item); // check actionscript image = this.pluginUI.treeIcons.Images[11]; k = MainForm.MainSettings.GetShortcut(SETTING_SHORTCUT_CHECK); if (k != Keys.None) { this.mainForm.IgnoredKeys.Add(k); } else { ErrorHandler.ShowInfo("Settings Error: Invalid Shortcut (" + MainForm.MainSettings.GetValue(SETTING_SHORTCUT_CHECK) + ")"); } item = menu.Items.AddButton(image, "Check &ActionScript", new EventHandler(this.CheckActionScript), k); menuItems.Add(item); // quick MTASC build image = this.pluginUI.treeIcons.Images[10]; k = MainForm.MainSettings.GetShortcut(SETTING_SHORTCUT_BUILD); if (k != Keys.None) { this.mainForm.IgnoredKeys.Add(k); } else { ErrorHandler.ShowInfo("Settings Error: Invalid Shortcut (" + MainForm.MainSettings.GetValue(SETTING_SHORTCUT_BUILD) + ")"); } item = menu.Items.AddButton(image, "&Quick Build", new EventHandler(this.QuickBuild), k); menuItems.Add(item); } else { ErrorHandler.ShowInfo("MainMenu Error: no 'FlashToolsMenu' group found"); } // toolbar items CommandBar toolbar = MainForm.GetCBToolbar(); if (toolbar != null) { toolbar.Items.AddSeparator(); // check image = this.pluginUI.treeIcons.Images[11]; item = toolbar.Items.AddButton(image, "Check ActionScript", new EventHandler(this.CheckActionScript)); menuItems.Add(item); // build image = this.pluginUI.treeIcons.Images[10]; item = toolbar.Items.AddButton(image, "Quick Build", new EventHandler(this.QuickBuild)); menuItems.Add(item); } // search items menu = this.mainForm.GetCBMenu("SearchMenu"); if (menu != null) { menu.Items.AddSeparator(); // goto back from declaration image = this.mainForm.GetSystemImage(18); k = MainForm.MainSettings.GetShortcut(SETTING_SHORTCUT_BACK); if (k != Keys.None) { this.mainForm.IgnoredKeys.Add(k); } else { ErrorHandler.ShowInfo("Settings Error: Invalid Shortcut (" + MainForm.MainSettings.GetValue(SETTING_SHORTCUT_BACK) + ")"); } item = menu.Items.AddButton(image, "&Back From Declaration", new EventHandler(this.BackDeclaration), k); menuItems.Add(item); // goto declaration image = this.mainForm.GetSystemImage(17); k = MainForm.MainSettings.GetShortcut(SETTING_SHORTCUT_GOTO); if (k != Keys.None) { this.mainForm.IgnoredKeys.Add(k); } else { ErrorHandler.ShowInfo("Settings Error: Invalid Shortcut (" + MainForm.MainSettings.GetValue(SETTING_SHORTCUT_GOTO) + ")"); } item = menu.Items.AddButton(image, "Goto &Declaration", new EventHandler(this.GotoDeclaration), k); menuItems.Add(item); } else { ErrorHandler.ShowInfo("MainMenu Error: no 'SearchMenu' group found"); } /** * Initialize completion context */ sciReferences = new ArrayList(); ASContext.Init(this); UITools.OnCharAdded += new UITools.CharAddedHandler(OnChar); InfoTip.OnMouseHover += new InfoTip.MouseHoverHandler(OnMouseHover); UITools.OnTextChanged += new UITools.TextChangedHandler(ASContext.OnTextChanged); InfoTip.OnUpdateCallTip += new InfoTip.UpdateCallTipHandler(OnUpdateCallTip); this.mainForm.IgnoredKeys.Add(Keys.Control | Keys.Enter); this.mainForm.IgnoredKeys.Add(Keys.F1); /** * Path to the Flash IDE */ if (!MainForm.MainSettings.HasKey(SETTING_MACROMEDIA_FLASHIDE)) { string found = ""; foreach (string flashexe in MACROMEDIA_FLASHIDE_PATH) { if (System.IO.File.Exists(flashexe)) { found = flashexe; break; } } MainForm.MainSettings.AddValue(SETTING_MACROMEDIA_FLASHIDE, found); } }
/// <summary> /// Init completion engine context /// </summary> /// <param name="mainForm">Reference to MainForm</param> static public void Init(PluginMain pluginMain) { dirSeparatorChar = System.IO.Path.DirectorySeparatorChar; dirSeparator = dirSeparatorChar.ToString(); dirAltSeparatorChar = System.IO.Path.AltDirectorySeparatorChar; dirAltSeparator = dirAltSeparatorChar.ToString(); doPathNormalization = dirSeparator != dirAltSeparator; // ASContext.plugin = pluginMain; try { context = new Contexts.Actionscript2(); ASFileParser.Context = context; context.Init(); } catch(Exception ex) { ErrorHandler.ShowError("Failed to initialize context.\n"+ex.Message, ex); } // documentation if (!MainForm.MainSettings.HasKey(SETTING_DOCUMENTATION_COMPLETION)) MainForm.MainSettings.AddValue(SETTING_DOCUMENTATION_COMPLETION, "true"); if (!MainForm.MainSettings.HasKey(SETTING_DOCUMENTATION_TAGS)) MainForm.MainSettings.AddValue(SETTING_DOCUMENTATION_TAGS, ASDocumentation.DEFAULT_DOC_TAGS); if (!MainForm.MainSettings.HasKey(SETTING_DOCUMENTATION_TIPS)) MainForm.MainSettings.AddValue(SETTING_DOCUMENTATION_TIPS, "true"); if (!MainForm.MainSettings.HasKey(SETTING_DOCUMENTATION_DESCRIPTION)) MainForm.MainSettings.AddValue(SETTING_DOCUMENTATION_DESCRIPTION, "true"); // debugging enabled? DebugConsole.CheckSettings(); // status UnLock(); }