ARCed.UI.DockPane.ValidateActiveContent C# (CSharp) Method

ValidateActiveContent() private method

private ValidateActiveContent ( ) : void
return void
        internal void ValidateActiveContent()
        {
            if (this.ActiveContent == null)
            {
                if (this.DisplayingContents.Count != 0)
                    this.ActiveContent = this.DisplayingContents[0];
                return;
            }

            if (this.DisplayingContents.IndexOf(this.ActiveContent) >= 0)
                return;

            IDockContent prevVisible = null;
            for (int i = this.Contents.IndexOf(this.ActiveContent) - 1; i >= 0; i--)
                if (this.Contents[i].DockHandler.DockState == this.DockState)
                {
                    prevVisible = this.Contents[i];
                    break;
                }

            IDockContent nextVisible = null;
            for (int i = this.Contents.IndexOf(this.ActiveContent) + 1; i < this.Contents.Count; i++)
                if (this.Contents[i].DockHandler.DockState == this.DockState)
                {
                    nextVisible = this.Contents[i];
                    break;
                }

            if (prevVisible != null)
                this.ActiveContent = prevVisible;
            else if (nextVisible != null)
                this.ActiveContent = nextVisible;
            else
                this.ActiveContent = null;
        }

Usage Example

 private static void RefreshDockPane(DockPane pane)
 {
     pane.RefreshChanges();
     pane.ValidateActiveContent();
 }