void PasteUSS(string copyBuffer) { // Paste does nothing if document has no stylesheets. var mainStyleSheet = m_PaneWindow.document.activeStyleSheet; if (mainStyleSheet == null) { return; } var pasteStyleSheet = StyleSheetUtilities.CreateInstance(); var importer = new BuilderStyleSheetImporter(); // Cannot be cached because the StyleBuilder never gets reset. importer.Import(pasteStyleSheet, copyBuffer); // Select all pasted selectors. m_Selection.ClearSelection(null); foreach (var selector in pasteStyleSheet.complexSelectors) { BuilderAssetUtilities.AddStyleComplexSelectorToSelection(pasteStyleSheet, selector); } BuilderAssetUtilities.TransferAssetToAsset(m_PaneWindow.document, mainStyleSheet, pasteStyleSheet); ScriptableObject.DestroyImmediate(pasteStyleSheet); }
static void SwallowStyleRule(VisualTreeAsset vta, VisualTreeAsset other, VisualElementAsset vea) { if (vea.ruleIndex < 0) return; if (vta.inlineSheet == null) vta.inlineSheet = StyleSheetUtilities.CreateInstance(); var toStyleSheet = vta.inlineSheet; var fromStyleSheet = other.inlineSheet; var rule = fromStyleSheet.rules[vea.ruleIndex]; // Add rule to StyleSheet. var rulesList = toStyleSheet.rules.ToList(); var index = rulesList.Count; rulesList.Add(rule); toStyleSheet.rules = rulesList.ToArray(); // Add property values to sheet. foreach (var property in rule.properties) { for (int i = 0; i < property.values.Length; ++i) { var valueHandle = property.values[i]; valueHandle.valueIndex = toStyleSheet.SwallowStyleValue(fromStyleSheet, valueHandle); property.values[i] = valueHandle; } } vea.ruleIndex = index; }
public void SelectionChanged() { if (m_CurrentVisualElement != null && BuilderSharedStyles.IsSelectorElement(m_CurrentVisualElement)) { StyleSheetUtilities.RemoveFakeSelector(m_CurrentVisualElement); } m_CurrentVisualElement = null; foreach (var element in m_Selection.selection) { if (m_CurrentVisualElement != null) // We only support editing one element. Disable for for multiple elements. { m_CurrentVisualElement = null; break; } m_CurrentVisualElement = element; } if (m_CurrentVisualElement != null) { m_CachedVisualElement = m_CurrentVisualElement; } if (m_CurrentVisualElement != null && BuilderSharedStyles.IsSelectorElement(m_CurrentVisualElement)) { StyleSheetUtilities.AddFakeSelector(m_CurrentVisualElement); m_Selection.NotifyOfStylingChange(null, null, BuilderStylingChangeType.RefreshOnly); } else { RefreshUI(); } }
public static StyleSheet GetOrCreateInlineStyleSheet(this VisualTreeAsset vta) { if (vta.inlineSheet == null) { vta.inlineSheet = StyleSheetUtilities.CreateInstance(); } return(vta.inlineSheet); }
void PasteUSS(string copyBuffer) { var pasteStyleSheet = StyleSheetUtilities.CreateInstance(); var importer = new BuilderStyleSheetImporter(); // Cannot be cached because the StyleBuilder never gets reset. importer.Import(pasteStyleSheet, copyBuffer); BuilderAssetUtilities.TransferAssetToAsset(m_PaneWindow.document, pasteStyleSheet); ScriptableObject.DestroyImmediate(pasteStyleSheet); }
public static StyleSheet DeepCopy(this StyleSheet styleSheet) { if (styleSheet == null) { return(null); } var newStyleSheet = StyleSheetUtilities.CreateInstance(); styleSheet.DeepOverwrite(newStyleSheet); return(newStyleSheet); }
void PasteUSS(string copyBuffer) { var pasteStyleSheet = StyleSheetUtilities.CreateInstance(); var importer = new BuilderStyleSheetImporter(); // Cannot be cached because the StyleBuilder never gets reset. importer.Import(pasteStyleSheet, copyBuffer); BuilderAssetUtilities.TransferAssetToAsset(m_PaneWindow.document, pasteStyleSheet); m_Selection.ClearSelection(null); var scs = m_PaneWindow.document.mainStyleSheet.complexSelectors.Last(); BuilderAssetUtilities.AddStyleComplexSelectorToSelection(m_PaneWindow.document, scs); ScriptableObject.DestroyImmediate(pasteStyleSheet); }
public static StyleRule GetOrCreateInlineStyleRule(this VisualTreeAsset vta, VisualElementAsset vea, out bool wasCreated) { wasCreated = vea.ruleIndex < 0; if (wasCreated) { if (vta.inlineSheet == null) { var newSheet = StyleSheetUtilities.CreateInstance(); vta.inlineSheet = newSheet; } vea.ruleIndex = vta.inlineSheet.AddRule(); } return(vta.inlineSheet.GetRule(vea.ruleIndex)); }
void SetValue(string value, bool notify) { string cleanValue = StyleSheetUtilities.GetCleanVariableName(value); if (m_Value == cleanValue) { return; } var oldValue = m_Value; m_Value = cleanValue; if (panel != null && notify) { using (ChangeEvent <string> evt = ChangeEvent <string> .GetPooled(oldValue, cleanValue)) { evt.target = this; SendEvent(evt); } } m_Field.SetValueWithoutNotify(m_Value); UpdatePlaceholderLabelVisibility(); }
public BuilderTransformOrigin(TransformOrigin transformOrigin) { x = new Dimension(transformOrigin.x.value, StyleSheetUtilities.ConvertToDimensionUnit(transformOrigin.x.unit)); y = new Dimension(transformOrigin.y.value, StyleSheetUtilities.ConvertToDimensionUnit(transformOrigin.y.unit)); }
public BuilderTranslate(Translate translate) { x = new Dimension(translate.x.value, StyleSheetUtilities.ConvertToDimensionUnit(translate.x.unit)); y = new Dimension(translate.y.value, StyleSheetUtilities.ConvertToDimensionUnit(translate.y.unit)); }
public BuilderRotate(Rotate rotate) { x = new Dimension(rotate.angle.value, StyleSheetUtilities.ConvertToDimensionUnit(rotate.angle.unit)); }