private void UI_TOOLS_MENU_WEB_SERVER_Click( object sender, EventArgs e) { /* * Server document root is current directory. Store in * ApplicationStorage for plugins that need to know the web root. */ string startupDirectory = Directory.GetCurrentDirectory(); ApplicationStorage appStore = ApplicationStorage.GetInstance(); appStore[Constants.APP_STORE_KEY_WEB_APP_ROOT] = startupDirectory; _mainForm.SetStatusBarMessage(String.Format("{0}: \"{1}\"", Resources.StatusBarStartupMessage, startupDirectory), 5); if (startupDirectory.EndsWith("\\")) { startupDirectory += "\\"; } string args = String.Format("\"{0}\" {1} \"{2}\"", startupDirectory, _settingsManager.ServerPort, _settingsManager.ServerRoot); FileTools.LaunchApplication( false, _settingsManager.ServerPath, args); }
private void ActivatePlugin() { DocumentType documentTypeHtml = new DocumentType(Constants.DOCUMENT_TYPE_HTML); DocumentType documentTypeHtm = new DocumentType(Constants.DOCUMENT_TYPE_HTM); DocumentType documentTypeCss = new DocumentType(Constants.DOCUMENT_TYPE_CSS); DocumentManager documentManager = DocumentManager.GetInstance(); documentManager.RegisterDocumentLanguage( documentTypeHtml, Constants.SCINTILLA_LANGUAGE_HTML); documentManager.RegisterDocumentLanguage( documentTypeHtm, Constants.SCINTILLA_LANGUAGE_HTML); documentManager.RegisterDocumentLanguage( documentTypeCss, Constants.SCINTILLA_LANGUAGE_CSS); ApplicationManager applicationManager = ApplicationManager.GetInstance(); OpenDocumentHandler openHandler = applicationManager.GetOpenDocumentHandler( QuickSharp.TextEditor.Constants.DOCUMENT_TYPE_TXT); if (openHandler != null) { applicationManager.RegisterOpenDocumentHandler( documentTypeHtml, openHandler); applicationManager.RegisterOpenDocumentHandler( documentTypeHtm, openHandler); applicationManager.RegisterOpenDocumentHandler( documentTypeCss, openHandler); } /* * Add to the non-source tools list (create if necessary). */ ApplicationStorage appStore = ApplicationStorage.GetInstance(); List <String> nonToolSourceTypes = appStore.Get( Constants.APP_STORE_KEY_NON_TOOL_SOURCE_TYPES, typeof(List <String>)) as List <String>; if (nonToolSourceTypes != null) { nonToolSourceTypes.Add(Constants.DOCUMENT_TYPE_HTML); nonToolSourceTypes.Add(Constants.DOCUMENT_TYPE_HTM); nonToolSourceTypes.Add(Constants.DOCUMENT_TYPE_CSS); } }
private void ReadWebConfig() { /* * web.config is located in the current directory unless an * ApplicationStorage value has been set by a plugin that * determines the root of the current web app (e.g. Cassini). */ ApplicationStorage appStore = ApplicationStorage.GetInstance(); string webConfigDir = appStore[Constants.APP_STORE_KEY_WEB_APP_ROOT] as string; if (webConfigDir == null) { webConfigDir = Directory.GetCurrentDirectory(); } string webConfig = Path.Combine( webConfigDir, Constants.WEB_CONFIG_FILENAME); /* * Reset the config namespace list before we check for the file. * If there is no file the list should be empty. */ configNamespaceList.Clear(); if (!File.Exists(webConfig)) { return; } _webConfigTagNamespaces.Clear(); _webConfigConnectionStrings.Clear(); _webConfigAppSettings.Clear(); /* * This looks for the parent elements it needs and assumes * that the 'assemblies', 'controls' and 'namespaces' nodes * only appear as children in the sections we are interested * in. */ XmlTextReader rdr = null; try { rdr = new XmlTextReader(webConfig); bool readAssemblies = false; bool readControls = false; bool readNamespaces = false; bool readConnectionStrings = false; bool readAppSettings = false; while (rdr.Read()) { if (rdr.NodeType == System.Xml.XmlNodeType.Element) { switch (rdr.Name) { case "assemblies": readAssemblies = true; break; case "controls": readControls = true; break; case "namespaces": readNamespaces = true; break; case "connectionStrings": readConnectionStrings = true; break; case "appSettings": readAppSettings = true; break; case "add": if (readAssemblies) { /* * Update the assembly list. */ string a = rdr.GetAttribute("assembly"); if (a != null) { a = a.ToLower(); if (!workspaceAssemblyList.Contains(a)) { workspaceAssemblyList.Add(a); } } } else if (readControls) { /* * Update the controls list. */ string tp = rdr.GetAttribute("tagPrefix"); string ns = rdr.GetAttribute("namespace"); if (tp != null && ns != null) { _webConfigTagNamespaces.Add( new TagNamespace(tp, ns)); } } else if (readNamespaces) { configNamespaceList.Add(rdr.GetAttribute("namespace")); } else if (readConnectionStrings) { _webConfigConnectionStrings.Add(rdr.GetAttribute("name")); } else if (readAppSettings) { _webConfigAppSettings.Add(rdr.GetAttribute("key")); } break; /* * As we're only scanning the application level config * we can ignore the clear and remove tags. */ } } else if (rdr.NodeType == System.Xml.XmlNodeType.EndElement) { switch (rdr.Name) { case "assemblies": readAssemblies = false; break; case "controls": readControls = false; break; case "namespaces": readNamespaces = false; break; case "connectionStrings": readConnectionStrings = false; break; case "appSettings": readAppSettings = false; break; } } } } catch { // Give up! } finally { if (rdr != null) { rdr.Close(); } } }
private void ActivatePlugin() { ModuleProxy.GetInstance().Module = this; _applicationManager = ApplicationManager.GetInstance(); _pluginManager = PluginManager.GetInstance(); _sqlConnectionManager = SqlConnectionManager.GetInstance(); _sqlConnectionManager.Load(); /* * Enable SqlMetal/DMBL extract features if client flag set. */ bool enableSqlMetal = _applicationManager.ClientProfile.HaveFlag( ClientFlags.SqlManagerEnableDbmlExtract); _output = _applicationManager.GetDockedForm( QuickSharp.Output.Constants.DOCKED_FORM_KEY) as OutputForm; _toolsMenuRunQuery = MenuTools.CreateMenuItem( Constants.UI_TOOLS_MENU_RUN_QUERY, Resources.MainToolsMenuRunQuery, Resources.RunQuery, Keys.F5, null, UI_TOOLBAR_RUN_SQL_QUERY_Click, true); ToolStripMenuItem toolsMenu = _mainForm.GetMenuItemByName( QuickSharp.Core.Constants.UI_TOOLS_MENU); int index = toolsMenu.DropDownItems.IndexOfKey( QuickSharp.Core.Constants.UI_TOOLS_MENU_OPTIONS); /* * If menu not found insert at the top. */ if (index == -1) { index = 0; } toolsMenu.DropDownItems.Insert(index, _toolsMenuRunQuery); /* * Create toolbar buttons. */ _toolbarSqlConnection = MenuTools.CreateToolbarButton( Constants.UI_TOOLBAR_SQL_CONNECTION, Resources.ToolbarSqlConnection, Resources.SqlConnection, UI_TOOLBAR_SQL_CONNECTION_Click, true); _toolbarSqlConnection.ToolTipText = Resources.ToolbarActivateConnection; _toolbarSqlConnectionSelect = MenuTools.CreateToolbarDropDownButton( Constants.UI_TOOLBAR_SQL_CONNECTION_SELECT, null); _toolbarSqlConnectionSelect.DropDownOpening += new EventHandler( ToolbarSqlConnectionSelect_DropDownOpening); _toolbarSqlRunQuery = MenuTools.CreateToolbarButton( Constants.UI_TOOLBAR_SQL_RUN_QUERY, Resources.ToolbarSqlRunQuery, Resources.RunQuery, UI_TOOLBAR_RUN_SQL_QUERY_Click); _toolbarSqlExtractDbml = MenuTools.CreateToolbarButton( Constants.UI_TOOLBAR_SQL_EXTRACT_DBML, Resources.ToolbarSqlExtractDbml, Resources.ExtractDbml, UI_TOOLBAR_SQL_EXTRACT_DBML_Click); _mainForm.MainToolbar.Items.Add(_toolbarSqlConnection); _mainForm.MainToolbar.Items.Add(_toolbarSqlConnectionSelect); _mainForm.MainToolbar.Items.Add(_toolbarSqlRunQuery); if (enableSqlMetal) { _mainForm.MainToolbar.Items.Add(_toolbarSqlExtractDbml); } _mainForm.FormClosing += new FormClosingEventHandler(MainForm_FormClosing); _mainForm.ClientWindow.ActiveDocumentChanged += new EventHandler(ClientWindow_ActiveDocumentChanged); _applicationManager.RegisterOptionsPageFactory( delegate { return(new SqlConnectionsOptionsPage()); }); if (enableSqlMetal) { _applicationManager.RegisterOptionsPageFactory( delegate { return(new SqlMetalOptionsPage()); }); } _applicationManager.FileSystemChange += new MessageHandler(UpdateUI); /* * We don't have any build tools but we want SQL files * recognised as source files. Register with the * non-tool source files list in the application store. */ ApplicationStorage appStore = ApplicationStorage.GetInstance(); /* * We have no dependency on the BuildTools plugin so we * can't assume the non-tool source list has been created. * Use the Get method to create the list if it doesn't exist. */ List <String> nonToolSourceTypes = appStore.Get( Constants.APP_STORE_KEY_NON_TOOL_SOURCE_TYPES, typeof(List <String>)) as List <String>; if (nonToolSourceTypes != null) { nonToolSourceTypes.Add(Constants.DOCUMENT_TYPE_SQL); } UpdateUI(); }
private void ActivatePlugin() { /* * Register the document types. */ DocumentManager documentManager = DocumentManager.GetInstance(); documentManager.RegisterDocumentLanguage( Constants.DOCUMENT_TYPE_ASAX, Constants.SCINTILLA_LANGUAGE_ASPX); documentManager.RegisterDocumentLanguage( Constants.DOCUMENT_TYPE_ASCX, Constants.SCINTILLA_LANGUAGE_ASPX); documentManager.RegisterDocumentLanguage( Constants.DOCUMENT_TYPE_ASHX, Constants.SCINTILLA_LANGUAGE_CS); documentManager.RegisterDocumentLanguage( Constants.DOCUMENT_TYPE_ASMX, Constants.SCINTILLA_LANGUAGE_CS); documentManager.RegisterDocumentLanguage( Constants.DOCUMENT_TYPE_ASPX, Constants.SCINTILLA_LANGUAGE_ASPX); documentManager.RegisterDocumentLanguage( Constants.DOCUMENT_TYPE_MASTER, Constants.SCINTILLA_LANGUAGE_ASPX); documentManager.RegisterDocumentLanguage( Constants.DOCUMENT_TYPE_CONFIG, Constants.SCINTILLA_LANGUAGE_XML); documentManager.RegisterDocumentLanguage( Constants.DOCUMENT_TYPE_SITEMAP, Constants.SCINTILLA_LANGUAGE_XML); /* * Define the document handlers. */ ApplicationManager applicationManager = ApplicationManager.GetInstance(); OpenDocumentHandler openHandler = applicationManager.GetOpenDocumentHandler( QuickSharp.TextEditor.Constants.DOCUMENT_TYPE_TXT); if (openHandler != null) { applicationManager.RegisterOpenDocumentHandler( Constants.DOCUMENT_TYPE_ASAX, openHandler); applicationManager.RegisterOpenDocumentHandler( Constants.DOCUMENT_TYPE_ASCX, openHandler); applicationManager.RegisterOpenDocumentHandler( Constants.DOCUMENT_TYPE_ASHX, openHandler); applicationManager.RegisterOpenDocumentHandler( Constants.DOCUMENT_TYPE_ASMX, openHandler); applicationManager.RegisterOpenDocumentHandler( Constants.DOCUMENT_TYPE_ASPX, openHandler); applicationManager.RegisterOpenDocumentHandler( Constants.DOCUMENT_TYPE_MASTER, openHandler); applicationManager.RegisterOpenDocumentHandler( Constants.DOCUMENT_TYPE_CONFIG, openHandler); applicationManager.RegisterOpenDocumentHandler( Constants.DOCUMENT_TYPE_SITEMAP, openHandler); } /* * We don't have any build tools but we want ASP.NET files * recognised as source files. Register with the * non-tool source files list in the application store. */ ApplicationStorage appStore = ApplicationStorage.GetInstance(); /* * We have no dependency on the BuildTools plugin so we * can't assume the non-tool source list has been created. * Use the Get method to create the list if it doesn't exist. */ List <String> nonToolSourceTypes = appStore.Get( Constants.APP_STORE_KEY_NON_TOOL_SOURCE_TYPES, typeof(List <String>)) as List <String>; if (nonToolSourceTypes != null) { nonToolSourceTypes.Add(Constants.DOCUMENT_TYPE_ASAX); nonToolSourceTypes.Add(Constants.DOCUMENT_TYPE_ASCX); nonToolSourceTypes.Add(Constants.DOCUMENT_TYPE_ASHX); nonToolSourceTypes.Add(Constants.DOCUMENT_TYPE_ASMX); nonToolSourceTypes.Add(Constants.DOCUMENT_TYPE_ASPX); nonToolSourceTypes.Add(Constants.DOCUMENT_TYPE_CONFIG); nonToolSourceTypes.Add(Constants.DOCUMENT_TYPE_MASTER); nonToolSourceTypes.Add(Constants.DOCUMENT_TYPE_SITEMAP); } }
private void ActivatePlugin() { ModuleProxy.GetInstance().Module = this; _applicationManager = ApplicationManager.GetInstance(); _applicationStorage = ApplicationStorage.GetInstance(); _applicationManager.RegisterOptionsPageFactory( delegate { return(new BuildToolOptionsPage()); }); if (!_applicationManager.ClientProfile.HaveFlag( ClientFlags.BuildToolsDisableBuildSettingsPage)) { _applicationManager.RegisterOptionsPageFactory( delegate { return(new BuildSettingsOptionsPage()); }); } _applicationManager.DocumentFilterHandlers.Add( GetSourceFilesFilter); #region UI Elements bool disableCompilerUI = _applicationManager.ClientProfile. HaveFlag(ClientFlags.BuildToolsDisableCompilerUI); _output = _applicationManager.GetDockedForm( QuickSharp.Output.Constants.DOCKED_FORM_KEY) as OutputForm; /* Menu items */ _toolsMenuCompile = MenuTools.CreateMenuItem( Constants.UI_TOOLS_MENU_COMPILE, Resources.MainToolsMenuCompile, Resources.Compile, Keys.Shift | Keys.F5, null, UI_TOOLS_MENU_COMPILE_Click); _toolsMenuCompileAll = MenuTools.CreateMenuItem( Constants.UI_TOOLS_MENU_COMPILE_ALL, Resources.MainToolsMenuCompileAll, null, Keys.F6, null, UI_TOOLS_MENU_COMPILE_ALL_Click, true); _toolsMenuRun = MenuTools.CreateMenuItem( Constants.UI_TOOLS_MENU_RUN, Resources.MainToolsMenuRun, Resources.Run, Keys.Control | Keys.F5, null, UI_TOOLS_MENU_RUN_Click); if (disableCompilerUI) { _toolsMenuRun.Tag = new ToolStripItemTag { IncludeSeparator = true } } ; ToolStripMenuItem toolsMenu = _mainForm.GetMenuItemByName( QuickSharp.Core.Constants.UI_TOOLS_MENU); if (!disableCompilerUI) { toolsMenu.DropDownItems.Insert(0, _toolsMenuCompileAll); toolsMenu.DropDownItems.Insert(0, _toolsMenuCompile); } toolsMenu.DropDownItems.Insert(0, _toolsMenuRun); toolsMenu.DropDownOpening += new EventHandler(ToolsMenu_DropDownOpening); /* Toolbar */ _toolbarCompile = MenuTools.CreateToolbarButton( Constants.UI_TOOLBAR_COMPILE, Resources.ToolbarCompile, Resources.Compile, UI_TOOLBAR_COMPILE_Click, true); _toolbarCompile.Enabled = false; _toolbarCompileSelect = MenuTools.CreateToolbarDropDownButton( Constants.UI_TOOLBAR_COMPILE_SELECT, UI_TOOLBAR_COMPILE_SELECT_Click); _toolbarCompileSelect.Enabled = false; _toolbarCompileSelect.DropDownOpening += new EventHandler(ToolbarCompileSelect_DropDownOpening); _toolbarRun = MenuTools.CreateToolbarButton( Constants.UI_TOOLBAR_RUN, Resources.ToolbarRun, Resources.Run, UI_TOOLBAR_RUN_Click); if (disableCompilerUI) { _toolbarRun.Tag = new ToolStripItemTag { IncludeSeparator = true } } ; _toolbarRun.Enabled = false; _toolbarRunSelect = MenuTools.CreateToolbarDropDownButton( Constants.UI_TOOLBAR_RUN_SELECT, UI_TOOLBAR_RUN_SELECT_Click); _toolbarRunSelect.Enabled = false; _toolbarRunSelect.DropDownOpening += new EventHandler(ToolbarRunSelect_DropDownOpening); _toolbarPin = MenuTools.CreateToolbarButton( Constants.UI_TOOLBAR_PIN, Resources.ToolbarPinFile, Resources.Pin, UI_TOOLBAR_PIN_Click, true); _toolbarPin.Enabled = false; _toolbarPinSelect = MenuTools.CreateToolbarDropDownButton( Constants.UI_TOOLBAR_PIN_SELECT, UI_TOOLBAR_PIN_SELECT_Click); _toolbarPinSelect.Enabled = false; if (!disableCompilerUI) { _mainForm.MainToolbar.Items.Add(_toolbarCompile); _mainForm.MainToolbar.Items.Add(_toolbarCompileSelect); } _mainForm.MainToolbar.Items.Add(_toolbarRun); _mainForm.MainToolbar.Items.Add(_toolbarRunSelect); _mainForm.MainToolbar.Items.Add(_toolbarPin); _mainForm.MainToolbar.Items.Add(_toolbarPinSelect); #endregion _mainForm.ClientWindow.ActiveDocumentChanged += new EventHandler(MainForm_ActiveDocumentChanged); _buildToolManager = BuildToolManager.GetInstance(); _buildToolManager.LoadSettings(); _buildToolManager.LoadTools(); _buildToolManager.BuildTools.SortTools(); _buildToolManager.LoadPinnedFiles(); _mainForm.FormClosed += new FormClosedEventHandler(MainForm_FormClosed); _applicationManager.FileSystemChange += new MessageHandler(UpdatePinFileStatus); PluginManager.GetInstance().PluginPostActivate += new MessageHandler(PostActivationHandler); }