public void DrawTreeMap(IRenderer Renderer) { if (DoRevalue || (ShowLayout != ShowNodes.All && XRay.CoverChange) || (ShowLayout == ShowNodes.Instances && XRay.InstanceChange)) { RecalcCover(InternalRoot); RecalcCover(ExternalRoot); XRay.CoverChange = false; XRay.InstanceChange = false; DoRevalue = false; RevalueCount++; DoResize = true; } if (DoResize) { var drawArea = new RectangleF(ScreenOffset.X, ScreenOffset.Y, ScreenSize.Width, ScreenSize.Height); float offset = 0; float centerWidth = drawArea.Width; PositionMap.Clear(); CenterMap.Clear(); if (ShowingOutside) { offset = drawArea.Width * 1.0f / 4.0f; centerWidth -= offset; InternalRoot.SetArea(new RectangleF(ScreenOffset.X, ScreenOffset.Y, offset - PanelBorderWidth, drawArea.Height)); PositionMap[InternalRoot.ID] = InternalRoot; SizeNode(Renderer, InternalRoot, CurrentRoot, false); } if (ShowingExternal) { float extWidth = drawArea.Width * 1.0f / 4.0f; centerWidth -= extWidth; ExternalRoot.SetArea(new RectangleF(ScreenOffset.X + offset + centerWidth + PanelBorderWidth, ScreenOffset.Y, extWidth - PanelBorderWidth, drawArea.Height)); PositionMap[ExternalRoot.ID] = ExternalRoot; SizeNode(Renderer, ExternalRoot, null, false); } CurrentRoot.SetArea(new RectangleF(ScreenOffset.X + offset, ScreenOffset.Y, centerWidth, drawArea.Height)); PositionMap[CurrentRoot.ID] = CurrentRoot; SizeNode(Renderer, CurrentRoot, null, true); DoResize = false; ResizeCount++; } }
// creates new designer with arguments (safe) internal static NameChainer GetNewDesigner( string name, bool isEmbeddedTransaction, bool isEmbeddedTryCatch, Designer.IsolationLevel isolationLevel = IsolationLevel.Default) { var root = new InternalRoot(isEmbeddedTransaction); root.IsEmbeddedTryCatch = isEmbeddedTryCatch; root.Name = name; return(new NameChainer(root, isolationLevel)); }