/// <summary>The add event handlers.</summary> /// <param name="control">The control.</param> /// <param name="provider">The provider.</param> private static void AddEventHandlers(Control control, HyperToolTipProvider provider) { Debug.Assert(control != null); if (control.Tag != null && !string.IsNullOrEmpty(control.Tag.ToString())) { // Console.WriteLine(control.Tag.ToString()); // control.MouseHover += parentform.button1_Hover; // attach handler provider.SetHyperToolTipId(control, control.Tag.ToString()); } if (control is ToolStrip) { AddEventHandlers(control as ToolStrip, provider); } else { // iterate thru child controls foreach (Control child in control.Controls) { AddEventHandlers(child, provider); } } }
public void DisposeTest() { var hyperToolTipProvider = new HyperToolTipProvider(); var id = "id"; var ctrl = new Button(); hyperToolTipProvider.SetHyperToolTipId(ctrl, id); var id2 = "id2"; var ctrl2 = new Button(); hyperToolTipProvider.SetHyperToolTipId(ctrl2, id2); hyperToolTipProvider.Dispose(); Assert.AreEqual(string.Empty, hyperToolTipProvider.GetHyperToolTipId(ctrl)); Assert.AreEqual(string.Empty, hyperToolTipProvider.GetHyperToolTipId(ctrl2)); }
public void SetGetHyperToolTipIdToolStrip2Test() { var hyperToolTipProvider = new HyperToolTipProvider(); var id = "id"; var toolStripButton1 = new ToolStripButton(); // try to set id before button is added to ToolStrip hyperToolTipProvider.SetHyperToolTipId(toolStripButton1, id); Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(toolStripButton1)); }
public void SetGetHyperToolTipIdTabControl2Test() { var hyperToolTipProvider = new HyperToolTipProvider(); var id = "id"; var page = new TabPage(); // try to set id before page is added to TabControl hyperToolTipProvider.SetHyperToolTipId(page, id); Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(page)); }
public void SetGetHyperToolTipIdToolStripTest() { var hyperToolTipProvider = new HyperToolTipProvider(); var id = "id"; var toolStripButton1 = new ToolStripButton(); var toolStrip1 = new ToolStrip(); toolStrip1.Items.AddRange(new ToolStripItem[] { toolStripButton1 }); hyperToolTipProvider.SetHyperToolTipId(toolStripButton1, id); Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(toolStripButton1)); }
public void SetGetHyperToolTipIdTabControlTest() { var hyperToolTipProvider = new HyperToolTipProvider(); var id = "id"; var tabCtrl = new TabControl(); var page = new TabPage(); tabCtrl.Controls.Add(page); hyperToolTipProvider.SetHyperToolTipId(page, id); Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(page)); }
public void SetGetHyperToolTipIdControlTest() { var hyperToolTipProvider = new HyperToolTipProvider(); var id = "id"; var ctrl = new Button(); hyperToolTipProvider.SetHyperToolTipId(ctrl, id); var id2 = "id2"; var ctrl2 = new Button(); hyperToolTipProvider.SetHyperToolTipId(ctrl2, id2); Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(ctrl)); Assert.AreEqual(id2, hyperToolTipProvider.GetHyperToolTipId(ctrl2)); // try to override id var id3 = "id3"; hyperToolTipProvider.SetHyperToolTipId(ctrl2, id3); Assert.AreEqual(id3, hyperToolTipProvider.GetHyperToolTipId(ctrl2)); }
public void RemoveControlOnDisposedControlTest() { var hyperToolTipProvider = new HyperToolTipProvider(); var id = "id"; var ctrl = new Button(); hyperToolTipProvider.SetHyperToolTipId(ctrl, id); Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(ctrl)); ctrl.Dispose(); Assert.AreEqual( string.Empty, hyperToolTipProvider.GetHyperToolTipId(ctrl), "control is not deregistered automatically"); }
public void RemoveControlOnDisposedTabControlTest() { var hyperToolTipProvider = new HyperToolTipProvider(); var id = "id"; var tabCtrl = new TabControl(); var page = new TabPage(); tabCtrl.Controls.Add(page); hyperToolTipProvider.SetHyperToolTipId(page, id); Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(page)); tabCtrl.Dispose(); Assert.AreEqual( string.Empty, hyperToolTipProvider.GetHyperToolTipId(page), "control is not deregistered automatically"); }
/// <summary>The add event handlers.</summary> /// <param name="control">The control.</param> /// <param name="provider">The provider.</param> private static void AddEventHandlers(ToolStrip control, HyperToolTipProvider provider) { foreach (ToolStripItem item in control.Items) { if (item is ToolStripDropDownItem) { AddEventHandlers(item as ToolStripDropDownItem, provider); } else { if (item.Tag != null && !string.IsNullOrEmpty(item.Tag.ToString())) { // attach handler provider.SetHyperToolTipId(item, item.Tag.ToString()); } } } }
public void RemoveControlOnDisposedToolStripTest() { var hyperToolTipProvider = new HyperToolTipProvider(); var id = "id"; var toolStripButton1 = new ToolStripButton(); var toolStrip1 = new ToolStrip(); toolStrip1.Items.AddRange(new ToolStripItem[] { toolStripButton1 }); hyperToolTipProvider.SetHyperToolTipId(toolStripButton1, id); Assert.AreEqual(id, hyperToolTipProvider.GetHyperToolTipId(toolStripButton1)); toolStrip1.Dispose(); Assert.AreEqual( string.Empty, hyperToolTipProvider.GetHyperToolTipId(toolStripButton1), "control is not deregistered automatically"); }
/// <summary>The turn off normal tooltips on set hyper tool tip id helper.</summary> /// <param name="originalValueShowItemToolTips">The original value show item tool tips.</param> private void TurnOffNormalTooltipsOnSetHyperToolTipIdHelper(bool originalValueShowItemToolTips) { var hyperToolTipProvider = new HyperToolTipProvider(); hyperToolTipProvider.Active = true; var toolStripButton1 = new ToolStripButton(); var toolStrip1 = new ToolStrip(); toolStrip1.ShowItemToolTips = originalValueShowItemToolTips; toolStrip1.Items.AddRange(new ToolStripItem[] { toolStripButton1 }); hyperToolTipProvider.SetHyperToolTipId(toolStripButton1, "id"); Assert.IsFalse(toolStrip1.ShowItemToolTips); // since provider is active normal tips should be turned off hyperToolTipProvider.Active = false; Assert.AreEqual(originalValueShowItemToolTips, toolStrip1.ShowItemToolTips); hyperToolTipProvider.Active = true; Assert.IsFalse(toolStrip1.ShowItemToolTips); }
public void SetHyperToolTipIdWrongArg2Test() { var hyperToolTipProvider = new HyperToolTipProvider(); hyperToolTipProvider.SetHyperToolTipId(new TabControl(), null); }
public void SetHyperToolTipIdWrongArg1Test() { var hyperToolTipProvider = new HyperToolTipProvider(); hyperToolTipProvider.SetHyperToolTipId(null, null); }