Exemple #1
0
	    internal static ControlLayoutSystem smethod_4(SandDockManager sandDockManager_0, DockSituation dockSituation_0, DockingState dockingState0)
		{
			switch (dockSituation_0)
			{
			case DockSituation.None:
			        throw new InvalidOperationException();
			case DockSituation.Docked:
			{
				DockContainer[] dockContainers = sandDockManager_0.GetDockContainers();
				for (int i = 0; i < dockContainers.Length; i++)
				{
					DockContainer dockContainer_ = dockContainers[i];
					if (LayoutUtilities.GetDockSituation(dockContainer_) == dockSituation_0)
					{
						ControlLayoutSystem[] array = LayoutUtilities.smethod_3(dockContainer_);
						for (int j = 0; j < array.Length; j++)
						{
							ControlLayoutSystem controlLayoutSystem = array[j];
							if (controlLayoutSystem.Guid == dockingState0.Guid)
							{
								ControlLayoutSystem result = controlLayoutSystem;
								return result;
							}
						}
					}
				}
				goto IL_133;
			}
			case DockSituation.Document:
				if (sandDockManager_0.DocumentContainer != null)
				{
					ControlLayoutSystem[] array2 = LayoutUtilities.smethod_3(sandDockManager_0.DocumentContainer);
					for (int k = 0; k < array2.Length; k++)
					{
						ControlLayoutSystem controlLayoutSystem2 = array2[k];
						if (controlLayoutSystem2.Guid == dockingState0.Guid)
						{
							ControlLayoutSystem result = controlLayoutSystem2;
							return result;
						}
					}
					goto IL_133;
				}
				goto IL_133;
			case DockSituation.Floating:
			{
				DockContainer[] dockContainers2 = sandDockManager_0.GetDockContainers();
				foreach (DockContainer dockContainer_2 in dockContainers2)
				{
				    if (GetDockSituation(dockContainer_2) == dockSituation_0)
				    {
				        foreach (var controlLayoutSystem3 in smethod_3(dockContainer_2))
				        {
				            if (controlLayoutSystem3.Guid == dockingState0.Guid)
				            {
				                ControlLayoutSystem result = controlLayoutSystem3;
				                return result;
				            }
				        }
				    }
				}
				goto IL_133;
			}
			}
			throw new InvalidOperationException();
			IL_133:
			return null;
		}
Exemple #2
0
 public DockControl[] GetDockControls(DockSituation dockSituation) => _windows.Values.Cast<DockControl>().Where(control => control.DockSituation == dockSituation).ToArray();
Exemple #3
0
        internal static ControlLayoutSystem xba5fd484c0e6478b(
            SandDockManager x91f347c6e97f1846,
            DockSituation xd39eba9a9a1b028e,
            x129cb2a2bdfd0ab2 xfffbdea061bfa120)
        {
            int index1;

            DockContainer[] dockContainers1;
            int             index2;

            ControlLayoutSystem[] controlLayoutSystemArray1;
            int index3;

            DockContainer[] dockContainers2;
            switch (xd39eba9a9a1b028e)
            {
            case DockSituation.Docked:
                dockContainers2 = x91f347c6e97f1846.GetDockContainers();
                index3          = 0;
                goto label_26;

            case DockSituation.Document:
                if (x91f347c6e97f1846.DocumentContainer != null)
                {
                    controlLayoutSystemArray1 = LayoutUtilities.x1494f515233a1246((DockContainer)x91f347c6e97f1846.DocumentContainer);
                    if (true)
                    {
                        index2 = 0;
                        goto label_21;
                    }
                    else
                    {
                        goto label_29;
                    }
                }
                else
                {
                    break;
                }

            case DockSituation.Floating:
                dockContainers1 = x91f347c6e97f1846.GetDockContainers();
                int num1;
                if ((uint)num1 + (uint)num1 >= 0U)
                {
                    index1 = 0;
                    goto label_4;
                }
                else
                {
                    goto label_21;
                }

            default:
                throw new InvalidOperationException();
            }
label_2:
            return((ControlLayoutSystem)null);

label_3:
            ++index1;
label_4:
            DockContainer xd3311d815ca25f02_1;

            if (index1 < dockContainers1.Length)
            {
                xd3311d815ca25f02_1 = dockContainers1[index1];
            }
            else
            {
                goto label_2;
            }
label_6:
            int index4;

            ControlLayoutSystem[] controlLayoutSystemArray2;
            if (LayoutUtilities.x8d287cc6f0a2f529(xd3311d815ca25f02_1) != xd39eba9a9a1b028e)
            {
                if (true)
                {
                    goto label_3;
                }
                else
                {
                    goto label_44;
                }
            }
            else
            {
                controlLayoutSystemArray2 = LayoutUtilities.x1494f515233a1246(xd3311d815ca25f02_1);
                if ((uint)index4 + (uint)index2 >= 0U)
                {
                    index4 = 0;
                }
                else
                {
                    goto label_44;
                }
            }
label_8:
            if (index4 >= controlLayoutSystemArray2.Length)
            {
                if (true)
                {
                    if ((uint)index1 - (uint)index2 <= uint.MaxValue)
                    {
                        goto label_3;
                    }
                    else
                    {
                        goto label_6;
                    }
                }
                else
                {
                    goto label_40;
                }
            }
label_14:
            ControlLayoutSystem controlLayoutSystem1 = controlLayoutSystemArray2[index4];
            ControlLayoutSystem controlLayoutSystem2;

            if (!(controlLayoutSystem1.x0217cda8370c1f17 == xfffbdea061bfa120.x703937d70a13725c))
            {
                ++index4;
                goto label_8;
            }
            else
            {
                controlLayoutSystem2 = controlLayoutSystem1;
                goto label_44;
            }
label_19:
            for (; index2 < controlLayoutSystemArray1.Length; ++index2)
            {
                ControlLayoutSystem controlLayoutSystem3 = controlLayoutSystemArray1[index2];
                if (controlLayoutSystem3.x0217cda8370c1f17 == xfffbdea061bfa120.x703937d70a13725c)
                {
                    controlLayoutSystem2 = controlLayoutSystem3;
                    goto label_44;
                }
            }
            goto label_2;
label_21:
            int num2;
            int num3;

            if ((uint)num2 - (uint)num3 < 0U)
            {
                goto label_29;
            }
            else
            {
                goto label_19;
            }
label_26:
            DockContainer xd3311d815ca25f02_2;

            if (index3 < dockContainers2.Length)
            {
                xd3311d815ca25f02_2 = dockContainers2[index3];
                goto label_30;
            }
            else
            {
                goto label_2;
            }
label_28:
            if (false)
            {
                goto label_30;
            }
label_29:
            ++index3;
            if (false)
            {
                if (false)
                {
                    goto label_19;
                }
                else
                {
                    goto label_28;
                }
            }
            else
            {
                goto label_26;
            }
label_30:
            if (LayoutUtilities.x8d287cc6f0a2f529(xd3311d815ca25f02_2) != xd39eba9a9a1b028e && (uint)index1 + (uint)index3 <= uint.MaxValue)
            {
                goto label_29;
            }
label_40:
            int index5;

            do
            {
                ControlLayoutSystem[] controlLayoutSystemArray3 = LayoutUtilities.x1494f515233a1246(xd3311d815ca25f02_2);
                do
                {
                    for (index5 = 0; index5 < controlLayoutSystemArray3.Length; ++index5)
                    {
                        ControlLayoutSystem controlLayoutSystem3 = controlLayoutSystemArray3[index5];
                        if (controlLayoutSystem3.x0217cda8370c1f17 == xfffbdea061bfa120.x703937d70a13725c)
                        {
                            controlLayoutSystem2 = controlLayoutSystem3;
                            goto label_44;
                        }
                    }
                    if ((uint)index3 - (uint)index2 <= uint.MaxValue)
                    {
                        goto label_28;
                    }
                }while ((uint)index3 < 0U);
            }while ((uint)index5 + (uint)index1 < 0U);
            if ((index4 & 0) == 0)
            {
                if ((index3 | 1) != 0)
                {
                    goto label_30;
                }
                else
                {
                    goto label_29;
                }
            }
            else
            {
                goto label_14;
            }
label_44:
            return(controlLayoutSystem2);
        }
Exemple #4
0
 public DockControl FindMostRecentlyUsedWindow(DockSituation dockSituation) => FindMostRecentlyUsedWindow(dockSituation, null);
Exemple #5
0
 internal DockControl FindMostRecentlyUsedWindow(DockSituation dockSituation, DockControl notThisOne)
 {
     var t = DateTime.MinValue;
     DockControl result = null;
     foreach (var control in GetDockControls().Where(dockControl => dockControl != notThisOne && dockControl.MetaData.LastFocused >= t && (dockSituation == (DockSituation)(-1) || dockControl.DockSituation == dockSituation)))
     {
         t = control.MetaData.LastFocused;
         result = control;
     }
     return result;
 }
Exemple #6
0
		internal void SaveOpenDockSituation(DockSituation situation)
		{
			LastOpenDockSituation = situation;
		}
Exemple #7
0
		internal void SaveFixedDockSituation(DockSituation situation)
		{
			LastFixedDockSituation = situation;
		}
Exemple #8
0
 internal void x0ba17c4cff658fcf(DockSituation xbcea506a33cf9111)
 {
     this.x86d57ad3fc8ec08d = xbcea506a33cf9111;
 }
Exemple #9
0
 internal void xb0e0bc77d88737a8(DockSituation xbcea506a33cf9111)
 {
     this.x2097366c1b6e436a = xbcea506a33cf9111;
 }
		internal void method_14(DockSituation dockSituation)
		{
		    if (Controls.Count == 0) throw new InvalidOperationException();
		    if (SelectedControl.DockSituation == dockSituation) return;

		    var selectedControl = SelectedControl;
		    var array = new DockControl[Controls.Count];
		    Controls.CopyTo(array, 0);
		    LayoutUtilities.smethod_10(this);
		    Controls.Clear();
		    if (dockSituation != DockSituation.Docked)
		    {
		        if (dockSituation != DockSituation.Document)
		        {
		            if (dockSituation != DockSituation.Floating)
		            {
		                throw new InvalidOperationException();
		            }
		            array[0].OpenFloating(WindowOpenMethod.OnScreenActivate);
		        }
		        else
		        {
		            array[0].OpenDocument(WindowOpenMethod.OnScreenActivate);
		        }
		    }
		    else
		    {
		        array[0].OpenDocked(WindowOpenMethod.OnScreenActivate);
		    }
		    var array2 = new DockControl[array.Length - 1];
		    Array.Copy(array, 1, array2, 0, array.Length - 1);
		    array[0].LayoutSystem.Controls.AddRange(array2);
		    array[0].LayoutSystem.SelectedControl = selectedControl;
		}
Exemple #11
0
        public void SetPositionMetaData(DockSituation dockSituation, ContainerDockLocation dockLocation)
        {
            if (DockSituation != DockSituation.None)
                throw new InvalidOperationException("This operation is only valid when the window is not currently open.");
            if (dockSituation == DockSituation.None)
                throw new ArgumentException("dockSituation");
            if (dockLocation == ContainerDockLocation.Center) throw new ArgumentException("dockLocation");
            MetaData.SaveOpenDockSituation(dockSituation);
            if (dockSituation == DockSituation.Document || dockSituation == DockSituation.Docked)
                MetaData.SaveFixedDockSituation(dockSituation);
            MetaData.SaveFixedDockSide(dockLocation);

        }
Exemple #12
0
 private void method_17(DockSituation situation)
 {
     if (_dockSituationChanging)
         throw new InvalidOperationException("The requested operation is not valid on a window that is currently engaged in an activity further up the call stack. Consider using BeginInvoke to postpone the operation until the stack has unwound.");
     if (situation == DockSituation) return;
     DockSituation = situation;
     _dockSituationChanging = true;
     try
     {
         OnDockSituationChanged(EventArgs.Empty);
     }
     finally
     {
         _dockSituationChanging = false;
     }
 }