public override void SetupView(BuilderLibraryDragger dragger, BuilderTooltipPreview tooltipPreview, BuilderPaneContent builderPaneContent, BuilderPaneWindow builderPaneWindow, VisualElement documentElement, BuilderSelection selection) { base.SetupView(dragger, tooltipPreview, builderPaneContent, builderPaneWindow, documentElement, selection); FillView(m_Items); }
public virtual void SetupView(BuilderLibraryDragger dragger, BuilderTooltipPreview tooltipPreview, BuilderPaneContent builderPaneContent, BuilderPaneWindow builderPaneWindow, VisualElement documentElement, BuilderSelection selection) { m_Dragger = dragger; m_TooltipPreview = tooltipPreview; m_BuilderPaneContent = builderPaneContent; m_PaneWindow = builderPaneWindow; m_DocumentRootElement = documentElement; m_Selection = selection; }
public BuilderLibrary( BuilderPaneWindow paneWindow, BuilderViewport viewport, BuilderSelection selection, BuilderLibraryDragger dragger, BuilderTooltipPreview tooltipPreview) { m_PaneWindow = paneWindow; m_DocumentElement = viewport.documentElement; m_Selection = selection; m_Dragger = dragger; m_TooltipPreview = tooltipPreview; AddToClassList(s_UssClassName); BuilderAssetModificationProcessor.Register(this); RefreshTreeView(); }
public BuilderLibrary( BuilderPaneWindow paneWindow, BuilderViewport viewport, BuilderSelection selection, BuilderLibraryDragger dragger, BuilderTooltipPreview tooltipPreview) { m_PaneWindow = paneWindow; m_DocumentElement = viewport.documentElement; m_Selection = selection; m_Dragger = dragger; m_TooltipPreview = tooltipPreview; viewDataKey = "unity-ui-builder-library"; // Load styles. AddToClassList(k_UssClassName); styleSheets.Add(AssetDatabase.LoadAssetAtPath <StyleSheet>(BuilderConstants.LibraryUssPathNoExt + ".uss")); styleSheets.Add(EditorGUIUtility.isProSkin ? AssetDatabase.LoadAssetAtPath <StyleSheet>(BuilderConstants.LibraryUssPathNoExt + "Dark.uss") : AssetDatabase.LoadAssetAtPath <StyleSheet>(BuilderConstants.LibraryUssPathNoExt + "Light.uss")); var template = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(BuilderConstants.LibraryUssPathNoExt + ".uxml"); template.CloneTree(this); m_EditorExtensionMode = paneWindow.document.UXMLFileSettings.EditorExtensionMode; m_LibraryContentContainer = this.Q <VisualElement>(k_ContentContainerName); m_HeaderButtonStrip = this.Q <ToggleButtonStrip>(); m_HeaderButtonStrip.choices = Enum.GetNames(typeof(BuilderLibraryTab)); m_HeaderButtonStrip.labels = new List <string> { BuilderConstants.LibraryStandardControlsTabName, BuilderConstants.LibraryProjectTabName }; m_HeaderButtonStrip.RegisterValueChangedCallback(e => { m_ActiveTab = (BuilderLibraryTab)Enum.Parse(typeof(BuilderLibraryTab), e.newValue); SaveViewData(); RefreshView(); }); AddFocusable(m_HeaderButtonStrip); BuilderLibraryContent.OnLibraryContentUpdated += RebuildView; }
public override void CreateUI() { var root = rootVisualElement; titleContent = GetLocalizedTitleContent(); saveChangesMessage = BuilderConstants.SaveDialogSaveChangesPromptMessage; // Load assets. var builderTemplate = BuilderPackageUtilities.LoadAssetAtPath <VisualTreeAsset>(BuilderConstants.UIBuilderPackagePath + "/Builder.uxml"); // Load templates. builderTemplate.CloneTree(root); // Create overlay painter. m_HighlightOverlayPainter = new HighlightOverlayPainter(); // Fetch the tooltip previews. var styleSheetsPaneTooltipPreview = root.Q <BuilderTooltipPreview>("stylesheets-pane-tooltip-preview"); var libraryTooltipPreview = root.Q <BuilderTooltipPreview>("library-tooltip-preview"); // Create selection. m_Selection = new BuilderSelection(root, this); // Create Element Context Menu Manipulator var contextMenuManipulator = new BuilderElementContextMenu(this, selection); // Create viewport first. m_Viewport = new BuilderViewport(this, selection, contextMenuManipulator); selection.documentRootElement = m_Viewport.documentRootElement; var overlayHelper = viewport.Q <OverlayPainterHelperElement>(); overlayHelper.painter = m_HighlightOverlayPainter; // Create the rest of the panes. var classDragger = new BuilderClassDragger(this, root, selection, m_Viewport, m_Viewport.parentTracker); var styleSheetsDragger = new BuilderStyleSheetsDragger(this, root, selection); var styleSheetsPane = new BuilderStyleSheets(this, m_Viewport, selection, classDragger, styleSheetsDragger, m_HighlightOverlayPainter, styleSheetsPaneTooltipPreview); var hierarchyDragger = new BuilderHierarchyDragger(this, root, selection, m_Viewport, m_Viewport.parentTracker) { builderStylesheetRoot = styleSheetsPane.container }; m_Hierarchy = new BuilderHierarchy(this, m_Viewport, selection, classDragger, hierarchyDragger, contextMenuManipulator, m_HighlightOverlayPainter); var libraryDragger = new BuilderLibraryDragger(this, root, selection, m_Viewport, m_Viewport.parentTracker, hierarchy.container, libraryTooltipPreview) { builderStylesheetRoot = styleSheetsPane.container }; m_Viewport.viewportDragger.builderHierarchyRoot = hierarchy.container; m_Library = new BuilderLibrary(this, m_Viewport, selection, libraryDragger, libraryTooltipPreview); m_Inspector = new BuilderInspector(this, selection, m_HighlightOverlayPainter); m_Toolbar = new BuilderToolbar(this, selection, m_Viewport, hierarchy, m_Library, m_Inspector, libraryTooltipPreview); m_UxmlPreview = new BuilderUxmlPreview(this); m_UssPreview = new BuilderUssPreview(this, selection); root.Q("viewport").Add(m_Viewport); m_Viewport.toolbar.Add(m_Toolbar); root.Q("library").Add(m_Library); root.Q("style-sheets").Add(styleSheetsPane); root.Q("hierarchy").Add(hierarchy); root.Q("uxml-preview").Add(m_UxmlPreview); root.Q("uss-preview").Add(m_UssPreview); root.Q("inspector").Add(m_Inspector); // Init selection. selection.AssignNotifiers(new IBuilderSelectionNotifier[] { document, m_Viewport, styleSheetsPane, hierarchy, m_Inspector, m_Library, m_UxmlPreview, m_UssPreview, m_Toolbar, m_Viewport.parentTracker, m_Viewport.resizer, m_Viewport.mover, m_Viewport.anchorer, m_Viewport.selectionIndicator }); // Command Handler commandHandler.RegisterPane(styleSheetsPane); commandHandler.RegisterPane(hierarchy); commandHandler.RegisterPane(m_Viewport); commandHandler.RegisterToolbar(m_Toolbar); m_MiddleSplitView = rootVisualElement.Q <TwoPaneSplitView>("middle-column"); m_MiddleSplitView.RegisterCallback <GeometryChangedEvent>(OnFirstDisplay); OnEnableAfterAllSerialization(); }
public override void CreateUI() { var root = rootVisualElement; // Load assets. var builderTemplate = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(BuilderConstants.UIBuilderPackagePath + "/Builder.uxml"); var saveDialogTemplate = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>(BuilderConstants.UIBuilderPackagePath + "/BuilderSaveDialog.uxml"); // Load templates. builderTemplate.CloneTree(root); saveDialogTemplate.CloneTree(root); // Create overlay painter. m_HighlightOverlayPainter = new HighlightOverlayPainter(); // Fetch the save dialog. var dialog = root.Q <ModalPopup>("save-dialog"); // Fetch the tooltip previews. var styleSheetsPaneTooltipPreview = root.Q <BuilderTooltipPreview>("stylesheets-pane-tooltip-preview"); var libraryTooltipPreview = root.Q <BuilderTooltipPreview>("library-tooltip-preview"); // Create selection. m_Selection = new BuilderSelection(root, this); // Create Element Context Menu Manipulator var contextMenuManipulator = new BuilderElementContextMenu(this, selection); // Create viewport first. m_Viewport = new BuilderViewport(this, selection, contextMenuManipulator); selection.documentElement = m_Viewport.documentElement; var overlayHelper = viewport.Q <OverlayPainterHelperElement>(); overlayHelper.painter = m_HighlightOverlayPainter; // Create the rest of the panes. var classDragger = new BuilderClassDragger(this, root, selection, m_Viewport, m_Viewport.parentTracker); var hierarchyDragger = new BuilderHierarchyDragger(this, root, selection, m_Viewport, m_Viewport.parentTracker); var styleSheetsPane = new BuilderStyleSheets(m_Viewport, selection, classDragger, hierarchyDragger, contextMenuManipulator, m_HighlightOverlayPainter, styleSheetsPaneTooltipPreview); var hierarchy = new BuilderHierarchy(m_Viewport, selection, classDragger, hierarchyDragger, contextMenuManipulator, m_HighlightOverlayPainter); var libraryDragger = new BuilderLibraryDragger(this, root, selection, m_Viewport, m_Viewport.parentTracker, hierarchy.container, libraryTooltipPreview); m_Library = new BuilderLibrary(this, m_Viewport, selection, libraryDragger, libraryTooltipPreview); m_Inspector = new BuilderInspector(this, selection); m_Toolbar = new BuilderToolbar(this, selection, dialog, m_Viewport, hierarchy, m_Library, m_Inspector, libraryTooltipPreview); m_UxmlPreview = new BuilderUxmlPreview(this); m_UssPreview = new BuilderUssPreview(this); root.Q("viewport").Add(m_Viewport); m_Viewport.toolbar.Add(m_Toolbar); root.Q("library").Add(m_Library); root.Q("style-sheets").Add(styleSheetsPane); root.Q("hierarchy").Add(hierarchy); root.Q("uxml-preview").Add(m_UxmlPreview); root.Q("uss-preview").Add(m_UssPreview); root.Q("inspector").Add(m_Inspector); // Init selection. selection.AssignNotifiers(new IBuilderSelectionNotifier[] { document, m_Viewport, styleSheetsPane, hierarchy, m_Inspector, m_UxmlPreview, m_UssPreview, m_Viewport.parentTracker, m_Viewport.resizer, m_Viewport.mover, m_Viewport.anchorer }); // Command Handler commandHandler.RegisterPane(styleSheetsPane); commandHandler.RegisterPane(hierarchy); commandHandler.RegisterPane(m_Viewport); commandHandler.RegisterToolbar(m_Toolbar); OnEnableAfterAllSerialization(); }