예제 #1
0
 /// <summary>
 /// Метод осуществляет получение индекса в списке элементов меню.
 /// </summary>
 /// <param name="item">Пунк меню из коллекции.</param>
 /// <returns>
 /// Индекс в массиве.
 /// </returns>
 public int GetItemIndex(XMenuItemBase item)
 {
     for (int i = 0; i < m_items.Count; ++i)
     {
         if (((XMenuItemBase)m_items[i]).UniqueID == item.UniqueID)
         {
             return(i);
         }
     }
     return(-1);
 }
예제 #2
0
        /// <summary>
        /// Метод осуществляет вставку инициализированного пункта меню перед
        /// указанным элементом.
        /// </summary>
        /// <param name="item_new">Добавляемый пункт меню.</param>
        /// <param name="item_before">Пункт меню, перед которым происходит вставка.</param>
        /// <exception cref="ArgumentException">Если элемент, переданный в
        ///                                     параметре <b><i>item_before</i></b>,
        ///                                     не найден в коллекции элементов.</exception>
        public void InsertBefore(XMenuItemBase item_new, XMenuItemBase item_before)
        {
            int nIndex = GetItemIndex(item_before);

            if (nIndex > -1)
            {
                m_items.Insert(nIndex, item_new);
            }
            else
            {
                throw new ArgumentException("Элемент item_before не найден в коллекции");
            }
        }
예제 #3
0
        /// <summary>
        /// Метод осуществляет вставку инициализированного пункта меню после
        /// указанного элемента.
        /// </summary>
        /// <param name="item_new">Добавляемый пункт меню.</param>
        /// <param name="item_after">Пункт меню, после которого происходит
        ///                          вставка.</param>
        /// <exception cref="ArgumentException">Если элемент, переданный в
        ///                                     параметре <b><i>item_after</i></b>,
        ///                                     не найден в коллекции элементов.</exception>
        public void InsertAfter(XMenuItemBase item_new, XMenuItemBase item_after)
        {
            int nIndex = GetItemIndex(item_after);

            if (nIndex > -1)
            {
                m_items.Insert(nIndex + 1, item_new);
            }
            else
            {
                throw new ArgumentException("Элемент item_after не найден в коллекции");
            }
        }
예제 #4
0
 /// <summary>
 /// Метод вставляет инициализированный пункт меню под заданным индексом.
 /// </summary>
 /// <param name="nIndex">Индекс добавляемого пункта меню.</param>
 /// <param name="item">Добавляемый пункт меню.</param>
 public void Insert(int nIndex, XMenuItemBase item)
 {
     m_items.Insert(nIndex, item);
 }
예제 #5
0
 /// <summary>
 /// Метод осуществляет добавление инициализированного пункта меню в конец
 /// списка элементов.
 /// </summary>
 /// <param name="item">Пункт меню, который необходимо добавить.</param>
 public void Add(XMenuItemBase item)
 {
     m_items.Add(item);
 }