public bool NewDocument(bool checkForUnsavedChanges = true, bool unloadAllSubdocuments = true) { if (checkForUnsavedChanges && !document.CheckForUnsavedChanges()) { return(false); } if (unloadAllSubdocuments) { document.GoToRootDocument(m_Viewport.documentRootElement, m_PaneWindow, true); } m_Selection.ClearSelection(null); document.NewDocument(m_Viewport.documentRootElement); m_Viewport.ResetView(); m_Inspector?.canvasInspector.Refresh(); m_Selection.NotifyOfHierarchyChange(document); m_Selection.NotifyOfStylingChange(document); m_Library?.ResetCurrentlyLoadedUxmlStyles(); SetCanvasTitle(); return(true); }
void NewDocument() { if (!document.CheckForUnsavedChanges()) { return; } m_Selection.ClearSelection(null); document.NewDocument(m_Viewport.documentElement); m_Viewport.ResetView(); m_Inspector?.canvasInspector.Refresh(); m_Selection.NotifyOfHierarchyChange(document); m_Selection.NotifyOfStylingChange(document); m_Library?.ResetCurrentlyLoadedUxmlStyles(); SetViewportSubTitle(); }
public BuilderToolbar( BuilderPaneWindow paneWindow, BuilderSelection selection, ModalPopup saveDialog, BuilderViewport viewport, BuilderExplorer explorer, BuilderLibrary library, BuilderInspector inspector, BuilderTooltipPreview tooltipPreview) { m_PaneWindow = paneWindow; m_Selection = selection; m_SaveDialog = saveDialog; m_Viewport = viewport; m_Explorer = explorer; m_Library = library; m_Inspector = inspector; m_TooltipPreview = tooltipPreview; // Query the UI m_SaveDialogUxmlPathField = m_SaveDialog.Q <TextField>("save-dialog-uxml-path"); m_SaveDialogUxmlLocationButton = m_SaveDialog.Q <Button>("save-dialog-uxml-location-button"); m_SaveDialogUssPathField = m_SaveDialog.Q <TextField>("save-dialog-uss-path"); m_SaveDialogUssLocationButton = m_SaveDialog.Q <Button>("save-dialog-uss-location-button"); m_SaveDialogSaveButton = m_SaveDialog.Q <Button>("save-dialog-save-button"); m_SaveDialogCancelButton = m_SaveDialog.Q <Button>("save-dialog-cancel-button"); m_SaveDialogTitleLabel = m_SaveDialog.Q <Label>("title"); m_SaveDialogUxmlPathField.RegisterValueChangedCallback(OnUxmlPathFieldChange); m_SaveDialogUssPathField.RegisterValueChangedCallback(OnUssPathFieldChange); m_SaveDialogSaveButton.clickable.clicked += SaveDocument; m_SaveDialogCancelButton.clickable.clicked += m_SaveDialog.Hide; m_SaveDialogUxmlLocationButton.clickable.clicked += OnUxmlLocationButtonClick; m_SaveDialogUssLocationButton.clickable.clicked += OnUssLocationButtonClick; var saveDialogValidationBoxContainer = m_SaveDialog.Q("save-dialog-validation-box"); m_SaveDialogValidationBox = new IMGUIContainer(DrawSaveDialogValidationMessage); m_SaveDialogValidationBox.style.overflow = Overflow.Hidden; saveDialogValidationBoxContainer.Add(m_SaveDialogValidationBox); var template = AssetDatabase.LoadAssetAtPath <VisualTreeAsset>( BuilderConstants.UIBuilderPackagePath + "/BuilderToolbar.uxml"); template.CloneTree(this); // File Menu m_FileMenu = this.Q <ToolbarMenu>("file-menu"); SetUpFileMenu(); // Zoom Menu m_ZoomMenu = this.Q <ToolbarMenu>("zoom-menu"); SetUpZoomMenu(); // Reset button m_ResetButton = this.Q <ToolbarButton>("reset-button"); m_ResetButton.clickable.clicked += () => m_Viewport.ResetView(); // Fit canvas m_FitCanvasButton = this.Q <ToolbarButton>("fit-canvas-button"); m_FitCanvasButton.clickable.clicked += () => m_Viewport.FitCanvas(); // Preview Button var previewButton = this.Q <ToolbarToggle>("preview-button"); previewButton.RegisterValueChangedCallback(TogglePreviewMode); m_CanvasThemeMenu = this.Q <ToolbarMenu>("canvas-theme-menu"); SetUpCanvasThemeMenu(); ChangeCanvasTheme(document.currentCanvasTheme); UpdateCanvasThemeMenuStatus(); // Track unsaved changes state change. document.unsavedChangesStateChanged = SetViewportSubTitle; SetViewportSubTitle(); // Get Builder package version. var packageInfo = PackageInfo.FindForAssetPath("Packages/" + BuilderConstants.BuilderPackageName); if (packageInfo == null) { m_BuilderPackageVersion = null; } else { m_BuilderPackageVersion = packageInfo.version; } RegisterCallback <AttachToPanelEvent>(RegisterCallbacks); }