public int Add(ITabPageItem value)
        {
            if (this.Locked)
            {
                return(-1);
            }
            //
            if (value == null)
            {
                return(-1);
            }
            //
            if (!this.Filtration(value) ||
                !this.SetItemAttribute(value))
            {
                return(-1);
            }
            //
            int iReturn = this.m_Owner.TabButtonItemCollection.Add(value.pTabButtonItem as BaseItem);

            this.m_Owner.TabPageList.Add(value);
            //
            this.OnItemAdded(new ItemEventArgs(value));
            //
            return(iReturn);
        }
 public void Insert(int index, ITabPageItem value)
 {
     if (this.Locked)
     {
         return;
     }
     //
     if (value == null)
     {
         return;
     }
     //
     if ((index < 0) || (index >= this.Count))
     {
         return;
     }
     //
     if (!this.Filtration(value) ||
         !this.SetItemAttribute(value))
     {
         return;
     }
     //
     this.m_Owner.TabButtonItemCollection.Insert(index, value.pTabButtonItem as BaseItem);
     this.m_Owner.TabPageList.Add(value);
     //
     this.OnItemAdded(new ItemEventArgs(value));
 }
 public int IndexOf(ITabPageItem value)
 {
     if (value == null)
     {
         return(-1);
     }
     //
     return(this.m_Owner.TabButtonItemCollection.IndexOf(value.pTabButtonItem as BaseItem));
 }
Example #4
0
 public TabButtonItem(ITabPageItem tabPageItem)
 {
     this.m_pTabPageItem = tabPageItem;
     //
     if (this.m_pTabPageItem != null)
     {
         base.Text = this.m_pTabPageItem.Text;
     }
 }
 public bool Contains(ITabPageItem value)
 {
     if (value == null)
     {
         return(false);
     }
     //
     return(this.m_Owner.TabPageList.Contains(value) &&
            this.m_Owner.TabButtonItemCollection.Contains(value.pTabButtonItem as BaseItem));
 }
 /// <summary>
 /// item1 与 item2 互换位置
 /// </summary>
 /// <param name="item1"></param>
 /// <param name="item2"></param>
 public virtual bool ExchangeItem(ITabPageItem item1, ITabPageItem item2)
 {
     if (this.Locked)
     {
         return(false);
     }
     //
     if (item1 == null || item2 == null || item1 == item2)
     {
         return(false);
     }
     //
     return(this.m_Owner.TabButtonItemCollection.ExchangeItem(item1.pTabButtonItem as BaseItem, item2.pTabButtonItem as BaseItem));
 }
 object IList.this[int index]
 {
     get
     {
         return(this[index]);
     }
     set
     {
         ITabPageItem item = value as ITabPageItem;
         if (item == null)
         {
             throw new ArgumentException("必须是ITabPageItem类型!", "value");
         }
         this[index] = item;
     }
 }
 /// <summary>
 /// 用来检测和修复该集合
 /// </summary>
 public void CheckAndRepair()
 {
     for (int i = this.m_Owner.TabButtonItemCollection.Count - 1; i >= 0; i--)
     {
         ITabButtonItem pTabButtonItem = this.m_Owner.TabButtonItemCollection[i] as ITabButtonItem;
         if (pTabButtonItem != null &&
             !this.m_Owner.TabPageList.Contains(pTabButtonItem.pTabPageItem))
         {
             this.m_Owner.TabButtonItemCollection.RemoveAt(i);
         }
     }
     //
     for (int i = this.m_Owner.TabPageList.Count - 1; i >= 0; i--)
     {
         ITabPageItem pTabPageItem = this.m_Owner.TabPageList[i] as ITabPageItem;
         if (pTabPageItem != null &&
             !this.m_Owner.TabButtonItemCollection.Contains(pTabPageItem.pTabButtonItem as BaseItem))
         {
             this.m_Owner.TabPageList.RemoveAt(i);
         }
     }
 }
 public void Remove(ITabPageItem value)
 {
     if (this.Locked)
     {
         return;
     }
     //
     if (value == null)
     {
         return;
     }
     //
     if (!this.RestoreItemAttribute(value))
     {
         return;
     }
     //
     this.m_Owner.TabButtonItemCollection.Remove(value.pTabButtonItem as BaseItem);
     this.m_Owner.TabPageList.Remove(value);
     //
     this.OnItemRemoved(new ItemEventArgs(value));
 }
 /// <summary>
 /// 在移除项时将添加时的部分属性还原,成功返回true。如果成功则移除该项
 /// </summary>
 /// <param name="value"></param>
 protected virtual bool RestoreItemAttribute(ITabPageItem value)
 {
     //if (this.m_Owner == value.pOwner) ((WFNew.ISetOwnerHelper)value).SetOwner(null);
     return(true);
 }
 /// <summary>
 /// 设置添加项的部分属性成功返回true。如果Filtration也返回true 则 将value加到集合中去
 /// </summary>
 /// <param name="value"></param>
 protected virtual bool SetItemAttribute(ITabPageItem value)
 {
     ((WFNew.ISetOwnerHelper)value).SetOwner(this.m_Owner as WFNew.IOwner);
     return(true);
 }
 /// <summary>
 /// 符合条件返回true。如果SetItemAttribute也返回true 则 将value加到集合中去
 /// </summary>
 /// <returns></returns>
 protected virtual bool Filtration(ITabPageItem value)
 {
     return(!this.Contains(value));
 }
Example #13
0
 public TabButton(ITabPageItem tabPageItem)
 {
     this.m_pTabPageItem = tabPageItem;
 }