} // FindDataTab private void AddItemToTab(EnvDTE.ToolBoxTab tab, string name, string dllpath) { tab.ToolBoxItems.Add( name, "Ingres.Client." + name + "," + dllpath, EnvDTE.vsToolBoxItemFormat.vsToolBoxItemFormatDotNETComponent); System.Windows.Forms.MessageBox.Show( name + " was added OK!", "Debugging"); }
private void RemoveToolBoxItems() { EnvDTE.DTE dte = null; dte = LoadDTE(); // load the root object of VS.NET if (dte == null) { return; } try { EnvDTE.ToolBoxTab dataTab = FindDataTab(dte);; if (dataTab == null) { return; } // only delete Ingres toolbox tabs, don't delete "Data" tab if (dataTab.Name == "Advantage Ingres" || dataTab.Name == "Ingres") { System.Windows.Forms.MessageBox.Show( "Deleted toolbox tab " + dataTab.Name, "Debugging"); dataTab.Delete(); return; } dataTab.Activate(); RemoveItemFromTab(dataTab, "IngresDataAdapter"); RemoveItemFromTab(dataTab, "IngresConnection"); RemoveItemFromTab(dataTab, "IngresCommand"); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show( "RemoveToolBoxItems threw Exception" + ex.ToString() + ". Exiting...", "Debugging"); } finally { try { if (dte != null) { dte.Quit(); // shut down the IDE System.Windows.Forms.MessageBox.Show( "EnvDTE Quit complete", "Debugging"); } } catch (Exception) {} } } // RemoveToolBoxItems
} // RemoveToolBoxItems private void RemoveItemFromTab(EnvDTE.ToolBoxTab tab, string name) { foreach (EnvDTE.ToolBoxItem item in tab.ToolBoxItems) { if (item.Name == name) { item.Delete(); System.Windows.Forms.MessageBox.Show( name + " was deleted OK!", "Debugging"); } } }
private EnvDTE.ToolBoxTab AddDataTab(EnvDTE.DTE dte) { if (dte == null) { return(null); } //get the list of toolbox tabs EnvDTE.Window win = dte.Windows.Item(EnvDTE.Constants.vsWindowKindToolbox); EnvDTE.ToolBox toolbox = (EnvDTE.ToolBox)win.Object; // toolbox root EnvDTE.ToolBoxTabs toolboxtabs = toolbox.ToolBoxTabs; // toolbox tabs EnvDTE.ToolBoxTab dataTab = toolboxtabs.Add(dataTabname); return(dataTab); }
private EnvDTE.ToolBoxTab FindDataTab(EnvDTE.DTE dte) { EnvDTE.ToolBoxTab dataTab = null; if (dte == null) { return(null); } try { //get the list of toolbox tabs EnvDTE.Window win = dte.Windows.Item(EnvDTE.Constants.vsWindowKindToolbox); EnvDTE.ToolBox toolbox = (EnvDTE.ToolBox)win.Object; // toolbox root EnvDTE.ToolBoxTabs toolboxtabs = toolbox.ToolBoxTabs; // toolbox tabs //locate the target toolbox tab foreach (EnvDTE.ToolBoxTab tab in toolboxtabs) { if (tab.Name == dataTabname) { dataTab = tab; break; } } // end foreach } catch (Exception ex) { System.Windows.Forms.MessageBox.Show( "Walking toolbox threw Exception" + ex.ToString() + ". Exiting...", "Debugging"); } if (dataTab != null) { System.Windows.Forms.MessageBox.Show( dataTab.Name + " tab located OK!", "Debugging"); } return(dataTab); } // FindDataTab
private void AddToolBoxItems() { EnvDTE.DTE dte = null; object oInstallPath = Context.Parameters["InstallPath"]; if (oInstallPath == null) { System.Windows.Forms.MessageBox.Show( "InstallPath is null. Exiting...", "Debugging"); return; } string installPath = (string)oInstallPath; string dllPath = System.IO.Path.Combine(installPath, "Ingres.Client.dll"); System.Windows.Forms.MessageBox.Show( "dllPath is \"" + dllPath + "\"", "Debugging"); dte = LoadDTE(); // load the root object of VS.NET if (dte == null) { return; } try { EnvDTE.ToolBoxTab dataTab = FindDataTab(dte);; if (dataTab == null) { dataTab = AddDataTab(dte); } // return; dataTab.Activate(); RemoveItemFromTab(dataTab, "IngresDataAdapter"); RemoveItemFromTab(dataTab, "IngresConnection"); RemoveItemFromTab(dataTab, "IngresCommand"); AddItemToTab(dataTab, "IngresCommand", dllPath); AddItemToTab(dataTab, "IngresConnection", dllPath); AddItemToTab(dataTab, "IngresDataAdapter", dllPath); } catch (Exception ex) { System.Windows.Forms.MessageBox.Show( "Ingres .NET Data Provider " + "Install.AddToolBoxItems threw Exception" + ex.ToString() + ". Continuing...", "Ingres .NET Data Provider Install"); } finally { try { if (dte != null) { dte.Quit(); // shut down the IDE System.Windows.Forms.MessageBox.Show( "EnvDTE Quit complete", "Debugging"); } } catch (Exception) {} } } // AddToolBoxItems