protected override bool StartDrag(VisualElement target, Vector2 mousePosition, VisualElement pill) { m_ElementsToReparent.Clear(); // Create list of elements to reparent. foreach (var selectedElement in selection.selection) { if (!ExplorerCanStartDrag(selectedElement)) { continue; } var elementToReparent = new ElementToReparent() { element = selectedElement, oldParent = selectedElement.parent, oldIndex = selectedElement.parent.IndexOf(selectedElement) }; m_ElementsToReparent.Add(elementToReparent); } // We still need a primary element that is "being dragged" for visualization purporses. m_TargetElementToReparent = ExplorerGetDragPreviewFromTarget(target, mousePosition); if (m_TargetElementToReparent == null || !ExplorerCanStartDrag(m_TargetElementToReparent)) { return(false); } return(true); }
protected override bool StartDrag(VisualElement target, Vector2 mousePosition, VisualElement pill) { m_ElementsToReparent.Clear(); // Create list of elements to reparent. foreach (var selectedElement in selection.selection) { var elementToReparent = new ElementToReparent() { element = selectedElement, oldParent = selectedElement.parent, oldIndex = selectedElement.parent.IndexOf(selectedElement) }; m_ElementsToReparent.Add(elementToReparent); } // We still need a primary element that is "being dragged" for visualization purporses. m_TargetElementToReparent = target.GetProperty(BuilderConstants.ExplorerItemElementLinkVEPropertyName) as VisualElement; if (!m_TargetElementToReparent.IsSelector() && !m_TargetElementToReparent.IsStyleSheet()) { return(false); } // We use the primary target element for our pill info. var pillLabel = pill.Q <Label>(); pillLabel.text = m_TargetElementToReparent.IsSelector() ? StyleSheetToUss.ToUssSelector(m_TargetElementToReparent.GetStyleComplexSelector()) : m_TargetElementToReparent.GetStyleSheet().name + BuilderConstants.UssExtension; pillLabel.RemoveFromClassList(BuilderConstants.ElementClassNameClassName); return(true); }
protected override bool StartDrag(VisualElement target, Vector2 mousePosition, VisualElement pill) { m_ElementsToReparent.Clear(); // Create list of elements to reparent. foreach (var selectedElement in selection.selection) { if (!selectedElement.IsPartOfCurrentDocument()) { continue; } var elementToReparent = new ElementToReparent() { element = selectedElement, oldParent = selectedElement.parent, oldIndex = selectedElement.parent.IndexOf(selectedElement) }; m_ElementsToReparent.Add(elementToReparent); } // We still need a primary element that is "being dragged" for visualization purporses. m_TargetElementToReparent = target.GetProperty(BuilderConstants.ExplorerItemElementLinkVEPropertyName) as VisualElement; if (!ExplorerCanStartDrag(m_TargetElementToReparent)) { return(false); } // We use the primary target element for our pill info. var pillLabel = pill.Q <Label>(); pillLabel.text = ExplorerGetDraggedPillText(m_TargetElementToReparent); // Remove the yellow text color from pill if dragger element does not represent a VisualElementAsset. if (m_TargetElementToReparent.GetVisualElementAsset() != null) { pillLabel.RemoveFromClassList(BuilderConstants.ElementClassNameClassName); } return(true); }
protected override bool StartDrag(VisualElement target, Vector2 mousePosition, VisualElement pill) { m_ElementsToReparent.Clear(); // Create list of elements to reparent. foreach (var selectedElement in selection.selection) { if (!ExplorerCanStartDrag(selectedElement)) { continue; } var elementToReparent = new ElementToReparent() { element = selectedElement, oldParent = selectedElement.parent, oldIndex = selectedElement.parent.IndexOf(selectedElement) }; m_ElementsToReparent.Add(elementToReparent); } // We still need a primary element that is "being dragged" for visualization purporses. m_TargetElementToReparent = ExplorerGetDragPreviewFromTarget(target, mousePosition); if (m_TargetElementToReparent == null || !ExplorerCanStartDrag(m_TargetElementToReparent)) { return(false); } // We use the primary target element for our pill info. var pillLabel = pill.Q <Label>(); pillLabel.text = ExplorerGetDraggedPillText(m_TargetElementToReparent); pillLabel.RemoveFromClassList(BuilderConstants.ElementClassNameClassName); return(true); }