コード例 #1
0
 public void HandleChange(object sender, ListChangedEventArgs e)
 {
     // TODO Also send event to backend.
     if (e.ListChangedType == ListChangedType.ItemAdded)
     {
         SElement child = Children[e.NewIndex];
         child.Root   = this;
         child.Parent = null;
         if (Backend.UpdateStyleOnGUI)
         {
             // TODO individual scheduled updates
             _ScheduledUpdateStyle = true;
         }
         else
         {
             if (child.Enabled)
             {
                 child.UpdateStyle();
             }
         }
         int disposeIndex = DisposingChildren.IndexOf(child);
         if (0 <= disposeIndex)
         {
             DisposingChildren.RemoveAt(disposeIndex);
         }
     }
     else if (e.ListChangedType == ListChangedType.ItemDeleted)
     {
         // TODO Dispose.
         // DisposingChildren.Add(null);
     }
 }
コード例 #2
0
        public virtual void HandleChange(object sender, ListChangedEventArgs e)
        {
            Parent?.HandleChange(null, null);
            UpdateStyle();

            if (sender == null || e == null)
            {
                return;
            }

            // TODO Also send event to backend.
            if (Root != null)
            {
                if (e.ListChangedType == ListChangedType.ItemAdded)
                {
                    SElement child        = Children[e.NewIndex];
                    int      disposeIndex = Root.DisposingChildren.IndexOf(child);
                    if (0 <= disposeIndex)
                    {
                        Root.DisposingChildren.RemoveAt(disposeIndex);
                    }
                    child.UpdateStyle();
                }
                else if (e.ListChangedType == ListChangedType.ItemDeleted)
                {
                    // TODO Dispose.
                    // Root.DisposingChildren.Add(null);
                }
            }
        }
コード例 #3
0
 public virtual void UpdateChildrenStyles()
 {
     for (int i = 0; i < Children.Count; i++)
     {
         SElement child = Children[i];
         child.Root   = Root;
         child.Parent = this;
         child.UpdateStyle();
     }
 }
コード例 #4
0
ファイル: SGUIRoot.cs プロジェクト: thswogur00/ETGMod
 public void UpdateStyle()
 {
     if (Backend.UpdateStyleOnGUI && Backend.CurrentRoot == null)
     {
         _ScheduledUpdateStyle = true;
         return;
     }
     for (int i = 0; i < Children.Count; i++)
     {
         SElement child = Children[i];
         child.Root   = this;
         child.Parent = null;
         child.UpdateStyle();
     }
 }