public static void EditTable() { IObjectExplorerService srv = HostServicesSingleton.HostServices.ObjectExplorerService; if (srv == null) { MessageService.ShowError("No object explorer available!"); return; } if (srv.SelNode == null || srv.SelNode.ConnParams == null) { MessageService.ShowError("Database data is not available!"); return; } int type = srv.SelNode.Type; if (type != DBObjectType.UserTable) { MessageService.ShowError("Selected node is not a user defined table!"); return; } frmTableEdit frm = new frmTableEdit(); frm.Caption = String.Format("{0} ({1} on {2})", srv.SelNode.Name, srv.SelNode.ServerName, srv.SelNode.DatabaseName); frm.ConnectionParams = srv.SelNode.ConnParams.CreateCopy(); frm.ConnectionParams.Database = srv.SelNode.DatabaseName; frm.TableEdit.ModifyTable(frm.ConnectionParams, srv.SelNode.id); HostServicesSingleton.HostServices.ShowForm(frm, AddInDockState.Document); }
public static void ShowIndexes( ) { IObjectExplorerService srv = HostServicesSingleton.HostServices.ObjectExplorerService; if (srv == null) { MessageService.ShowError("No object explorer available!"); return; } if (srv.SelNode == null || srv.SelNode.ConnParams == null) { MessageService.ShowError("Database data is not available!"); return; } int type = srv.SelNode.Type; if (type != DBObjectType.UserTable && type != DBObjectType.SystemTable && type != DBObjectType.View) { MessageService.ShowError("Selected node can not have indexes!"); return; } frmIndexes frm = new frmIndexes(); frm.Caption = "Indexes: " + srv.SelNode.Name + " {" + srv.SelNode.ConnParams.InfoDbServer + "}"; frm.ConnectionParams = srv.SelNode.ConnParams.CreateCopy(); frm.ConnectionParams.Database = srv.SelNode.DatabaseName; frm._indexList.ObjectId = srv.SelNode.id; frm._indexList.ObjectName = srv.SelNode.Name; frm._indexList.ObjectOwner = srv.SelNode.Owner; frm.LoadIndexes(); HostServicesSingleton.HostServices.ShowForm(frm, AddInDockState.Document); }
public void Open(string serverName, string fullName, Urn urn, string text) { string key = urn.ToString(); IObjectExplorerService objExplorer = ServiceCache.ServiceProvider.GetService(typeof(IObjectExplorerService)) as IObjectExplorerService; var test = ServiceCache.ServiceProvider.GetService(typeof(IObjectExplorerService)) as IObjectExplorerService; var node = objExplorer.FindNode(key); if (node != null) { objExplorer.SynchronizeTree(node); } Document existingDocument; if (_openedDocuments.TryGetValue(key, out existingDocument)) { existingDocument.Activate(); } else if (text != null) { var script = ServiceCache.ScriptFactory.CreateNewBlankScript(ScriptType.Sql) as SqlScriptEditorControl; script.EditorText = text; _openedDocuments[key] = _applicationObject.ActiveDocument; string fullPath = Properties.Settings.Default.ResolveProjectRoot(); if (!fullPath.EndsWith("\\")) { fullPath += '\\'; } fullPath += serverName + '\\' + fullName.Replace('.', '\\').Replace(':', '_') + ".sql"; _applicationObject.ActiveDocument.Save(fullPath); } }
public static void ShowBulkCopyDialog() { IObjectExplorerService srv = HostServicesSingleton.HostServices.ObjectExplorerService; if (srv == null) { MessageService.ShowError("No object explorer available!"); return; } if (srv.SelNode == null || srv.SelNode.ConnParams == null) { MessageService.ShowError("Database data is not available!"); return; } if (String.IsNullOrEmpty(srv.SelNode.ConnParams.Database)) { MessageService.ShowError("Selected node is not a database or child of a database!"); return; } ConnectionParams cp = srv.SelNode.ConnParams.CreateCopy(); cp.Database = srv.SelNode.DatabaseName; ShowBulkCopyDialog(cp); }
private void ActionContextOnCurrentContextChanged(object sender, EventArgs e) { try { INodeInformation[] nodes; INodeInformation node; int nodeCount; IObjectExplorerService objectExplorer = GetService(typeof(IObjectExplorerService)) as ObjectExplorerService; if (objectExplorer != null) { objectExplorer.GetSelectedNodes(out nodeCount, out nodes); node = nodeCount > 0 ? nodes[0] : null; if (node != null) { MenuItemAbstract menuItem = Factories.MenuItemFactory.CreateMenuItem(node); AddMenuItemToHierarchyObject(node, menuItem); } } } #pragma warning disable 0169 #pragma warning disable CS0168 // Variable is declared but never used catch (Exception ObjectExplorerContextException) #pragma warning restore CS0168 // Variable is declared but never used { //MessageBox.Show("ObjectExplorerContextException: " + ObjectExplorerContextException.Message); } #pragma warning restore 0169 }
public static DialogResult ShowAttachDatabaseDialog( ) { IObjectExplorerService srv = HostServicesSingleton.HostServices.ObjectExplorerService; if (srv == null) { MessageService.ShowError("No object explorer available!"); return(DialogResult.Abort); } if (srv.SelNode == null || srv.SelNode.ConnParams == null) { MessageService.ShowError("Database data is not available!"); return(DialogResult.Abort); } if (String.IsNullOrEmpty(srv.SelNode.ConnParams.Database)) { MessageService.ShowError("Selected node is not a database or child of a database!"); return(DialogResult.Abort); } frmAttachDatabase frm = new frmAttachDatabase(); frm.ConnectionParams = srv.SelNode.ConnParams.CreateCopy(); frm.Text = "Attach Database {" + frm.ConnectionParams.Server + "}"; return(frm.ShowDialog()); }
public static void ShowServerLocks() { IObjectExplorerService srv = HostServicesSingleton.HostServices.ObjectExplorerService; if (srv == null) { MessageService.ShowError("No object explorer available!"); return; } if (srv.SelNode == null || srv.SelNode.ConnParams == null) { MessageService.ShowError("Server data is not available!"); return; } frmServerLocks frm = new frmServerLocks(); frm.Caption = "Locks {" + srv.SelNode.ServerName + "}"; frm.ConnectionParams = srv.SelNode.ConnParams; frm.LoadServerLocks(); HostServicesSingleton.HostServices.ShowForm(frm, AddInDockState.Document); frm.timer1.Enabled = true; }
public static DialogResult ShowNewDatabaseDialog( ) { IObjectExplorerService srv = HostServicesSingleton.HostServices.ObjectExplorerService; if (srv == null) { MessageService.ShowError("No object explorer available!"); return(DialogResult.Abort); } if (srv.SelNode == null || srv.SelNode.ConnParams == null) { MessageService.ShowError("Database data is not available!"); return(DialogResult.Abort); } frmNewDatabase frm = new frmNewDatabase(); frm.Caption = "New Database {" + srv.SelNode.ConnParams.Server + "}"; ConnectionParams cp = srv.SelNode.ConnParams.CreateCopy(); cp.Database = "master"; frm.ConnectionParams = cp; cp = null; return(frm.ShowDialog()); }
public static void ShowUdtList( ) { IObjectExplorerService srv = HostServicesSingleton.HostServices.ObjectExplorerService; if (srv == null) { MessageService.ShowError("No object explorer available!"); return; } if (srv.SelNode == null || srv.SelNode.ConnParams == null) { MessageService.ShowError("Database data is not available!"); return; } if (String.IsNullOrEmpty(srv.SelNode.ConnParams.Database)) { MessageService.ShowError("Selected node is not a database or child of a database!"); return; } frmUdtList frm = new frmUdtList(); frm.Caption = "Udt : " + srv.SelNode.ServerName + " { " + srv.SelNode.DatabaseName + "}"; frm.ConnectionParams = srv.SelNode.ConnParams.CreateCopy(); frm.ConnectionParams.Database = srv.SelNode.DatabaseName; frm.LoadUdtList(); HostServicesSingleton.HostServices.ShowForm(frm, AddInDockState.Document); }
public static void ShowAllForeignKeys( ) { IObjectExplorerService srv = HostServicesSingleton.HostServices.ObjectExplorerService; if (srv == null) { MessageService.ShowError("No object explorer available!"); return; } if (srv.SelNode == null || srv.SelNode.ConnParams == null) { MessageService.ShowError("Database data is not available!"); return; } if (String.IsNullOrEmpty(srv.SelNode.ConnParams.Database)) { MessageService.ShowError("Selected node is not a database or child of a database!"); return; } frmAllForeignKeys frm = new frmAllForeignKeys(); ConnectionParams cp = srv.SelNode.ConnParams.CreateCopy(); cp.Database = srv.SelNode.DatabaseName; frm.ConnectionParams = cp; frm.Caption = String.Format("Foreign Keys ({0} on {1})", srv.SelNode.ServerName, srv.SelNode.DatabaseName); cp = null; frm.LoadKeys(); HostServicesSingleton.HostServices.ShowForm(frm, AddInDockState.Document); }
public IObjectExplorerService GetObjectExplorer() { if (_objExplorer == null) { _objExplorer = (IObjectExplorerService)ServiceCache.ServiceProvider.GetService(typeof(IObjectExplorerService)); } return(_objExplorer); }
public override void Run( ) { base.Run(); IObjectExplorerService srv = HostServicesSingleton.HostServices.ObjectExplorerService; if (srv == null) { MessageService.ShowError("No object explorer available!"); return; } if (srv.SelNode == null || srv.SelNode.ConnParams == null || String.IsNullOrEmpty(srv.SelNode.ConnParams.Database)) { MessageService.ShowError("Database data is not available!"); return; } if (srv.SelNode.Type != DBObjectType.UserTable) { MessageService.ShowError("Selected node is not a user defined table!"); return; } ConnectionParams cp = srv.SelNode.ConnParams.CreateCopy(); cp.Database = srv.SelNode.DatabaseName; TableWrapper tbl = new TableWrapper(cp); tbl.ID = srv.SelNode.id; tbl.LoadProperties(); //tbl.Name = srv.SelNode.Name; string newName = srv.SelNode.Name; if (InputDialog.ShowDialog("Rename Table", "New Name", ref newName) != DialogResult.OK) { return; } if (tbl.Name.ToLowerInvariant() == newName.ToLowerInvariant()) { return; } try { tbl.Rename(newName); srv.ChangeObjectName(srv.SelNode.Node, newName); srv.LoadNodeData(srv.SelNode.Node, true); } catch (Exception ex) { MessageService.ShowError(ex.Message); } }
void _hostServices_ActiveContentChanged(object sender, EventArgs e) { if (sender is IScriptEditor) { if (sender == _scriptEditor) { return; } UnsubscribeFromTextEditorEvents(); UnSubscribeFromScriptEditorEvents(); _scriptEditor = sender as IScriptEditor; _textEditor = _scriptEditor; SubscribeToScriptEditorEvents(); SubscribeToTextEditorEvents(); } else if (sender is ITextEditor) { if (sender == _textEditor) { return; } UnsubscribeFromTextEditorEvents(); UnSubscribeFromScriptEditorEvents(); _textEditor = sender as ITextEditor; _scriptEditor = null; SubscribeToTextEditorEvents(); } else if (sender is IObjectExplorerService) { if (sender == _objectExplorer) { return; } UnSubscribeFromObjectExplorerEvents(); _objectExplorer = sender as IObjectExplorerService; SubscribeToObjectExplorerEvents(); } else if (sender is IProjectExplorerServices) { if (sender == _projectExplorer) { return; } UnSubscribeToProjectExplorerEvents(); _projectExplorer = sender as IProjectExplorerServices; SubscribeToProjectExplorerEvents(); } }
void _objectExplorer_AfterObjectExplorerClosed(object sender, EventArgs e) { if (_objectExplorer != sender) { return; } UnSubscribeFromObjectExplorerEvents(); _objectExplorer = null; AddMessage("ObjectExplorer closed."); }
/// <summary> /// Initializes a new instance of the <see cref="FetchXml2SqlCommand"/> class. /// Adds our command handlers for menu (commands must exist in the command table file) /// </summary> /// <param name="package">Owner package, not null.</param> /// <param name="commandService">Command service to add command to, not null.</param> private FetchXml2SqlCommand(Sql4CdsPackage package, OleMenuCommandService commandService, IObjectExplorerService objectExplorer, DTE2 dte) : base(package, dte) { commandService = commandService ?? throw new ArgumentNullException(nameof(commandService)); _objectExplorer = objectExplorer; var menuCommandID = new CommandID(CommandSet, CommandId); var menuItem = new OleMenuCommand(this.Execute, menuCommandID); menuItem.BeforeQueryStatus += QueryStatus; commandService.AddCommand(menuItem); }
private void ActionContextOnCurrentContextChanged(object sender, EventArgs e) { try { INodeInformation[] nodes; int nodeCount; IObjectExplorerService objectExplorer = (ObjectExplorerService)this.ServiceProvider.GetService(typeof(IObjectExplorerService)); objectExplorer.GetSelectedNodes(out nodeCount, out nodes); var node = nodeCount > 0 ? nodes[0] : null; if (node != null) { if (node.UrnPath == "Server") { if (!IsServerMenuAdded) { var tableMenu = (HierarchyObject)node.GetService(typeof(IMenuHandler)); PropertyInfo treeViewProp = objectExplorer.GetType().GetProperty("Tree", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.IgnoreCase); if (treeViewProp != null) { var treeView = (TreeView)treeViewProp.GetValue(objectExplorer, null); var item = new ServerMenuItem(treeView); tableMenu.AddChild(string.Empty, item); treeView.AfterExpand += FilterDataBase; treeView.AfterSelect += (o, args) => { selectedNode = args.Node; }; } IsServerMenuAdded = true; } } } if (!IsSearchBarAdded) { PropertyInfo treeViewProp = objectExplorer.GetType().GetProperty("Tree", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.IgnoreCase); var treeView = (TreeView)treeViewProp.GetValue(objectExplorer, null); var searchNode = new SearchNode(treeView, "search bar"); treeView.Nodes.Insert(0, searchNode); treeView.Controls.Add(searchNode.TextBox); searchNode.TextBox.AutoSize = false; searchNode.TextBox.Size = new Size(treeView.Bounds.Width, searchNode.Bounds.Height); searchNode.TextBox.KeyDown += OnKeyDown; IsSearchBarAdded = true; } if (IsSearchBarAdded && IsServerMenuAdded) { contextService.ActionContext.CurrentContextChanged -= ActionContextOnCurrentContextChanged; } } catch (Exception objectExplorerContextException) { MessageBox.Show(objectExplorerContextException.Message); } }
/// <summary> /// Gets the object explorer selected nodes. /// </summary> /// <returns></returns> private INodeInformation[] GetObjectExplorerSelectedNodes() { IObjectExplorerService objExplorer = ServiceCache.GetObjectExplorer(); int arraySize; INodeInformation[] nodes; objExplorer.GetSelectedNodes(out arraySize, out nodes); return(nodes); }
public IObjectExplorerService GetObjectExplorer() { if (_objExplorer == null) { _objExplorer = (IObjectExplorerService)Package.GetService(typeof(IObjectExplorerService)); //_objExplorer = (IObjectExplorerService) ServiceCache.ServiceProvider.GetService(typeof(IObjectExplorerService)); } //Microsoft.SqlServer.Management.SqlStudio.Explorer.ObjectExplorerService //Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer return(_objExplorer); }
public static INodeInformation FindSelectedDatabaseNode(IObjectExplorerService explorerService) { var selectedNode = FindSelectedNode(explorerService); if (selectedNode == null) { return(null); } return(FindParentDatabaseNode(selectedNode)); }
public ServerConnectionService(IScriptFactory scriptFactory, IObjectExplorerService objectExplorerService) { if (scriptFactory == null) { throw new ArgumentNullException("scriptFactory"); } if (objectExplorerService == null) { throw new ArgumentNullException("objectExplorerService"); } _scriptFactory = scriptFactory; _objectExplorerService = objectExplorerService; }
public static INodeInformation FindSelectedNode(IObjectExplorerService explorerService) { int arraySize; INodeInformation[] array; explorerService.GetSelectedNodes(out arraySize, out array); if (arraySize == 0) { return(null); } return(array[0]); }
public static void SelectNode(IObjectExplorerService explorerService, HierarchyTreeNode node) { IServiceProvider provider = node as IServiceProvider; if (provider != null) { INodeInformation containedItem = provider.GetService(typeof(INodeInformation)) as INodeInformation; if (containedItem != null) { explorerService.SynchronizeTree(containedItem); } } }
private void SelectNode(HierarchyTreeNode node) { IServiceProvider provider = node as IServiceProvider; if (provider != null) { INodeInformation containedItem = provider.GetService(typeof(INodeInformation)) as INodeInformation; if (containedItem != null) { IObjectExplorerService objExplorer = GetObjectExplorer(); objExplorer.SynchronizeTree(containedItem); } } }
private void InitializeObjectExplorer( ) { if (_objectExplorer != null) { UnSubscribeFromObjectExplorerEvents(); } _objectExplorer = GetCurrentObjectExplorer(); if (_objectExplorer == null) { AddError("ObjectExplorer is null!"); } else { SubscribeToObjectExplorerEvents(); } }
private void AddControlEdit() { IObjectExplorerService objectExplorer = (ObjectExplorerService)this.ServiceProvider.GetService(typeof(IObjectExplorerService)); var treeViewProp = objectExplorer.GetType().GetProperty("Tree", BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.IgnoreCase); var treeView = (TreeView)treeViewProp.GetValue(objectExplorer, null); TreeNode node = new TreeNode("xxx"); treeView.Nodes.Add(node); node.BeginEdit(); //try //{ // var Dte = (DTE2)this.ServiceProvider.GetService(typeof(DTE)); // var commandBars = (CommandBars)Dte.CommandBars; // CommandBar standard = commandBars["MenuBar"]; // var control = standard.Controls.Add(MsoControlType.msoControlEdit, Type.Missing, Type.Missing, 1, true); // control.Caption = "Test"; //} //catch (Exception e) //{ // MessageBox.Show(e.Message); //} }
public static bool CheckCondition( ) { if (HostServicesSingleton.HostServices == null || HostServicesSingleton.HostServices.ObjectExplorerService == null) { return(false); } IObjectExplorerService service = HostServicesSingleton.HostServices.ObjectExplorerService; if (service == null) { return(false); } ObjectExplorerNode node = service.SelNode; if (node == null || node.ConnParams == null) { return(false); } return(String.IsNullOrEmpty(node.DatabaseName) ? false : true); }
public static bool CheckCondition() { if (HostServicesSingleton.HostServices == null || HostServicesSingleton.HostServices.ObjectExplorerService == null) { return(false); } IObjectExplorerService service = HostServicesSingleton.HostServices.ObjectExplorerService; if (service == null) { return(false); } ObjectExplorerNode node = service.SelNode; if (node == null) { return(false); } return((node.Type == DBObjectType.UserTable || node.Type == DBObjectType.SystemTable || node.Type == DBObjectType.View) ? true : false); }
public static HierarchyTreeNode GetObjectHierarchyNode(IObjectExplorerService explorerService, string serverName, string dbName, IReadOnlyCollection <string> dbRelativePath) { var server = GetServerHierarchyNode(explorerService, serverName); var rootNode = server.Hierarchy.Root; var pathSegments = new List <string> { "Databases", dbName }.Concat(dbRelativePath); foreach (var pathSegment in pathSegments) { EnumerateChildrenSynchronously(rootNode); var parentPath = rootNode.GetInvariantPath(); var currentPath = parentPath + "/" + pathSegment; rootNode = rootNode.Nodes.OfType <HierarchyTreeNode>().SingleOrDefault(p => p.GetInvariantPath() == currentPath); if (rootNode == null) { throw new Exception($"Could not unfold path: {currentPath}"); } } return(rootNode); }
public SQLMenuItem(IObjectExplorerService objExp, SSMSHelperPackage Package) { objectExplorer = objExp; package = Package; }
private void ChangeTableId(long oldId, long newId) { IObjectExplorerService srvc = HostServicesSingleton.HostServices.ObjectExplorerService; srvc.ChangeObjectID(_cp.Server.ToLowerInvariant(), _cp.Database.ToLowerInvariant(), oldId, newId); }