示例#1
0
 private void Cancel()
 {
     ClassName      = null;
     Namespace      = null;
     ScriptTemplate = null;
     Result         = Stride.Core.Presentation.Services.DialogResult.Cancel;
     Close();
 }
示例#2
0
        protected virtual async Task <IEnumerable <UFile> > BrowseForSourceFiles(TemplateAssetDescription description, bool allowMultiSelection)
        {
            var extensions = description.GetSupportedExtensions();
            var result     = await BrowseForFiles(extensions, true, allowMultiSelection, InternalSettings.FileDialogLastImportDirectory.GetValue());

            if (result != null)
            {
                var list = result.ToList();
                InternalSettings.FileDialogLastImportDirectory.SetValue(list.First());
                InternalSettings.Save();
                return(list);
            }
            return(null);
        }
        protected override async Task <IEnumerable <UFile> > BrowseForSourceFiles(TemplateAssetDescription description, bool allowMultiSelection)
        {
            var assetType     = description.GetAssetType();
            var assetTypeName = TypeDescriptorFactory.Default.AttributeRegistry.GetAttribute <DisplayAttribute>(assetType)?.Name ?? assetType.Name;
            var extensions    = new FileExtensionCollection($"Source files for {assetTypeName}", TextureImporter.FileExtensions);
            var result        = await BrowseForFiles(extensions, allowMultiSelection, true, InternalSettings.FileDialogLastImportDirectory.GetValue());

            if (result != null)
            {
                var list = result.ToList();
                InternalSettings.FileDialogLastImportDirectory.SetValue(list.First());
                InternalSettings.Save();
                return(list);
            }
            return(null);
        }
示例#4
0
        private async void Validate()
        {
            ClassName      = Utilities.BuildValidClassName(ClassNameTextBox.Text, ReservedNames);
            Namespace      = Utilities.BuildValidNamespaceName(NamespaceTextBox.Text, ReservedNames);
            ScriptTemplate = enableTemplateSelect ? TemplateComboBox.SelectedValue as TemplateAssetDescription : defaultScriptTemplate;

            if (string.IsNullOrWhiteSpace(ClassName) || string.IsNullOrWhiteSpace(Namespace))
            {
                await services.Get <IDialogService>().MessageBox(Tr._p("Message", "The names you entered are invalid or empty."), MessageBoxButton.OK, MessageBoxImage.Information);

                return;
            }

            Result = Stride.Core.Presentation.Services.DialogResult.Ok;
            Close();
        }
示例#5
0
        public ScriptNameWindow(string defaultClassName, string defaultNamespace, TemplateAssetDescription defaultScriptTemplate, bool enableTemplateSelect, IEnumerable <TemplateAssetDescription> scriptTemplates)
        {
            var dispatcher = new DispatcherService(Dispatcher);

            services = new ViewModelServiceProvider(new object[] { dispatcher, new DialogService(dispatcher, EditorViewModel.Instance.EditorName) });
            InitializeComponent();
            ClassNameTextBox.Text = defaultClassName;
            NamespaceTextBox.Text = defaultNamespace;

            TemplateComboBox.Visibility = enableTemplateSelect ? Visibility.Visible : Visibility.Collapsed;
            if (enableTemplateSelect)
            {
                TemplateComboBox.ItemsSource   = scriptTemplates;
                TemplateComboBox.SelectedValue = defaultScriptTemplate;
            }

            this.enableTemplateSelect  = enableTemplateSelect;
            this.defaultScriptTemplate = defaultScriptTemplate;
        }