Example #1
0
            /// <summary>
            /// Ajout d'un control, seul les <see cref="HorizontalTab"/> sont admis
            /// </summary>
            /// <param name="value"></param>
            /// <exception cref="ArgumentException">est soulevée si value n'est pas un <see cref="HorizontalTab"/></exception>
            public override void Add(Control value)
            {
                if (!(value is HorizontalTab))
                {
                    throw new ArgumentException("bad argument type", "value");
                }
                HorizontalTab tab = (HorizontalTab)value;

                if (FOwner.IsHandleCreated)
                {
                    FOwner.AddTab(tab);
                }
                else
                {
                    FOwner.InsertTab(FOwner.TabsCount, tab);
                }
                base.Add(value);
                tab.Visible = false;
                if (FOwner.IsHandleCreated)
                {
                    tab.Bounds = FOwner.DisplayRectangle;
                }
                ISite site1 = FOwner.Site;

                if (site1 != null && tab.Site == null)
                {
                    site1.Container.Add(tab);
                }
                if (Count > 0 && FOwner.FSelectedIndex < 0)
                {
                    FOwner.SelectFirstVisible();
                }
                FOwner.UpdateRegion();
                FOwner.UpdateSelection(false);
            }
Example #2
0
 internal void InvalidateTab(HorizontalTab aTab)
 {
     if (aTab != null)
     {
         InvalidateTab(Tabs.IndexOf(aTab));
     }
 }
 /// <summary>
 /// suppression d'un <see cref="HorizontalTab"/>
 /// </summary>
 /// <param name="value"></param>
 public void Remove(HorizontalTab value)
 {
     if (value == null)
     {
         throw new ArgumentNullException("value");
     }
     this.FOwner.Controls.Remove(value);
 }
 /// <summary>
 /// ajoute un <see cref="HorizontalTab"/>
 /// </summary>
 /// <param name="value"></param>
 public void AddTab(HorizontalTab value)
 {
     if (value == null)
     {
         throw new ArgumentNullException("value");
     }
     FOwner.Controls.Add(value);
 }
 /// <summary>
 /// renvoi true si un <see cref="HorizontalTab"/> fait parti de la collection
 /// </summary>
 /// <param name="value"></param>
 /// <returns></returns>
 public bool Contains(HorizontalTab value)
 {
     if (value == null)
     {
         throw new ArgumentNullException("value");
     }
     return(IndexOf(value) != -1);
 }
        /// <summary>
        /// renvoi un enumérateur sur la collection
        /// </summary>
        /// <returns></returns>
        public IEnumerator GetEnumerator()
        {
            HorizontalTab[] tabs = FOwner.GetTabs();
            if (tabs == null)
            {
                tabs = new HorizontalTab[0];
            }

            return(tabs.GetEnumerator());
        }
 /// <summary>
 /// renvoi l'index d'un <see cref="HorizontalTab"/>
 /// </summary>
 /// <param name="value"></param>
 /// <returns></returns>
 public int IndexOf(HorizontalTab value)
 {
     for (int i = 0; i < Count; i++)
     {
         if (this[i] == value)
         {
             return(i);
         }
     }
     return(-1);
 }
Example #8
0
        internal int FindTab(HorizontalTab value)
        {
            int i = 0;

            if (FTabControls != null)
            {
                foreach (HorizontalTab tab in FTabControls)
                {
                    if (tab == value)
                    {
                        return(i);
                    }
                    i++;
                }
            }
            return(-1);
        }
Example #9
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="index"></param>
 public void RemoveTabAt(int index)
 {
     //TODO: à debugger
     if (index < 0 || index >= TabsCount)
     {
         throw new ArgumentException("index hors limite", "index");
     }
     HorizontalTab[] tmpArray = new HorizontalTab[TabsCount - 1];
     if (index < tmpArray.Length)
     {
         Array.Copy(FTabControls, index + 1, FTabControls, index, tmpArray.Length - index);
     }
     if (tmpArray.Length > 0)
     {
         Array.Copy(FTabControls, 0, tmpArray, 0, tmpArray.Length);
     }
     FTabControls = tmpArray;
 }
Example #10
0
        internal void InsertTab(int index, HorizontalTab value)
        {
            int length = 1;

            if (FTabControls != null)
            {
                length = FTabControls.Length + 1;
            }
            HorizontalTab[] tmpArray = new HorizontalTab[length];
            if (length > 1)
            {
                Array.Copy(FTabControls, 0, tmpArray, 0, length - 1);
            }
            FTabControls = tmpArray;
            if (index < TabsCount)
            {
                Array.Copy(FTabControls, index, FTabControls, index + 1, TabsCount - index - 1);
            }
            FTabControls[index] = value;
        }
Example #11
0
 internal void AddTab(HorizontalTab value)
 {
     InsertTab(TabsCount, value);
 }