internal static DockStyle xf8330a3964a419ba(ContainerDockLocation x9c911703d455884e) { ContainerDockLocation containerDockLocation = x9c911703d455884e; if (true) { goto label_5; } label_4: return(DockStyle.Left); label_5: switch (containerDockLocation) { case ContainerDockLocation.Left: goto label_4; case ContainerDockLocation.Right: return(DockStyle.Right); case ContainerDockLocation.Top: return(DockStyle.Top); case ContainerDockLocation.Bottom: return(DockStyle.Bottom); default: return(DockStyle.Fill); } }
public DockContainer FindDockContainer(ContainerDockLocation location) => FindDockedContainer(LayoutUtilities.Convert(location));
protected virtual DockContainer CreateNewDockContainerCore(ContainerDockLocation dockLocation) { return dockLocation == ContainerDockLocation.Center && EnableTabbedDocuments ? new DocumentContainer() : new DockContainer(); }
public DockContainer CreateNewDockContainer(ContainerDockLocation dockLocation, ContainerDockEdge edge, int contentSize) { EnsureDockSystemContainer(); DockSystemContainer.SuspendLayout(); DockContainer result; try { var dockContainer = CreateNewDockContainerCore(dockLocation); dockContainer.Manager = this; var dockStyle = LayoutUtilities.Convert(dockLocation); dockContainer.Dock = dockStyle; dockContainer.ContentSize = contentSize; // IntPtr arg_3B_0 = dockContainer.Handle; var newIndex = dockLocation != ContainerDockLocation.Center ? (edge == ContainerDockEdge.Inside ? GetInsideControlIndex(DockSystemContainer) : GetOutsideControlIndex(DockSystemContainer, dockStyle)) : 0; DockSystemContainer.Controls.Add(dockContainer); DockSystemContainer.Controls.SetChildIndex(dockContainer, newIndex); foreach (var control2 in DockSystemContainer.Controls.Cast<Control>().Select(control => control as PopupContainer)) control2?.BringToFront(); result = dockContainer; } finally { DockSystemContainer.ResumeLayout(); } return result; }
internal void SaveFixedDockSide(ContainerDockLocation location) { LastFixedDockSide = location; }
internal bool GetDockingRulesFrom(ContainerDockLocation location) { switch (location) { case ContainerDockLocation.Left: return DockingRules.AllowDockLeft; case ContainerDockLocation.Right: return DockingRules.AllowDockRight; case ContainerDockLocation.Top: return DockingRules.AllowDockTop; case ContainerDockLocation.Bottom: return DockingRules.AllowDockBottom; default: return DockingRules.AllowTab; } }
internal static void x0a680eda7ec8bd81( SandDockManager x91f347c6e97f1846, XmlNode x8a5ce9fbef4b9a09) { TypeConverter converter1 = TypeDescriptor.GetConverter(typeof(long)); do { TypeConverter converter2 = TypeDescriptor.GetConverter(typeof(int)); TypeConverter converter3 = TypeDescriptor.GetConverter(typeof(System.Drawing.Size)); TypeConverter converter4 = TypeDescriptor.GetConverter(typeof(System.Drawing.Point)); DockControl control = x91f347c6e97f1846.FindControl(new Guid(x8a5ce9fbef4b9a09.Attributes["Guid"].Value)); if (control != null) { if (x8a5ce9fbef4b9a09.Attributes["LastFocused"] != null) { goto label_26; } else { goto label_24; } label_3: if (true) { control.MetaData.xe62a3d24e0fde928.x71a5d248534c8557 = (int)converter2.ConvertFromString(x8a5ce9fbef4b9a09.Attributes["LastDockContainerIndex"].Value); } else { goto label_15; } label_5: x245a5abec1c73d3a.xac29055e1acf1a28(control, x8a5ce9fbef4b9a09, (x129cb2a2bdfd0ab2)control.MetaData.xe62a3d24e0fde928, "Docked"); if (true) { x245a5abec1c73d3a.xac29055e1acf1a28(control, x8a5ce9fbef4b9a09, control.MetaData.x25e1dbd0e63329bf, "Document"); x245a5abec1c73d3a.xac29055e1acf1a28(control, x8a5ce9fbef4b9a09, control.MetaData.xba74b873ae2f845a, "Floating"); if (true) { continue; } goto label_19; } else { goto label_7; } label_6: if (x8a5ce9fbef4b9a09.Attributes["LastFloatingWindowGuid"] != null) { control.MetaData.x87f4a9b62a380563(new Guid(x8a5ce9fbef4b9a09.Attributes["LastFloatingWindowGuid"].Value)); } label_7: if (x8a5ce9fbef4b9a09.Attributes["LastDockContainerCount"] == null) { goto label_9; } label_8: control.MetaData.xe62a3d24e0fde928.xd25c313925dc7d4e = (int)converter2.ConvertFromString(x8a5ce9fbef4b9a09.Attributes["LastDockContainerCount"].Value); label_9: if (x8a5ce9fbef4b9a09.Attributes["LastDockContainerIndex"] != null) { if (true) { goto label_3; } } else { goto label_5; } label_10: ContainerDockLocation xbcea506a33cf9111 = ContainerDockLocation.Right; label_11: control.MetaData.xfca44c52f41f0e26(xbcea506a33cf9111); goto label_6; label_15: while (x8a5ce9fbef4b9a09.Attributes["LastFixedDockSituation"] != null) { control.MetaData.x0ba17c4cff658fcf((DockSituation)Enum.Parse(typeof(DockSituation), x8a5ce9fbef4b9a09.Attributes["LastFixedDockSituation"].Value)); if (true) { break; } } if (x8a5ce9fbef4b9a09.Attributes["LastFixedDockLocation"] != null) { xbcea506a33cf9111 = (ContainerDockLocation)Enum.Parse(typeof(ContainerDockLocation), x8a5ce9fbef4b9a09.Attributes["LastFixedDockLocation"].Value); if (!Enum.IsDefined(typeof(ContainerDockLocation), (object)xbcea506a33cf9111)) { if (true) { goto label_10; } else { goto label_7; } } else { goto label_11; } } else { goto label_6; } label_19: control.PopupSize = (int)converter2.ConvertFromString(x8a5ce9fbef4b9a09.Attributes["PopupSize"].Value); label_20: control.FloatingLocation = (System.Drawing.Point)converter4.ConvertFromString((ITypeDescriptorContext)null, CultureInfo.InvariantCulture, x8a5ce9fbef4b9a09.Attributes["FloatingLocation"].Value); control.FloatingSize = (System.Drawing.Size)converter3.ConvertFromString((ITypeDescriptorContext)null, CultureInfo.InvariantCulture, x8a5ce9fbef4b9a09.Attributes["FloatingSize"].Value); if (x8a5ce9fbef4b9a09.Attributes["LastOpenDockSituation"] != null) { control.MetaData.xb0e0bc77d88737a8((DockSituation)Enum.Parse(typeof(DockSituation), x8a5ce9fbef4b9a09.Attributes["LastOpenDockSituation"].Value)); goto label_15; } else { goto label_15; } label_21: if (x8a5ce9fbef4b9a09.Attributes["PopupSize"] == null) { goto label_20; } else { goto label_19; } label_24: if (x8a5ce9fbef4b9a09.Attributes["DockedSize"] != null) { control.MetaData.x3ef4455ea4965093((int)converter2.ConvertFromString(x8a5ce9fbef4b9a09.Attributes["DockedSize"].Value)); goto label_21; } else { goto label_21; } label_26: control.MetaData.x15481da58c59597a(DateTime.FromFileTime((long)converter1.ConvertFromString((ITypeDescriptorContext)null, CultureInfo.InvariantCulture, x8a5ce9fbef4b9a09.Attributes["LastFocused"].Value))); if (true) { if (true) { if (true) { goto label_24; } else { goto label_21; } } else { goto label_8; } } else { goto label_3; } } else { goto label_31; } }while (false); return; label_31 :; }
internal abstract bool xe302f2203dc14a18(ContainerDockLocation xb9c2cfae130d9256);
internal abstract bool vmethod_3(ContainerDockLocation location);
internal void method_2(SandDockManager sandDockManager_0, ContainerDockLocation containerDockLocation_0, ContainerDockEdge containerDockEdge_0) { DockControl[] dockControl_ = DockControls; int num = 0; if (dockControl_.Length > 0) { num = dockControl_[0].MetaData.DockedContentSize; } Rectangle rectangle = Class7.smethod_1(sandDockManager_0.DockSystemContainer); if (containerDockLocation_0 != ContainerDockLocation.Left) { if (containerDockLocation_0 != ContainerDockLocation.Right) { if (containerDockLocation_0 != ContainerDockLocation.Top && containerDockLocation_0 != ContainerDockLocation.Bottom) { goto IL_7C; } num = Math.Min(num, Convert.ToInt32(rectangle.Height * 0.9)); goto IL_7C; } } num = Math.Min(num, Convert.ToInt32(rectangle.Width * 0.9)); IL_7C: if (!(this is ControlLayoutSystem)) { Parent?.LayoutSystems.Remove(this); } else { LayoutUtilities.smethod_10((ControlLayoutSystem)this); } DockContainer dockContainer = sandDockManager_0.CreateNewDockContainer(containerDockLocation_0, containerDockEdge_0, num); if (!(dockContainer is DocumentContainer)) { dockContainer.LayoutSystem.LayoutSystems.Add(this); return; } var controlLayoutSystem = dockContainer.CreateNewLayoutSystem(WorkingSize); dockContainer.LayoutSystem.LayoutSystems.Add(controlLayoutSystem); if (this is SplitLayoutSystem) { ((SplitLayoutSystem)this).MoveToLayoutSystem(controlLayoutSystem); return; } controlLayoutSystem.Controls.AddRange(DockControls); }
internal void xfca44c52f41f0e26(ContainerDockLocation xbcea506a33cf9111) { this.xdcf3623df6a7e235 = xbcea506a33cf9111; }
internal override bool vmethod_3(ContainerDockLocation location) => Controls.Cast<DockControl>().All(control => control.GetDockingRulesFrom(location));
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); }
public void OpenDocked(ContainerDockLocation dockLocation, WindowOpenMethod openMethod) { if (dockLocation == ContainerDockLocation.Center) { OpenDocument(openMethod); return; } EnsureDockSystemContainerNotNull(); if (DockSituation == DockSituation.Docked && MetaData.LastFixedDockSide == dockLocation) return; Remove(); MetaData.SaveFixedDockSide(dockLocation); MetaData.DockedState.Guid = Guid.Empty; MetaData.DockedState.Int32_0 = new int[0]; OpenDocked(openMethod); }
public void OpenDocked(ContainerDockLocation dockLocation) { if (dockLocation == MetaData.LastFixedDockSide) OpenDocked(WindowOpenMethod.OnScreenSelect); else OpenDocked(dockLocation, WindowOpenMethod.OnScreenSelect); }
public bool method_5(ContainerDockLocation location) { return SourceControl?.GetDockingRulesFrom(location) ?? SourceControlSystem.vmethod_3(location); }
internal void x810df8ef88cf4bf2( SandDockManager x91f347c6e97f1846, ContainerDockLocation x9c911703d455884e, ContainerDockEdge x3e4dcab61996c9ea) { DockControl[] x9476096be9672d38 = this.x9476096be9672d38; int num = 0; if ((uint)num + (uint)num >= 0U) { goto label_21; } label_10: ControlLayoutSystem newLayoutSystem; DockContainer newDockContainer; do { if (!(this is ControlLayoutSystem)) { if (this.Parent != null) { this.Parent.LayoutSystems.Remove(this); } } else { goto label_11; } label_7: newDockContainer = x91f347c6e97f1846.CreateNewDockContainer(x9c911703d455884e, x3e4dcab61996c9ea, num); if (newDockContainer is DocumentContainer) { newLayoutSystem = newDockContainer.CreateNewLayoutSystem(this.WorkingSize); newDockContainer.LayoutSystem.LayoutSystems.Add((LayoutSystemBase)newLayoutSystem); if (this is SplitLayoutSystem) { ((SplitLayoutSystem)this).MoveToLayoutSystem(newLayoutSystem); continue; } goto label_2; } else { goto label_3; } label_11: if (true) { LayoutUtilities.x4487f2f8917e3fd0((ControlLayoutSystem)this); if (false) { goto label_7; } else { goto label_7; } } else { goto label_1; } }while ((uint)num > uint.MaxValue); goto label_15; label_2: newLayoutSystem.Controls.AddRange(this.x9476096be9672d38); return; label_3: newDockContainer.LayoutSystem.LayoutSystems.Add(this); return; label_1: return; label_15: if ((uint)num - (uint)num >= 0U) { ; } return; label_21: if ((uint)num < 0U || x9476096be9672d38.Length > 0) { goto label_22; } label_19: Rectangle rectangle; do { rectangle = xedb4922162c60d3d.x41c62f474d3fb367(x91f347c6e97f1846.DockSystemContainer); do { switch (x9c911703d455884e) { case ContainerDockLocation.Left: goto label_18; case ContainerDockLocation.Right: continue; case ContainerDockLocation.Top: goto label_14; default: goto label_13; } }while (false); label_18: num = Math.Min(num, Convert.ToInt32((double)rectangle.Width * 0.9)); }while ((num & 0) != 0); goto label_10; label_9: if (x9c911703d455884e == ContainerDockLocation.Bottom) { goto label_14; } else { goto label_10; } label_13: if (true) { goto label_9; } label_14: num = Math.Min(num, Convert.ToInt32((double)rectangle.Height * 0.9)); if ((uint)num >= 0U) { goto label_10; } else { goto label_9; } label_22: num = x9476096be9672d38[0].MetaData.DockedContentSize; goto label_19; }
protected Rectangle method_7(ContainerDockLocation location, bool bool_2) { if (bool_2) return method_8(location, 30, true); var container = Manager.DockSystemContainer; var x = 0; var y = 0; var w = container.ClientRectangle.Width; var h = container.ClientRectangle.Height; switch (location) { case ContainerDockLocation.Left: return new Rectangle(x - 30, y, 30, h - y); case ContainerDockLocation.Right: return new Rectangle(w, y, 30, h - y); case ContainerDockLocation.Top: return new Rectangle(x, y - 30, w - x, 30); case ContainerDockLocation.Bottom: return new Rectangle(x, h, w - x, 30); default: return Rectangle.Empty; } }
internal static DockStyle Convert(ContainerDockLocation location) { switch (location) { case ContainerDockLocation.Left: return DockStyle.Left; case ContainerDockLocation.Right: return DockStyle.Right; case ContainerDockLocation.Top: return DockStyle.Top; case ContainerDockLocation.Bottom: return DockStyle.Bottom; } return DockStyle.Fill; }
protected Rectangle method_8(ContainerDockLocation location, int int_8, bool bool_2) { var rectangle = smethod_1(Manager.DockSystemContainer); Rectangle result = rectangle; if (!bool_2) { result = Manager.DockSystemContainer.ClientRectangle; } int val = int_8 + 4; switch (location) { case ContainerDockLocation.Left: return new Rectangle(result.Left, result.Top, Math.Min(val, Convert.ToInt32(rectangle.Width * 0.9)), result.Height); case ContainerDockLocation.Right: return new Rectangle(result.Right - Math.Min(val, Convert.ToInt32(rectangle.Width * 0.9)), result.Top, Math.Min(val, Convert.ToInt32(rectangle.Width * 0.9)), result.Height); case ContainerDockLocation.Top: return new Rectangle(result.Left, result.Top, result.Width, Math.Min(val, Convert.ToInt32(rectangle.Height * 0.9))); case ContainerDockLocation.Bottom: return new Rectangle(result.Left, result.Bottom - Math.Min(val, Convert.ToInt32(rectangle.Height * 0.9)), result.Width, Math.Min(val, Convert.ToInt32(rectangle.Height * 0.9))); } return result; }
internal override bool vmethod_3(ContainerDockLocation location) => LayoutSystems.Cast<LayoutSystemBase>().All(layout => layout.vmethod_3(location));
public void DockInNewContainer(ContainerDockLocation dockLocation, ContainerDockEdge edge) { method_10(); Remove(); var dockContainer = Manager.CreateNewDockContainer(dockLocation, edge, MetaData.DockedContentSize); var layoutSystem = dockContainer.CreateNewLayoutSystem(this, FloatingSize); dockContainer.LayoutSystem.LayoutSystems.Add(layoutSystem); }