コード例 #1
0
        /// <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();
        }
コード例 #2
0
        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);
            }
        }
コード例 #3
0
ファイル: ASContext.cs プロジェクト: heon21st/flashdevelop
		/// <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();
		}