void ApplySerializewindowLayouts(PostLayoutEvent evt) { UnregisterCallback <PostLayoutEvent>(ApplySerializewindowLayouts); m_FloatingWindowsLayoutKey = "UnityEditor.ShaderGraph.FloatingWindowsLayout"; string serializedWindowLayout = EditorUserSettings.GetConfigValue(m_FloatingWindowsLayoutKey); if (!String.IsNullOrEmpty(serializedWindowLayout)) { m_FloatingWindowsLayout = JsonUtility.FromJson <FloatingWindowsLayout>(serializedWindowLayout); m_FloatingWindowsLayout.defaultPreviewLayout.CalculateDockingCornerAndOffset(m_MasterPreviewView.layout, layout); m_FloatingWindowsLayout.defaultBlackboardLayout.CalculateDockingCornerAndOffset(m_BlackboardProvider.blackboard.layout, layout); m_MasterPreviewView.layout = m_FloatingWindowsLayout.previewLayout.GetLayout(layout); m_BlackboardProvider.blackboard.layout = m_FloatingWindowsLayout.blackboardLayout.GetLayout(layout); m_MasterPreviewView.UpdateRenderTextureOnNextLayoutChange(); } else { m_FloatingWindowsLayout = new FloatingWindowsLayout(); m_FloatingWindowsLayout.defaultPreviewLayout.CalculateDockingCornerAndOffset(m_MasterPreviewView.layout, layout); m_FloatingWindowsLayout.defaultBlackboardLayout.CalculateDockingCornerAndOffset(m_BlackboardProvider.blackboard.layout, layout); } }
void OnSubElementPostLayout(PostLayoutEvent e) { if (this.IsSelected(GetFirstAncestorOfType <GraphView>()) == false) { UpdateGeometryFromContent(); } }
static void RepositionNode(PostLayoutEvent evt) { var port = evt.target as ShaderPort; if (port == null) { return; } port.UnregisterCallback <PostLayoutEvent>(RepositionNode); var nodeView = port.node as MaterialNodeView; if (nodeView == null) { return; } var offset = nodeView.mainContainer.WorldToLocal(port.GetGlobalCenter() + new Vector3(3f, 3f, 0f)); var position = nodeView.GetPosition(); position.position -= offset; nodeView.SetPosition(position); var drawState = nodeView.node.drawState; drawState.position = position; nodeView.node.drawState = drawState; nodeView.Dirty(ChangeType.Repaint); port.Dirty(ChangeType.Repaint); }
private void OnSubElementPostLayout(PostLayoutEvent e) { if (!this.IsSelected(base.GetFirstAncestorOfType <GraphView>())) { this.UpdateGeometryFromContent(); } }
private void OnTargetLayout(PostLayoutEvent evt) { if (UpdateTargetBounds() || UpdateElementSize()) { AlignOnTarget(); } }
protected internal override void ExecuteDefaultAction(EventBase evt) { if (evt.GetEventTypeId() == PostLayoutEvent.TypeId()) { if (m_Attacher != null) { PerformTipLayout(); } } else if (evt.GetEventTypeId() == DetachFromPanelEvent.TypeId()) { if (m_Attacher != null) { m_Attacher.Detach(); m_Attacher = null; } } else if (evt.GetEventTypeId() == MouseEnterEvent.TypeId()) { ShowText(); } else if (evt.GetEventTypeId() == MouseLeaveEvent.TypeId()) { HideText(); } base.ExecuteDefaultAction(evt); }
void InitialLayoutSetup(PostLayoutEvent postLayoutEvent) { m_PreviousParentRect = target.parent.layout; target.UnregisterCallback <PostLayoutEvent>(InitialLayoutSetup); target.RegisterCallback <PostLayoutEvent>(OnPostLayout); RefreshDocking(); }
void InitialLayoutSetup(PostLayoutEvent postLayoutEvent) { m_PreviousParentRect = target.parent.layout; target.UnregisterCallback <PostLayoutEvent>(InitialLayoutSetup); target.RegisterCallback <PostLayoutEvent>(OnPostLayout); m_WindowDockingLayout.CalculateDockingCornerAndOffset(target.layout, target.parent.layout); }
private void OnHeaderSizeChanged(PostLayoutEvent e) { if (!this.m_HeaderSizeIsValid && GroupNode.IsValidRect(this.m_HeaderItem.layout)) { this.UpdateGeometryFromContent(); this.m_HeaderSizeIsValid = true; this.m_HeaderItem.UnregisterCallback <PostLayoutEvent>(new EventCallback <PostLayoutEvent>(this.OnHeaderSizeChanged), Capture.NoCapture); } }
private void OnHeaderSizeChanged(PostLayoutEvent e) { if (!m_HeaderSizeIsValid && (IsValidRect(m_HeaderItem.layout))) { UpdateGeometryFromContent(); m_HeaderSizeIsValid = true; m_HeaderItem.UnregisterCallback <PostLayoutEvent>(OnHeaderSizeChanged); } }
void ApplySerializewindowLayouts(PostLayoutEvent evt) { UnregisterCallback <PostLayoutEvent>(ApplySerializewindowLayouts); if (m_FloatingWindowsLayout != null) { m_MasterPreviewView.layout = m_FloatingWindowsLayout.previewLayout.GetLayout(layout); m_BlackboardProvider.blackboard.layout = m_FloatingWindowsLayout.blackboardLayout.GetLayout(layout); previewManager.ResizeMasterPreview(m_FloatingWindowsLayout.masterPreviewSize); } else { m_FloatingWindowsLayout = new FloatingWindowsLayout(); } }
void OnPostLayout(PostLayoutEvent evt) { const float minimumVisibility = 60f; Rect inspectorViewRect = m_GraphInspectorView.layout; float minimumXPosition = minimumVisibility - inspectorViewRect.width; float maximumXPosition = m_GraphView.layout.width - minimumVisibility; float minimumYPosition = minimumVisibility - inspectorViewRect.height; float maximumYPosition = m_GraphView.layout.height - minimumVisibility; inspectorViewRect.x = Mathf.Clamp(inspectorViewRect.x, minimumXPosition, maximumXPosition); inspectorViewRect.y = Mathf.Clamp(inspectorViewRect.y, minimumYPosition, maximumYPosition); inspectorViewRect.width = Mathf.Min(inspectorViewRect.width, layout.width); inspectorViewRect.height = Mathf.Min(inspectorViewRect.height, layout.height); m_GraphInspectorView.layout = inspectorViewRect; }
void AdaptRenderTextureOnLayoutChange(PostLayoutEvent evt) { UnregisterCallback <PostLayoutEvent>(AdaptRenderTextureOnLayoutChange); RefreshRenderTextureSize(); }
void OnPostLayout(PostLayoutEvent evt) { graphEditorView.UnregisterCallback <PostLayoutEvent>(OnPostLayout); graphEditorView.graphView.FrameAll(); }
void InitialLayoutSetup(PostLayoutEvent evt) { m_ResizeTarget.UnregisterCallback <PostLayoutEvent>(InitialLayoutSetup); m_InitialAspectRatio = m_ResizeTarget.layout.width / m_ResizeTarget.layout.height; }
void OnPostLayout(PostLayoutEvent postLayoutEvent) { Rect windowRect = target.layout; Vector2 scaling = target.parent.layout.size / m_PreviousParentRect.size; Vector2 minSize = new Vector2(60f, 60f); if (!Mathf.Approximately(target.style.minWidth, 0f)) { minSize.x = target.style.minWidth; } if (!Mathf.Approximately(target.style.minHeight, 0f)) { minSize.y = target.style.minHeight; } Vector2 distanceFromParentEdge = Vector2.zero; distanceFromParentEdge.x = m_DockLeft ? target.layout.x : (m_PreviousParentRect.width - target.layout.x - target.layout.width); distanceFromParentEdge.y = m_DockTop ? target.layout.y: (m_PreviousParentRect.height - target.layout.y - target.layout.height); Vector2 normalizedDistanceFromEdge = distanceFromParentEdge / m_PreviousParentRect.size; if (m_ResizeWithParentWindow) { if (scaling.x > 1f) { scaling.x = target.parent.layout.width * .33f < minSize.x ? 1f : scaling.x; } if (scaling.y > 1f) { scaling.y = target.parent.layout.height * .33f < minSize.y ? 1f : scaling.y; } windowRect.size *= scaling; } else { normalizedDistanceFromEdge = distanceFromParentEdge / target.parent.layout.size; } if (m_DockLeft) { windowRect.x = normalizedDistanceFromEdge.x * target.parent.layout.width; } else { windowRect.x = (1f - normalizedDistanceFromEdge.x) * target.parent.layout.width - windowRect.width; } if (m_DockTop) { windowRect.y = normalizedDistanceFromEdge.y * target.parent.layout.height; } else { windowRect.y = (1f - normalizedDistanceFromEdge.y) * target.parent.layout.height - windowRect.height; } windowRect.width = Mathf.Max(Mathf.Min(windowRect.width, target.parent.layout.width), minSize.x); windowRect.height = Mathf.Max(Mathf.Min(windowRect.height, target.parent.layout.height), minSize.y); float maximumXPosition = Mathf.Max(target.parent.layout.width - windowRect.width, 0f); float maximumYPosition = Mathf.Max(target.parent.layout.height - windowRect.height, 0f); windowRect.x = Mathf.Clamp(windowRect.x, 0f, maximumXPosition); windowRect.y = Mathf.Clamp(windowRect.y, 0f, maximumYPosition); m_PreviousParentRect = target.parent.layout; target.layout = windowRect; }