Exemple #1
0
        static protected Anchor CreateStandardControlDOMElement(
            Control control,
            Root root,
            string displayMode,
            ControlProperties properties,
            bool menu,
            bool arrow)
        {
            // We cast the properties to FlyoutAnchor properties because it has the superset
            // of all the possible properties that we will want to use.
            JSObject tempProps           = JSObject.From <ControlProperties>(properties);
            FlyoutAnchorProperties props = tempProps.To <FlyoutAnchorProperties>();

            return(CreateStandardControlDOMElementCore(
                       control,
                       root,
                       displayMode,
                       props.Id,
                       props.Image32by32,
                       props.Image32by32Class,
                       props.Image32by32Top,
                       props.Image32by32Left,
                       props.Image16by16,
                       props.Image16by16Class,
                       props.Image16by16Top,
                       props.Image16by16Left,
                       props.LabelText,
                       props.LabelCss,
                       props.Alt,
                       props.Description,
                       props.ToolTipTitle,
                       menu,
                       arrow));
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }