public static string ToRenderString(this KeyedValue kv)
 {
     if (kv != null)
     {
         return($"{kv.Key.ToStringOrDefault()} :: {kv.Value}");
     }
     else
     {
         return("[null]");
     }
 }
Beispiel #2
0
        /// <summary>
        /// Removes the exit menu item if it exists.
        /// </summary>
        public bool RemoveExitMenuItem()
        {
            var success = false;

            if (_exitKeyedMenuItem != null)
            {
                success = RemoveMenuItem(_exitKeyedMenuItem.Key);
            }

            _exitKeyedMenuItem = null;

            return(success);
        }
Beispiel #3
0
        /// <summary>
        /// Adds the exit menu item or replaces it if it already exists.
        /// </summary>
        public bool SetExitMenuItem(string exitText, string exitKey)
        {
            // Exclude any existing exit menu item.
            RemoveExitMenuItem();

            // Attempt to add the new item.
            var keyedMenuItem = new KeyedValue <MenuItem>(exitKey, new MenuItem(exitText, () => Task.FromResult(false)));
            var success       = AddMenuItem(keyedMenuItem, false);

            if (success)
            {
                _exitKeyedMenuItem = keyedMenuItem;
            }

            return(success);
        }
Beispiel #4
0
        /// <summary>
        /// Attempts to add a menu item to the menu.
        /// </summary>
        private bool AddMenuItem(KeyedValue <MenuItem> keyedMenuItem, bool addToList)
        {
            try
            {
                _menuItemsByKey.Add(keyedMenuItem.Key, keyedMenuItem.Value);
                if (addToList)
                {
                    _keyedMenuItems.Add(keyedMenuItem);
                }

                return(true);
            }
            catch
            {
                return(false);
            }
        }
            public bool MoveNext()
            {
                var kdv = this.CurrentValue;

                if (kdv == null)
                {
                    if (!this.InternalEnumerator.MoveNext())
                    {
                        return(false);
                    }

                    kdv          = this.InternalEnumerator.Current.Value;
                    this.Current = new KeyValuePair <string, TValue>(kdv.Key, kdv.Value);

                    this.CurrentValue = kdv.Next;
                    return(true);
                }

                this.Current      = new KeyValuePair <string, TValue>(kdv.Key, kdv.Value);
                this.CurrentValue = kdv.Next;
                return(true);
            }
Beispiel #6
0
 static string getAttribute(KeyedValue keyedValue) => $"{keyedValue.Key}=\"{keyedValue.Text}\"";
 public void Reset()
 {
     this.InternalEnumerator.Reset();
     this.Current      = default;
     this.CurrentValue = null;
 }
 public DefaultKeyedValueDataset(KeyedValue data)
 {
   DefaultKeyedValueDataset keyedValueDataset = this;
   this.data = data;
 }