/// <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); } } }
/// <summary>Populate hyper tooltips provider with all toolbars found on the form.<see cref="ToolStripItem"/>'s Tag property is used as HyperToolTipId. /// Attaches tooltips only to toolbar on the form.</summary> /// <param name="form"><see cref="Form"/> to enumerate UI elements in.</param> /// <param name="provider"><see cref="HyperToolTipProvider"/> instance to populate</param> public static void PopulateWithToolbars(Form form, HyperToolTipProvider provider) { foreach (Control child in form.Controls) { if (child is ToolStrip) { AddEventHandlers(child as ToolStrip, provider); } } }
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 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 CanExtendTest() { var hyperToolTipProvider = new HyperToolTipProvider(); Assert.IsFalse(hyperToolTipProvider.CanExtend(null)); Assert.IsTrue(hyperToolTipProvider.CanExtend(new Control())); Assert.IsFalse(hyperToolTipProvider.CanExtend(new TabControl())); Assert.IsFalse(hyperToolTipProvider.CanExtend(new Form())); Assert.IsFalse(hyperToolTipProvider.CanExtend(new ToolStrip())); Assert.IsTrue(hyperToolTipProvider.CanExtend(new ToolStripMenuItem())); Assert.IsTrue(hyperToolTipProvider.CanExtend(new ToolStripButton())); Assert.IsTrue(hyperToolTipProvider.CanExtend(new ToolStripComboBox())); Assert.IsFalse(hyperToolTipProvider.CanExtend("xxx")); }
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 ConstructorTest() { var hyperToolTipProvider = new HyperToolTipProvider(); // test default values Assert.IsTrue(hyperToolTipProvider.Active); Assert.IsFalse(hyperToolTipProvider.Debug); Assert.AreEqual(250, hyperToolTipProvider.FadingInterval); Assert.AreEqual(500, hyperToolTipProvider.InitialDelay); Assert.AreEqual(hyperToolTipProvider.InitialDelay / 5, hyperToolTipProvider.ReshowDelay); Assert.AreEqual(0.95, hyperToolTipProvider.Opacity); Assert.AreEqual(new Size(320, 205), hyperToolTipProvider.PopupSizeLarge); Assert.AreEqual(new Size(300, 145), hyperToolTipProvider.PopupSizeNormal); Assert.IsFalse(hyperToolTipProvider.ShowAlways); Assert.AreEqual(SystemInformation.IsMenuAnimationEnabled && SystemInformation.IsMenuFadeEnabled, hyperToolTipProvider.UseFading); }
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 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 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 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 SetHyperToolTipIdWrongArg2Test() { var hyperToolTipProvider = new HyperToolTipProvider(); hyperToolTipProvider.SetHyperToolTipId(new TabControl(), null); }
public void GetHyperToolTipIdWrongArg3Test() { var hyperToolTipProvider = new HyperToolTipProvider(); hyperToolTipProvider.GetHyperToolTipId("xxx"); }
public void GetHyperToolTipIdForNotRegisteredControlTest() { var hyperToolTipProvider = new HyperToolTipProvider(); Assert.AreEqual(string.Empty, hyperToolTipProvider.GetHyperToolTipId(new Button())); }
public void GetHyperToolTipIdWrongArg1Test() { var hyperToolTipProvider = new HyperToolTipProvider(); hyperToolTipProvider.GetHyperToolTipId(null); }
/// <summary>Populate hyper tooltips provider with all <see cref="Control"/>s and <see cref="ToolStripItem"/>s found on the form. /// UI element's Tag property is used as HyperToolTipId.</summary> /// <param name="form"><see cref="Form"/> to enumerate UI elements in.</param> /// <param name="provider"><see cref="HyperToolTipProvider"/> instance to populate</param> public static void PopulateWithAllControls(Form form, HyperToolTipProvider provider) { AddEventHandlers(form, provider); }