示例#1
0
        public void Update(MDMenu parent, ref NSMenuItem lastSeparator, ref int index)
        {
            var info = manager.GetCommandInfo(ce.CommandId, new CommandTargetRoute(initialCommandTarget));

            if (!isArrayItem)
            {
                SetItemValues(this, info);
                if (!Hidden)
                {
                    MDMenu.ShowLastSeparator(ref lastSeparator);
                }
                return;
            }

            Hidden = true;

            if (index < parent.Count - 1)
            {
                for (int i = index + 1; i < parent.Count; i++)
                {
                    var nextItem = parent.ItemAt(i);
                    if (nextItem == null || nextItem.Target != this)
                    {
                        break;
                    }
                    parent.RemoveItemAt(i);
                    i--;
                }
            }

            PopulateArrayItems(info.ArrayInfo, parent, ref lastSeparator, ref index);
        }
示例#2
0
        void Update(MDMenu parent, ref int index, CommandInfo info)
        {
            if (!isArrayItem)
            {
                SetItemValues(this, info, ce.DisabledVisible, ce.OverrideLabel);
                return;
            }

            Hidden = true;

            if (index < parent.Count - 1)
            {
                for (int i = index + 1; i < parent.Count; i++)
                {
                    var nextItem = parent.ItemAt(i);
                    if (nextItem == null || nextItem.Target != this)
                    {
                        break;
                    }
                    parent.RemoveItemAt(i);
                    i--;
                }
            }

            index++;
            PopulateArrayItems(info.ArrayInfo, parent, ref index);
        }
示例#3
0
		public void Update (MDMenu parent, ref NSMenuItem lastSeparator, ref int index)
		{
			var info = manager.GetCommandInfo (ce.CommandId, new CommandTargetRoute (initialCommandTarget));

			if (!isArrayItem) {
				SetItemValues (this, info, ce.DisabledVisible, ce.OverrideLabel);
				if (!Hidden)
					MDMenu.ShowLastSeparator (ref lastSeparator);
				return;
			}

			Hidden = true;

			if (index < parent.Count - 1) {
				for (int i = index + 1; i < parent.Count; i++) {
					var nextItem = parent.ItemAt (i);
					if (nextItem == null || nextItem.Target != this)
						break;
					parent.RemoveItemAt (i);
					i--;
				}
			}

			index++;
			PopulateArrayItems (info.ArrayInfo, parent, ref lastSeparator, ref index);
		}