예제 #1
0
        protected virtual void SelectMenuItem(ISelectableControl isc)
        {
            if (_selectedControl == isc)  // same menu item selected
            {
                return;
            }

            _selectedControl = isc;
            StateProperties[DropDownCommandProperties.SelectedItemId] = isc.GetMenuItemId();

            // If SelectedItemDisplayMode is not set, Medium to "Text"
            string selectedItemDisplayMode;

            if (string.IsNullOrEmpty(Properties.SelectedItemDisplayMode))
            {
                selectedItemDisplayMode = "Text";
            }
            else
            {
                selectedItemDisplayMode = Properties.SelectedItemDisplayMode;
            }

            Anchor selectedItem;

            if (selectedItemDisplayMode == "Text")
            {
                string text = isc.GetTextValue();
                selectedItem = new Anchor();
                UIUtility.SetInnerText(selectedItem, text);
            }
            else
            {
                selectedItem = (Anchor)_selectedControl.GetDropDownDOMElementForDisplayMode(selectedItemDisplayMode);
            }

            if (_elmMediumSelectedItem.HasChildNodes())
            {
                Anchor oldSelectedItem = (Anchor)_elmMediumSelectedItem.FirstChild;
                _elmMediumSelectedItem.ReplaceChild(selectedItem, oldSelectedItem);
            }
            else
            {
                _elmMediumSelectedItem.AppendChild(selectedItem);
            }
        }
예제 #2
0
        public override void OnBeginFocus()
        {
            string dictKey           = DropDownCommandProperties.Value;
            string selectedItemTitle = StateProperties.ContainsKey(dictKey) ? StateProperties[dictKey] : "";

            if (string.IsNullOrEmpty(selectedItemTitle))
            {
                // get currently selected item ID
                string itemKey = DropDownCommandProperties.SelectedItemId;
                string currentSelectedItemId = StateProperties.ContainsKey(itemKey) ? StateProperties[itemKey] : "";

                // If we currently don't have an item set, then we set it here to let the application know
                // since this is what we'll fall back to unless they set something else.
                if (string.IsNullOrEmpty(currentSelectedItemId))
                {
                    currentSelectedItemId = Properties.InitialItem;
                }

                // get the title of the selected item
                // The Menu can be null if this control's menu gets populated dynamically
                if ((!string.IsNullOrEmpty(currentSelectedItemId)) &&
                    (!CUIUtility.IsNullOrUndefined(Menu)))
                {
                    ISelectableControl isc = Menu.GetItemById(currentSelectedItemId);
                    if (!CUIUtility.IsNullOrUndefined(isc))
                    {
                        selectedItemTitle = isc.GetTextValue();
                    }
                }
            }
            if (!string.IsNullOrEmpty(selectedItemTitle))
            {
                Properties.ToolTipSelectedItemTitle = selectedItemTitle;
            }
            base.OnBeginFocus();
        }
예제 #3
0
        protected virtual void SelectMenuItem(ISelectableControl isc)
        {
            if (_selectedControl == isc)  // same menu item selected
                return;

            _selectedControl = isc;
            StateProperties[DropDownCommandProperties.SelectedItemId] = isc.GetMenuItemId();

            // If SelectedItemDisplayMode is not set, Medium to "Text"
            string selectedItemDisplayMode;
            if (string.IsNullOrEmpty(Properties.SelectedItemDisplayMode))
                selectedItemDisplayMode = "Text";
            else
                selectedItemDisplayMode = Properties.SelectedItemDisplayMode;

            Anchor selectedItem;

            if (selectedItemDisplayMode == "Text")
            {
                string text = isc.GetTextValue();
                selectedItem = new Anchor();
                UIUtility.SetInnerText(selectedItem, text);
            }
            else
                selectedItem = (Anchor)_selectedControl.GetDropDownDOMElementForDisplayMode(selectedItemDisplayMode);

            if (_elmMediumSelectedItem.HasChildNodes())
            {
                Anchor oldSelectedItem = (Anchor)_elmMediumSelectedItem.FirstChild;
                _elmMediumSelectedItem.ReplaceChild(selectedItem, oldSelectedItem);
            }
            else
                _elmMediumSelectedItem.AppendChild(selectedItem);
        }