public void GetFlyoutAnchor_Should_Find_And_Return_Correct_FlyoutAnchor() { var actual = new FlyoutAnchor("MyFlyoutAnchor"); var fake = new FlyoutAnchor("MYFlyoutANchor"); _sut._flyoutAnchors.Add(actual); _sut._flyoutAnchors.Add(fake); Assert.AreEqual(actual,_sut.GetFlyoutAnchor("MyFlyoutAnchor")); }
private void EnsurePopup() { if (!CUIUtility.IsNullOrUndefined(_popupLayout)) { return; } if (string.IsNullOrEmpty(PopupLayoutTitle)) { throw new ArgumentNullException("No PopupLayoutTitle has been set."); } // Create the Components and Controls needed for the Group Popup _popupLayout = Ribbon.CreateGroupPopupLayout(this.Id + "-Popup", this); _popupMenu = Ribbon.CreateMenu(this.Id + "-popupMenu", null, null, null); _popupMenuSection = Ribbon.CreateMenuSection(this.Id + "-popupMenuSection", null, null, false, null, null); JSObject tempObj = new JSObject(); FlyoutAnchorProperties props = tempObj.To <FlyoutAnchorProperties>(); props.LabelText = Title; RibbonProperties ribbonProperties = Ribbon.RibbonProperties; if (!string.IsNullOrEmpty(Properties.Image32by32Popup)) { props.Image32by32 = Properties.Image32by32Popup; props.Image32by32Class = Properties.Image32by32PopupClass; props.Image32by32Top = Properties.Image32by32PopupTop; props.Image32by32Left = Properties.Image32by32PopupLeft; } else { props.Image32by32 = ribbonProperties.Image32by32GroupPopupDefault; props.Image32by32Class = ribbonProperties.Image32by32GroupPopupDefaultClass; props.Image32by32Left = ribbonProperties.Image32by32GroupPopupDefaultLeft; props.Image32by32Top = ribbonProperties.Image32by32GroupPopupDefaultTop; } props.Command = this.Command; _popupAnchor = new FlyoutAnchor(Ribbon, this.Id + "-PopupAnchor", props, _popupMenu); _popupAnchor.IsGroupPopup = true; // Set the enabled state of the anchor to the enabled state of the Group initially _popupAnchor.Enabled = Enabled; _popup = Ribbon.CreateGroupPopup(this.Id + "-popupMenuItem", this); // Compose the hierarchy needed for the Group Popup _popupLayout.AddChild(_popupAnchor.CreateComponentForDisplayMode("Large")); _popupMenu.AddChild(_popupMenuSection); _popupMenuSection.AddChild(_popup); _popup.LayoutTitle = PopupLayoutTitle; AddChild(_popupLayout); }
private FlyoutAnchor BuildFlyoutAnchor(object data, BuildContext bc) { FlyoutAnchorProperties properties = DataNodeWrapper.GetNodeAttributes(data).To <FlyoutAnchorProperties>(); JSObject[] children = DataNodeWrapper.GetNodeChildren(data); Menu menu = null; MenuLauncherControlProperties launcherProperties = DataNodeWrapper.GetNodeAttributes(data).To <MenuLauncherControlProperties>(); if (!Utility.IsTrue(launcherProperties.PopulateDynamically)) { menu = BuildMenu(children[0], bc, true); } FlyoutAnchor fsfa = new FlyoutAnchor(Root, properties.Id, properties, menu); return(fsfa); }
public void It_Should_Be_Possible_To_Add_Multiple_FlyoutAnchors() { var first = new FlyoutAnchor("MyFlyoutAnchor"); var second = new FlyoutAnchor("SecondFlyoutAnchor"); var third = new FlyoutAnchor("ThirdFlyoutAnchor"); _sut.With(() => first).With(() => second).With(() => third); Assert.AreEqual(3, _sut._flyoutAnchors.Count); }